5 принципов тайм-менеджмента для программиста

У востребованного разработчика, создающего серьезные веб-сервисы и приложения, вечно нет времени: постоянная угроза дедлайна. Некогда вернуться и реорганизовать слегка уродливый кусок кода, протестировать все функции созданного проекта. Некогда написать комментарии для нового программиста, который будет недоумевать по поводу запутанных циклов вашего кода. Если вы не торопитесь, прочтите эту статью – и у вас появится много времени для улучшения качества своей работы, – обещает Bill Sourour, Founder at Dev Mastery, переводит EVO.business

разработчики
Фото: letnews.ru
1

Не нужно изучать каждую новую возможность

«Старая вещь мертва. Да здравствует новая вещь!». Это неправильный подход. Моя лента dev-блогов и форумов обновляется, в среднем, каждые 37 секунд новыми идеями, технологиями и подходами по разработке кода. Однако очень многие из них никогда не обретут настоящую «тягу», а потому незачем изучать их.

Вы удивитесь, насколько больше времени у вас появится, когда вы перестанете изучать по вашей профессии блоги, форумы, СМИ, работу горстки мелких стартапов и релизы мелких конкурентов

Вместо узнавания профессиональных новостей, чтобы ваша карьера программиста осталась в безопасности и вы не упустили развитие рынка – сосредоточьте свое саморазвитие на трех сферах, в следующем порядке:

  • Укрепляйте свой фундамент. Углубление основного вашего навыка будет десятикратно эффективнее, чем знакомство с совершенно новым навыком. Проще совершенствовать то, с чем вы больше всего работаете. Например, если вы «глубоко сидите» в JavaScript – работайте над увеличением скорости создания кода. Если вы специалист по объектно-ориентированному программированию на одном языке, осваивайте новые объектно-ориентированные языки. Приоритетом должно быть максимальное углубление узкой специализации, а совсем не расширение специализаций и превращение в мастера на все руки (Прим. пер.: если словами Козьмы Пруткова, то «зри в корень», а «не пытайся объять необъятное»).
  • Следите за последней версией того инструмента, который больше всего используете. Если обновился инструмент, который обычно «ставит на стол еду» для вас и вашей семьи – инвестируйте очень много времени, чтобы основательно «потрогать» все новые нюансы этого инструмента.
  • Следите за новинками нескольких лидеров рынка. Если большая задающая мировые тренды компания – Google, Facebook, Microsoft, Adobe и им почти соответствующие по уровню – выпускает что-то новое, это тоже стоит детально изучать. Остальные cотни компаний в вашей сфере, в основном, создают «белый шум в каналах связи»: их новинки можете смело игнорировать или изучать по остаточному принципу, расслабленно. Я не говорю, что невозможно появление разработчиков-гениев, которые придут из ниоткуда и создадут мировой тренд – но я уверен, что не стоит ожидание такого исключения делать для себя правилом
Время для обучения по этим трем направлениям должно быть частью вашего ежедневного рабочего графика

Такого времени не должно быть много: даже 25 минут ежедневного чтения и экспериментов очень быстро увеличат ваши профессиональные навыки.

2

Написание хорошего кода в итоге займет меньше времени, чем отладка плохого кода

Писать неторопливо сразу хороший код – это инвестиция времени в то, что вам не понадобится многократная отладка функций и рефакторинг после написания плохого кода (такое «допиливание» обычно занимает намного больше времени, чем написание сразу хорошего кода).

Когда вы начинаете понимать ваше время как подобную инвестицию, вы немедленно обнаруживаете, что это вложение – выгодно

При этом есть две идеи, при помощи которых вы можете сократить количество ошибок в коде и улучшить дизайн и юзабилити:

  • Используйте тест-драйвовую схему разработки. Напишите вначале тест, а затем пишите свой код, результат которого можно проверить этим тестом. И тестируйте результат как можно чаще. Это не только приводит к меньшему количеству багов, но и улучшает вид кода – поскольку вам приходится структурировать код в тестабельный вашим тестом вид, вы, в конечном итоге, делаете более простые функции, которые имеют меньше зависимостей.
  • Используйте итеративный подход к разработке. Не тратьте время, пытаясь сделать код совершенным, прежде чем код начнет работать. Всё равно вы никогда не представите будущий сервис или сайт целиком в голове. Сделайте минимум, который уже работает – и только затем его дорабатывайте.
3

Работа 24/7 не сделает вас героем. Точное соответствие обещаниям – сделает

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

Это невероятно трудно, на первый взгляд – ведь иногда это означает необходимость отказаться от дополнительного заработка и всегда означает необходимость говорить «нет»

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

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

4

Не всякое время, потраченное на отладку кода, имеет одинаковую окупаемость

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

И не тратьте время, переписывая хорошо структурированный работающий код только потому, что вы внезапно узнали новый изящный метод или подход для этой же функции
5

Запланированное время простоя (scheduled down time) делает вас продуктивнее

Элисон Гэйбриэл, Университет Вирджинии, изучающая вопросы мотивации работников, отметила: «Существует много исследований, доказавших, что наш мозг имеет ограниченный, хоть и восстанавливаемый со временем пул ресурсов восприятия действительности. Когда вы постоянно истощаете эти ресурсы до дна, вы перестаете быть продуктивным работником. Усталость мозга резко снижает производительность и создает человеку массу проблем при решении поставленных задач».

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

Это поможет легче переносить работу: вы, как тот школьник на уроке, будете помнить – и со временем уже радостно предвкушать – что у вас есть регулярные «перемены», одна из которых вот-вот уже скоро наступит

Так что сохраняйте эту статью в закладки – и бегите отдохнуть от интернета пять-десять минут – прямо сейчас!

Оригинал: freecodecamp.com