21 заметка с тегом

мысли вслух

Сложно, просто, трудно, легко

Памятка

Сложно — состоит из множества частей. Аналог английского complex.
Просто — состоит из много меньшего количества вещей, чем сложный объект simple.
Трудно — требует наличие дополнительных навыков или опыта difficult.
Легко — требует меньше дополнительных навыков или опыта easy.

Даже опытные путают простые, понятные вещи с легкими. Чтобы не перепутать, нужно думать о задаче как человек без опыта.

Опыт, know-how — знание, упрощенный алгоритм, представление о явлении или действии. Зачастую появляется как результат анализа как ошибок, так и успехов (анализ ошибок проводится далеко не всеми).

Комплексы простых вещей превращаются в трудные.

2015   мысли вслух
2015   мысли вслух   хак

Как улучшить себя как программиста

Думай категориями издержек и прибыли.

Тебя делает лучше все то, что позволяет более эффективно (с меньшими издержками) достигать результата.

Под издержками я подразумеваю любые затрачиваемые ресурсы (время, деньги, люди) в широком смысле, ресурсы тратящиеся не только тобой лично, но и бизнесом, на который ты работаешь, и бизнесом, который взаимодействует с твоим работодателем.

Сравнение техник, новых и старых библиотек, фреймверков, подходов к организации команды сводится к центральной объективной характеристике: количество издержек. Богатство советов программистам является частными проявлениями урезания издержек. Например статьи о программистах, решающих задачу, не написав ни единой строки кода есть ничто иное, как получение результата и урезание издержек. Единообразие кода, качественное форматирование позволяет сохранить время команде при чтении кода. Использование системы контроля версий уменьшает издержки на координацию работы в команде.

Автоматизировать все что можно автоматизировать — частное проявление урезания издержек в виде человеческого участия и внимания задачам, которые можно автоматизировать.

Модульный подход к архитектуре, использование фреймверков — это все инструменты для урезания издержек.

Как принимать решение:

Оценить соотношение издержек и прибыли рассматриваемых вариантов решения.

Прелесть подхода заключается в его универсальности: даже не имея опыта в программировании, можно выдвигать предположения исходя из чужого опыта, подчерпнутого в блогах и на конференциях. С опытом, более полной картиной мира можно принимать более выгодные решения.

2015   мысли вслух   обучение

Почему серебряной пули нет

Потому что если бы она была, ей бы уже все воспользовались, и все бы получили одинаковое преимущество, оказавшись в итоге с одинаковой ситуации когда серебряной пули нет.

2015   мысли вслух

Не замечаешь пока работает

Внимание программиста не обращается на то, что уже работает, и что он считает само собой разумеющимся. При этом чем меньше программист смотрит по сторонам на соседние технологии, Фреймворки, библиотеки, тем меньше вероятность, что он поймет недостатки того решения, которое он использует сегодня. Немалую роль играет неумение отличить привычное от понятного (понятное может быть привычным, но сложным в освоении).

Сознание не концентрирует внимание на то, что работает, пока работающая схема не ломается. Сознание различает только негативные сигналы, пропуская позитивные. Пока изменения в приложении даются просто, внимание не обращается на удобство и удачный подход к проектированию. Только при трудностях начинаешь осознавать неудачность решения.

Удачность решения можно оценить только когда поймешь сколько ресурсов надо было бы потратить, если бы решение оказалось иным. Только опыт позволит отличить удачное решение от неудачного.

2015   мысли вслух   наблюдение
Ctrl + ↓ Ранее