Полезная привычка: зачем разработчику вести дневник
«Стоит ли программисту вести дневник?» — для разработчика программного обеспечения Джеймса Лью это риторический вопрос. По его мнению, этой полезной рабочей практики должен придерживаться каждый разработчик. О преимуществах ведения дневника специалист рассказал в своем блоге.
Как часто вы прогоняете каждый шаг задачи в уме? Думаете о том, что нужно разработать новый класс? Как часто сидите перед пустым файлом класса, размышляя о том, какие переменные и методы ему понадобятся?
Это мелкие задачи, но иногда бывает нужно заняться чем-то сложным, тогда и пригодится дневник. Он дает место для конкретной проработки мыслей (например, шагов алгоритма, процесса проектирования или чего-то еще). Дневник позволяет видеть перед собой все, что нужно сделать. Это не только позволяет избежать ошибок или что-то не забыть, но и поможет закрепить нужные концепции в сознании.
Вышеупомянутый процесс «разгрузки мыслей» важнее, чем кажется. Оказывается, простой акт записи задачи/проблемы/мысли может освободить разум и помочь сконцентрироваться на чем-то другом.
Например, «выгрузка» информации о недавно разработанном алгоритме в дневник поможет сосредоточиться на других задачах, не забивая ячейки памяти мозга на то, чтобы хранить в них не нужную сейчас информацию.
Дневник также заставляет остановиться и подумать. Заманчиво поспешить с реализацией, и иногда игра стоит свеч, но лучше обдумать решение до того, как написать хотя бы одну строчку кода. Один час планирования может предотвратить многочасовую отладку.
Это, вероятно, главное преимущество ведения дневника, особенно для начинающих разработчиков. Самое трудное в работе новичка — в том, что ты иногда не замечаешь собственный прогресс и не чувствуешь, что движешься вперед. Но каждая запись в журнале представляет собой конкретное достижение. Видеть прогресс приятно, а это бесценно в процессе обучения.
Это полезно и для поддержания мотивации в долгосрочных проектах, поскольку дневник служит объективным напоминанием о том, как далеко разработчик или команда продвинулись. Если покажется, что вы стоите на месте, дневник скажет об обратном, и это может стать отличной мотивацией для дальнейшего движения.
Всегда датируйте свои записи. Еще лучше, если приложение для ведения заметок может делать это автоматически.
Если обнаружили сложную ошибку или непонятный алгоритм, напишите об этом. Начните с описания, времени возникновения и списка возможных причин. Если можете воспроизвести ошибку, опишите процесс пошагово. Иногда сам факт изложения таких вещей может привести к решению.
По мере решения проблем записывайте и попытки их устранения. Если решение работает — отлично! Если нет — запишите, почему оно не сработало. Если решение неоптимально, укажите его недостатки, чтобы впоследствии можно было провести нужные итерации.
Такой методичный подход к исправлению ошибок очень полезен, особенно для новичков.
Ведите список побед. Алгоритм наконец-то заработал? Или, может быть, пятидневный поиск ошибки наконец-то окупился? Напишите об этом. Позже, когда почувствуете себя глупым или непродуктивным, сможете посмотреть на список успехов и увидеть все, чего добились
Это вроде бы простой метод, но результативный. Например, он помогает победить выгорание. По мере того, как «зал успехов» становится длиннее, он становится все более мощным напоминанием о навыках и прогрессе разработчика.
Баг-трекер больше подходит для мониторинга текущих дел и ошибок, а дневник может стать отличным средством для записи концепций, алгоритмов, вопросов и тем, на изучение которых нет времени сейчас, но есть желание изучить позже.
А это уже не столько о программировании, сколько о вашем будущем как программиста. Где хотите оказаться в конечном итоге? Как сегодняшняя сессия или проект этого года продвинули вас к этой цели? Или отбросили назад? Такие записи могут стать отличным средством для того, чтобы заново сосредоточиться на себе и своем направлении.
После каждой сессии бывает приятно подвести итог всех выполненных задач и подумать о том, какие знания получены. Также следует проанализировать все основные этапы текущего проекта и извлечь из этого уроки.
Сейчас автор не ведет дневник, но перечитывание старых записей помогает ему вспомнить о том, как он вырос с момента их написания. Вместо этого он теперь ведет блог, который, по его словам, в какой-то степени стал своеобразной формой дневника. Где фиксировать свои достижения — решать вам. Кому что удобнее.
Попались!
Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…
Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…
Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…
В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…
Скрипт (англ. — сценарий), — это небольшая программа, как правило, для веб-интерфейса, выполняющая определенную задачу.…
Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…