Одной из самых больших проблем сегодня является проблема баланса и производительности. Многие из сегодняшних реалий считают программистов, чем-то похожим на станочников: чем больше ты проведешь времени на работе, тем больше работы будет сделано. К сожалению, это не работает. В статье Less stress, more productivity: why working fewer hours is better for you and your employer автор предлагает другой подход к работе и производительности.
У программиста всегда есть работа и её даже слишком много: слишком много фич нужно реализовать и ошибок исправить. Иногда вы просто не способны успеть сделать все: написать достаточное количество нового кода и исправить все невероятные баги, которые вам встретятся. И чтобы еще больше усугубить ситуацию, у вас будут назначены бесполезные митинги...
Как только ситуация станет действительно плачевной, то вы можете обнаружить себя в позиции догоняющего, который пишет код уже после окончания рабочего времени. Ещё шаг и вы уже начинаете отвечать на рабочие сообщения круглосуточно, даже если эти сообщения не требуют срочного ответа. Ещё немного и вы устанетесь и вымотаетесь, но работы почти столько же сколько ее и было.
Настоящее решение - это не работать еще больше и напряжённее, а даже наоборот: начать работать меньшее количество времени.
Некоторые предостережения:
- Чем больше у вас опыта, тем лучше вы работатете. Если для вас это первая работа, то возможно вам стоит делать её как можно быстрее и лучше, до тех пор пока вы не найдете лучшее место
- Для того чтобы начать работать меньше, вам нужно договориться об этом со своим работодателем. Если вы живете от зарплаты до зарплаты, то вам стоит перед разговором сделать некоторые сбережения.
Меньше часов больше производительности
Почему работать подолгу не помогает решить проблему? Потому что, чем дольше вы работаете, тем менее продуктивными становитесь, и кроме того, это поощряет вашего начальника рассчитывать и дальше на такую работу.
1. Короткая рабочая неделя улучшает ваши способности фокусироваться
Работа занимает все время, которые ей выделено. И постоянно работая слишком много, вы уменьшаете ваши возможности фокусироваться на проблеме, после чего приходит выгорание.
Долгая неделя: "Уже 18 часов, и мне бы пора идти домой, но для начала я должен закончить эту фичу." Но вы устали, поэтому на фичу у вас уйдет 3 часа, и после этого вы придете завтра на работу уставшим и недовольным.
Короткая неделя: "Уже 18 часов, и мне бы пора идти домой, так что я сохраню все, что важно и продолжу с самого утра." Следующим утром свежий и отдохнувший, вы сможете решить проблему за 10 минут.
2. Короткая рабочая неделя заставляет фокусироваться на более умных решениях
Долгая рабочая неделя заставляет фокусироваться на плохих практиках: вы начинаете думать о том, что для того чтобы решить проблему нужно просто начать писать код. Но программирование - это наука о автоматизации, о создании абстракций для того чтобы уменьшить работу. Обычно, можно значительно уменьшить размер работы, если найти правильный способ реализации API или какого-либо функционала.
Давайте представим, что ваш руководитель дает вам задачу и отводит на неё 2 недели, когда по вашему мнению, на неё нужно минимум 3.
Долгая неделя: "На эту фичу нужно 120 часов, если я буду работать на выходных и по вечером, то я смогу закончить даже раньше ... " В конечном итоге вы вогорите, и скорее всего не успеете.
Короткая неделя: "На эту работу у меня есть только две недели, что я могу сделать чтобы уменьшить объем работы? Думаю, что я могу потратить пару часов на обдумываение этого." И вскоре: "Если сделать такую структуру, то я смогу сделать 80% функционала за неделю, юзеры будут достаточно довольны, чтобы у меня было время спокойно окончить все остальное, даже если это займёт больше времени."
3. Короткая рабочая неделя заставляет отказываться от плохих управленческих решений
Если ваша ответственность за любую фичу выливается в сверхурочную работу, то вы поддерживаете плохие управленческие навыки. Этим вы на деле говорите, что ваше время не ценно, и его можно не учитывать при планировании.
Долгая неделя: Если ваш руководитель не уверен стоит ли звать вас на митинг, то он решит для себя "даже если это будет пустая потеря часа, то они все равно смогут восполнить это работая вечером". Если ваш менеджер не может выбрать какая из двух фич важнее, он просто поставит их обе в план.
Короткая неделя: С короткой неделью ваше время становится значительно ценнее, если менеджер зовет вас на митинг, то ему приходится учитывать, что из-за этого какой то функционал может оказаться не выполненным.
Переход к короткой неделе
Для разных людей короткая неделя значит разное. Я знаю одного программиста, который работал 40 - 45 часов в стартапе, где все остальные работали значительно больше. Для меня короткая неделя - это 35 часов.
Независимо от числа, нужно понять как его можно обосновать и потом добиться его. Скажите своему руководителю: "Я собираюсь рабоать 40 часов в неделю, пока не будет крайней необходимости работать больше". После этого подтвержите это делом: не отвечайте на рабочие сообщения по вечерам и не соглашайтесь на работу по выходным.
После этого вам нужно доказать себе, что вы остались производительным, и быть увернным, что когда вы работаете вы на самом деле работаете: потратить несколько часов в день на просмотр смешных видео с котами, не самое лучшее решение, для короткой недели.
Конечно есть компании, которые не согласятся с вами, в которых менеджмент так плох, что даже 40 часовая рабочая неделя будет неприемлема. В таком случае, вам нужно поискать новую работу, в которой будет практика поддерживать инициативы сотрудников.
Независимо от того, где у вас получится провести короткую рабочую неделю, вы станете более опытным и продуктивным разработчиком, чем были до этого.