Как снова полюбить кодить — отвечают эксперты

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

«В университете я обожал кодить. Теперь, когда мне приходится программировать по 12-16 часов в день, это превратилось в рутину и не приносит удовольствия. Как вернуть былой запал?»

За разъяснениями мы обратились к нашим экспертам, а полученные ответы предоставляем вашему вниманию.

Тимур Нозадзе

Тимур Нозадзе, руководитель отдела разработки REG.RU

Совет первый: не программировать по 12-16 часов в день. В таком режиме любая даже самая интересная и приятная деятельность перестанет приносить удовольствие и превратится в стресс, и нет никакого магического трюка, который помог бы этого избежать.

Совет второй: разнообразить свою работу. Если чувствуете, что задачи каждый день одни и те же и решаются на уровне рефлексов — найдите, чем занять мозг: изучите новый язык или фреймворк, сделайте рефакторинг, автоматизируйте что-нибудь, заведите пет-проект. Или вообще сделайте шаг в сторону от программирования — пообщайтесь с пользователями или займитесь аналитикой, например. Даже час в день на задачах, которые формируют в вашем мозгу новые нейронные связи, позволит поддерживать себя в тонусе и хорошем настроении. Если не удаётся делать это в рабочее время — делайте в личное (параллельно размышляя о том, как найти работу, где такая возможность будет).

Совет третий, самый главный: заниматься не программированием, а решением задач. Написать код по чёткому ТЗ или поиграться с новыми технологиями может быть интересно для неофита, но любые игрушки быстро надоедают. Если же вы понимаете, что вы делаете, для чего, почему именно так, видите, как результат вашей работы влияет на жизнь других людей, и чувствуете своё влияние на этот процесс — возникают совсем другие эмоции, которые вряд ли когда-нибудь закончатся.

Дмитрий Гацура

Дмитрий Гацура, руководитель отдела разработки компании «СёрчИнформ»

По моему опыту, запал появляется, если начинаешь заниматься интересным делом, чем-то новым. Отсюда и ответ. И тут в первую очередь должны помочь руководители: подкинуть новые задачи, тему на изучение и т.п.

Игорь Камышев

Игорь Камышев, эксперт образовательного курса «Веб-разработчик» университета онлайн-профессий «Нетология»

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

1) На работе обычно у вас есть несколько задач, которые нужно держать в голове. Никогда не занимайтесь этими задачами в личное время. Старайтесь заниматься одной задачей в определённое вами для неё рабочее время. Когда я почувствовал «откат» в мотивации работать, я начал использовать технику по тайм-менеджменту под названием Pomodoro. Она основана на переключении вашего внимания (мозга) между отрезками времени, которое вы выделяете на работу и на отдых. Метод эффективен, если вы не думаете о работе во время отдыха и наоборот.

2) Постоянно пробуйте новое. Если у вас есть возможность, выбирайте проекты, в которых вам удастся попробовать что-то новое: язык, библиотеку или фреймворк. Такая практика позволит вам не только непрерывно обогащать собственное профессиональное портфолио, но и пойдет на пользу рабочим проектам, у вас остается меньше шансов пропустить перспективную технологию. Но не забывайте, что нужно с осторожностью подходить к внедрению нового, сначала оценив надежность и стабильность инновационной технологии, и только после этого внедрять в боевой продукт.

3) Развивайтесь. Чем больше вы узнаете, тем отчетливее понимаете, как мало знаете. Зачем программировать столь рьяно, если это не принесет новых знаний? Такие мысли нужно гнать прочь и каждый день расширять свою экспертизу. Я составил план с книгами, докладами и онлайн-курсами, которые планирую пройти. Каждую неделю пересматриваю список и стараюсь двигаться по нему. Подписался на интересных мне людей в Telegram. Кроме того, стал регулярно участвовать в хакатонах (офлайн и онлайн), чтобы держать себя в тонусе.

Благодаря этим принципам уже год я снова с удовольствием программирую.

Юрий Ефимов

Юрий Ефимов, руководитель отдела развития сети Voximplant

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

Наталья Глаголева

Наталья Глаголева, HR-специалист Voximplant

Налицо дикие переработки, а они всегда ведут к выгоранию. Взрослый человек должен понимать значение здорового баланса в жизни.
— Необходимо ограничивать время работы;
— Переключайтесь на другую деятельность, не связанную с монитором (любым);
— Старайтесь спать 7-9 часов. Есть множество исследований на тему сна менее 6 часов;
— Включите в режим физическую нагрузку;
— Для избежания гипоксии ходите по улице (в идеале в парках) быстрым шагом не менее 40 минут.

Если все эти меры не помогают, стоит поискать другой проект, который будет более интересным. Может быть, даже поискать компанию, где будет классная и вдохновляющая вас команда.

А ещё очень важно помимо работы увлекаться чем-то, что не только расслабляет, но и заряжает энергией, будь то театр, спорт, литература или ещё что-то.

Олег Аэров

Олег Аэров, управляющий директор департамента «Технологии» компании Accenture

В таких ситуациях спасает разнообразие проектов, которые реализует компания, где трудятся разработчики.

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

Важный момент — это профиль компании. Организации, в которых разработка играет важную роль, инвестируют в инновации и в то, как, собственно, избежать рутинную работу! Несколько примеров: работа по Agile уже получила широкое распространение. Применение DevOps там, где возможно значительно снижает рутину (однако требует технологическую платформу) и улучшает time-to-market. Системы авто-тестирования — ещё один аргумент. Новые форматы проектной работы (Liquid Studio в Accenture) дает возможность быстро создать и продемонстрировать прототип — это интересно и высоко ценится клиентами. Геймификация… Можно много продолжать! Есть компании, которые занимаются разработкой не только профессионально, но и инновационно.

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

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

Игорь Беляк

Игорь Беляк, TeamLead команды разработки интеллектуальных решений DIRECTUM

В каждой сфере любое занятие рано или поздно превращается в рутину. И разработка ПО не исключение.

Но что было вначале? Вначале был вызов, новый опыт и задачи: можно написать свою операционку, можно перевернуть мир! Постепенно это всё угасает и кажется, что результаты твоей работы никому не нужны. Максимум преподаватель проверит, и больше никто не увидит крутое приложение, которое ты писал все выходные. Работа в стол не нравится никому. Да, у программистов бывают приступы безудержного кодинга, но вопрос зачем перевешивает желание решить очередную задачу. У кого-то это происходит раньше, а кто-то борется до последнего.

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

Константин Сазонов

Константин Сазонов, IT Process Governance Lead компании TradingView

В самом вопросе читается сразу несколько проблем:
— Приходится программировать;
— Программировать по 12-16 часов в день;
— Программирование не приносит удовольствия.

Первая проблема — это вопрос выбора деятельности. Нужно четко понимать, чего хочется добиться в карьере, чем заниматься. Любимое дело обычно сколько бы времени ни ело — всё не надоедает, только подпитывает фанатичность. Советую посмотреть смежные направления, попереключаться с роли на роль (хотя бы в pet-проектах). Среди смежных ролей я выделяю: фронтенд разработка, бэкенд разработка, дизайн, мобильная разработка, анализ данных, веб-аналитика, информационная безопасность. Рынок IT говорит о том, что, в первую очередь, ценятся люди с Т-образной экспертизой. Например: фронтендер, который может сам нарисовать дизайн; бэкендер, владеющий навыками DevOps, знаниями в информационной безопасности (например, в penetration test) или умеющий делать нагрузочное тестирование. Лучший отдых — это смена деятельности. Если вторая деятельность пригодится на работе — еще и денег больше заработаете. Конечно, нужно понимать, что от распределения времени, потраченного на каждую роль у вас и профессиональные навыки будут пропорционально расти или не расти. Нужно найти золотую середину, не перебарщивать с количеством ролей, поддерживать диалог с профессионалами в каждой из выбранных сфер, отмечать для себя прогресс по каждой роли.

Если писать код по 12-16 часов в день это необходимость, то, скорее всего, вы либо делаете работу за кого-то еще, либо неправильно оцениваете задачи (оценили в 8 часов, оказалось нужно потратить 16, пытаемся успеть к дедлайну). Или просто недостаточно времени тратите на проектирование своего решения, поэтому приходится много переписывать. Если вы делаете работу за кого-то еще, попытайтесь убедить начальство нанять ещё одного разработчика, либо смените работу. Если речь про 8 рабочих часов плюс 6-8 часов на pet-проекты, тогда выберите pet-проект, который будет вам не в тягость. Если много переписываете — потратьте время на зарисовку диаграмм на листочке (data flow, диаграмма классов и т.д.). Если слишком много приходится дебажить — попробуйте писать код по TDD.

Если программирование перестало приносить удовольствие как активность, то можно попробовать несколько изменений:
а) Если работаете по kanban с бесконечным потоком задач — введите спринты. Не обязательно полностью все активности из scrum перенимать, выбирайте только необходимое. Спринты дадут чувство завершенности чего-то. Отсюда дофамин и удовольствие от работы.
б) Если не подошел предыдущий пункт и всё дело в монотонности рабочего дня — попробуйте методику POMODORO. Выбираем себе задачки на 25-40 минут, над которыми можно работать без перерыва не отвлекаясь. Решили на что-то отвлечься — записали на листочек, вернетесь к этому позже. Между итерациями по 5-10 минут отдыхайте. В том числе не забывайте пройтись размяться, проф болячки никто не отменял.
в) Помимо различных техник тайм-менеджмента важно помнить о том, что нужно правильно ставить цели. Определенный интерес могут вызывать челленджи. Посоревнуйтесь с коллегами, например, кто больше багов у другого в коде найдет просто на ревью. Вариаций много, азарт может помочь.
г) Если программировать стало совсем не кайф — пробуйте другие роли, описанные в самом начале.

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

Виктор Цветков

Виктор Цветков, software-архитектор, Райффайзенбанк

Мне в своё время помогла смена парадигмы. Долгое время я жил в рамках императивщины и ООП, а несколько лет назад переключился на функциональное программирование и язык Scala.

Это потребовало существенной перестройки образа мыслей и стало мощным личным вызовом. О скуке и рутине в таком сетапе и речи быть не может.

Если настолько радикальных изменений не хочется, можно поменять домен и точки приложения усилий с точки зрения бизнеса. Областей сейчас много, и новые продолжают появляться с высоким темпом. Геймдев, ML, BigData, IoT, финтех и еще много чего. Квалифицированных рук не хватает везде.

Напоминаем, что вы можете задать свой вопрос экспертам, а мы соберём на него ответы, если он окажется интересным. Вопросы, которые уже задавались, можно найти в списке выпусков рубрики. Если вы хотите присоединиться к числу экспертов и прислать ответ от вашей компании или лично от вас, то пишите на experts@tproger.ru, мы расскажем, как это сделать.

Подобрали три теста для вас:
— А здесь можно применить блокчейн?
Серверы для котиков: выберите лучшее решение для проекта и проверьте себя.
Сложный тест по C# — проверьте свои знания.

Также рекомендуем: