В какое резюме не загляни повсюду и видишь, легко обучаемых, стрессоустойчивых, целеустремленных и *еще куча других эпитетов* программистов. Вот только на мой субъективный взгляд, все это от лукавого, а главным качеством, которым должен обладать хороший программист является… лень.
Да, весьма неоднозначное заявление, но сразу следует заметить, что лень может быть двух типов: вредная лень, от которой нужно избавляться, и полезная лень, которая, по сути, является основным двигателем развития (как бы парадоксально это ни звучало).
Вредная лень
Бич человечества, с которым нужно неустанно бороться. Мне нравится другое название – прокрастинация. Это такое состояние человека, при котором он не делает ничего полезного, откладывает все дела и задачи на потом. А вместо этого занимается просиживанием штанов за каким-нибудь не сильно напрягающим мозг занятием (просмотр сериала, игра в компьютерные игры или даже чтение «пустой» литературы).
При этом основным двигающим фактором для человека является страх и сроки. Откладывать все до последнего момента, а потом херак-херак в продакшен – один из самых распространённых подходов к работе как в IT сфере, так и в любой другой. Вот только при таком подходе страдают, и нервы, и качество, и чаще всего сроки (потому что сложно успеть сделать все в последний момент).
Полезная лень
Если человек ленив в хорошем смысле этого слова, то он будет подходить к работе немного по-другому. Лучше потратить время сразу, сделать быстро и качественно, а сэкономленное время уже потратить как захочется. Или еще лучше не делать ничего вообще.
Зачем делать что-то самому, если за тебя это могут сделать другие? Вот это уже куда более правильный подход. И в IT сфере он применим, как ни где. Почему? Потому что у нас есть огромный плацдарм для автоматизации. Да, всегда можно пойти на крайние меры и отдавать все свои задачи на аутсорс в Китай, а самому смотреть видео с котиками, но далеко не факт, что это продлится долго.
Куда более правильным подходом может быть банальная концентрация на одной задаче + автоматизация рутинных действий. Именно про эти два, казалось бы, всем известных совета я и хочу поговорить.
Научись работать в «потоке»
Фокусируйся на одной задаче максимально обособившись от отвлекающих факторах. Убери телефон, закрой социальные сети, заткни уши наушниками и начинай работать только над одной задачей на протяжении часа (если успеешь раньше – хорошо). После часа работы сделай небольшой перерыв (5-15 минут) и приступай дальше. При переключении внимания ты уменьшаешь свою скорость работы на 40%. Да, в начале это достаточно сложно, но со временем привыкаешь. Лично я очень люблю писать код в «потоке» и если кто-то прерывает, то восстановить мысли становится очень сложно.
Автоматизируй рутину
Лучше потратить несколько дней, на автоматизацию 5 минутного действия, чем продолжать делать это вручную (при условии, что это действительно регулярное действие). Да, это кажется не правильным и больше похоже на прикол, но, к примеру, написав приложение, которое будет автоматически формировать данные для публикации на сайт, я сэкономил вагон времени. В каждой предметной области есть простые повторяющие действия, от которых можно освободиться. Сразу же вспоминается чудесная история про скрипты, почту и кофемашину.
А для нас программистом есть еще несколько советов по избавления от рутины:
Перестать изобретать велосипед. Повторно используйте свой или сторонний код. Это даже в шестую парадигму ООП вынесли.
Подготовьте шаблоны (сниппеты) кода. Вместо того, чтобы гуглить или вспоминать часто встречающиеся куски кода, можно подготовить шаблоны и вызывать их одной командой.
Некоторые IDE предоставляют возможность написание кода за вас. Например, в используемой мной Visual Studio 2017 Ultimate есть функция написания модульных тестов. Да, качество их оставляет желать лучшего, но это лучше, чем ничего. Точно также и Database First приложения с Entity Framework. Автоматическое создание контроллеров в MVC. Позвольте машине писать код за себя, а потом просто подправьте готовый результат. Это сэкономит уйму времени и сил.
Поэтому, ленись правильно. Как говорится работать нужно не 18 часов в сутки, а головой.
Ну и расскажи в комментариях какие подходы к автоматизации используешь ты? Мне и другим читателям будет очень интересно узнать твой опыт.
Большое спасибо за прочтение! Пожалуйста, поставьте лайк и подпишитесь на канал, чтобы не пропустить свежие статьи. Этим Вы очень поможете в развитии блога!
Также рекомендую прочитать статью Как распознать хорошего программиста?