Шрифт:
Закладка:
■ Если у вас не хватает времени на свой pet project, не расстраивайтесь, просто включите его в свое расписание заранее.
Задание
Составьте список из 5 или 10 технологий, языков программирования или сфер IT, которые вам хотелось бы узнать получше. Держите этот список под рукой, обновляя его, если необходимо. Когда вы почувствуете, что устаете от рабочего проекта, достаньте список, подумайте, что бы вы могли сделать, используя эти технологии, какой проект могли бы написать, к примеру, за выходные. Выделите себе немного времени после работы, чтобы составить план будущего проекта. Если вас начало затягивать, если вы чувствуете мотивацию – пробуйте!
История из жизни
Я уже не перечислю всех мини-проектов, которыми занимался многие годы, но мне запомнился один, ставший для меня отдушиной в череде очень сложных проектов, когда мне казалось, что я полностью заржавел. Я настолько устал от стека технологий и языков программирования, которые мы использовали, что мне нужна была «свежая кровь» – область, в которой я мало разбирался, то, что стало бы для меня испытанием. Я решил написать эмулятор CHIP8 на языке Rust. Да, я был вымотан и очень устал, но даже полчаса работы над этим маленьким проектом в день давали мне невероятное чувство радости, которое я помню до сих пор.
Аврал! Свистать всех наверх!
Почти в любом IT-проекте чередуются стадии спокойной, размеренной разработки и авральной, бешеной работы. Чаще всего количество и продолжительность таких стадий напрямую зависят от качества управления проектом, и в большинстве случаев вы никак не сможете на это повлиять. Если вы работаете в игровой индустрии, то я даже не буду объяснять, что такое crunch time, вы очень скоро познакомитесь с этим сами.
С логической точки зрения мы понимаем, что спокойная, размеренная работа – это то, к чему надо стремиться в разработке программных продуктов. Вдумчиво, последовательно, без спешки и с учетом требований. Однако реальность коммерческой разработки никогда такой не была и вряд ли станет. Конкуренты всегда будут дышать в спину вашего проекта, а пиар-отдел, продвигающий конкретную дату выхода продукта на рынок, не будет менять ее в процессе рекламной кампании. Да, авральная работа над проектом – зло, но чаще всего оно неизбежно, и вам, как профессионалу, надо быть к этому готовым.
Работая в экстренном режиме вместе с командой, вы сможете почувствовать необычайный прилив адреналина – ощущение, что работаете «на грани», чувство сплоченности в погоне за результатом. Это чувство напоминает охоту, где добыча – ускользающая цель. Такой целью может стать объявленная дата очередного релиза, запуск проекта для конкретного клиента или первый выход продукта на рынок. Иногда команде действительно надо сделать последний рывок, который даст жизнь проекту или откроет широкие возможности для его роста.
Переживание этой гонки, этой охоты может быть приятным, но вы должны помнить, что оно временно. На смену ему придут усталость, растерянность и нередко разочарование. Охота должна заканчиваться поимкой добычи, а если погоня длится и длится, значит, вы просто потерялись в лесу.
Другое свойство авральной работы – то, что, если практиковать ее часто, накапливается усталость, поначалу незаметная. В общей атмосфере близости дня икс вы не ощущаете проблемы, а тем временем усталость растет, ожидая момента, когда вы наконец сможете остаться наедине с собой. И тогда – хлоп! Она вас настигнет.
Авральная работа может привести к хронической усталости, к депрессии, но чаще всего она служит причиной профессионального выгорания. Помните об этой темной стороне: даже во время адреналиновых забегов перед новым релизом умейте остановиться и передохнуть.
Стоит упомянуть, что существуют компании с нездоровым (больным на всю голову) менеджментом. С начальством, которое считает, что авральная работа стимулирует сотрудников на большие достижения. В таких компаниях авралы создаются и поддерживаются искусственно, вынуждая сотрудников работать на износ, без отдыха, в непреходящем стрессе. Если вы поняли, что находитесь в такой компании, я искренне советую задуматься о смене работы. Да, какое-то время вы будете чувствовать адреналиновый подъем и мотивацию, но, поверьте, это вас сожрет. Постоянный стресс и работа на пределе возможностей не делают вас лучшим специалистом, они делают вас вымотанным невротиком.
Тезисы
■ В реальном мире разработка программного продукта редко бывает размеренной и спокойной.
■ Выброс адреналина от авральной работы может быть очень приятным, но это иллюзия.
■ Подъем сил и радость от «охоты» сменяются горечью и разочарованием.
■ Авральная работа – первый шаг к выгоранию и депрессии.
Задание
Когда на проекте в очередной раз случится внезапная, экстренная необходимость поработать в выходные или сверхурочно, попробуйте оценить, насколько это критично. Если вас ждет важный релиз или продукт должен вот-вот выйти на рынок, все понятно, вопросов нет. Однако если вы видите, что авралы случаются каждую неделю, а менеджеры продолжают рассказывать сказки о том, как важно добавить эти 13 новых функций в продукт именно сейчас или ВСЕ, КОНЕЦ, ПРОЕКТУ КОНЕЦ, – подумайте, насколько с вами честны.
История из жизни
К сожалению, я именно тот человек, которого будят в 4 утра из-за того, что рабочие сервера перестали отвечать. Не потому, что я хорошо разбираюсь в DevOps или мне придется их немедленно реанимировать (для этого разбудят администраторов), но мне нужно присутствовать, потому что это мои проекты, моя ответственность, мои решения. Рад ли я таким побудкам? Конечно, нет, однако их частота напрямую зависит от того, хорошо ли я делаю свою работу каждый день.
Свободное время
Если, придя в IT-индустрию, вы думаете, что всегда сможете работать по жесткому графику, подумайте еще раз. Я не хочу сказать, что в любой компании и на любой должности вам придется задерживаться в офисе, а иногда работать по ночам, но не могу сказать и обратного. Иногда вы искренне захотите потратить свободное время на работу – возможно, на новый проект или новую идею, которую планируете реализовать.
А теперь поговорим о вашем свободном времени. О его наличии или отсутствии. Шутки в сторону, у вас должно быть свободное время. Время, принадлежащее только вам. Время, не занятое основной работой, даже если вы любите рабочий проект как собственного ребенка (так бывает, да). Если, закончив работу, вы продолжаете думать о ней до начала следующего рабочего дня, это верный признак того, что вы попали в ловушку и нужно искать выход.
Многие разработчики пренебрегают свободным временем, полагаясь на адреналиновый раж, который возникает при работе над крупным проектом в сжатые сроки. Предпочитают потратить любое доступное время на то, чтобы сделать свой код лучше, стабильнее, написать новое решение. Я мог бы сказать, что это прямой путь к выгоранию, если бы сам не поступал так же бесчисленное количество раз.
И только поэтому я настаиваю, чтобы вы внимательно следили за тем, как тратите самый ценный ресурс. Да, вы не напишете этот алгоритм сегодня, да, вы не почините этот мерзкий гейзенбаг, который сводил вас с ума последнюю неделю, но вы сможете дать своим мозгам (своим прекрасным, вкусным мозгам) передохнуть. И эта короткая передышка поможет вам куда больше, чем бессонная ночь за монитором.
На что тратить свое свободное время, решать только вам. Постарайтесь радовать себя, насколько это возможно. Труд разработчика сложен, он требует огромного количества энергии и концентрации. Поэтому совершенно очевидно, что вашему мозгу (как и телу) нужно время, когда его не используют как загнанную лошадь на бесконечном поле, которое надо перепахать.
Справедливым будет сказать, что совершенно нормально, если в свободное время вы решите изучить что-то связанное с разработкой программного обеспечения. Not great, not terrible, просто постарайтесь честно ответить себе на вопрос: доставляет ли вам удовольствие то, как вы проводите свободное время, или в вас так много адреналина