Рабочий день программиста
Вывеска с лозунгом рабочих объединений в Мельбурне, 1856
В 1914 году Генри Форд установил для своих рабочих восьмичасовой рабочий день. Другие промышленники сулили ему падение производительности и разорение, но этого не произошло: напротив, за два года прибыль Ford Motor Company удвоилась.
Но программист — не рабочий на конвейере, а программирование — работа, которую не уложить в четкие временные рамки. Должен ли программист работать восемь часов в день и пять дней в неделю или стоит найти ритм получше?
Эта статья — для тех, кто пока не нашел свой рабочий ритм.
Когда работать
Люди по-разному работоспособны в течении дня: все знают о «совах», «голубях» и «жаворонках». Есть даже те, кто лучше работает ночью, а днем отсыпается. Это проявление циркадных ритмов, которые отвечают за работу организма в пределах дня.
«Совы», «жаворонки» и «голуби» — три хронотипа человека. Они отличаются временем пробуждения и пиками интеллектуальной активности:
- «Голуби» просыпаются в 7-9 часов и работают равномерно, без пиков активности. Еще они без проблем встают пораньше или ложатся попозже.
- «Совы» встают поздно, а если вынуждены вставать по будильнику, все равно до обеда ходят сонными. У них три пика активности — с часу до двух, с шести до восьми вечера и с одиннадцати до часу ночи.
- «Жаворонки» же встают рано, и лучше всего работают с утра до обеда, а потом с четырех часов до шести.
При современном рабочем ритме лучше всего живется «жаворонкам» и «голубям», а вот «совы» страдают от раннего пробуждения. Определите свой хронотип и распределяйте дела по нему. Неуважение к своему циркадному ритму до добра не доведет.
Сколько работать
Работать и отдыхать нужно столько, чтобы к следующему рабочему дню не было усталости. Недаром лозунг рабочих объединений, которые боролись в 19 веке за восьмичасовой день, звучал как «Восемь часов работы, восемь часов сна, восемь часов досуга».
Но это одна сторона монеты. Вторая сторона заключается в том, что работа программиста не измеряется отработанным временем или количеством написанных строк кода, а результатом. В таких условиях восьмичасовой рабочий день становится бесполезным — важнее становится то, как быстро программист напишет программу или запустит сервис.
Когда программист работает быстрее ожидаемого, у начальника появляется соблазн нагрузить его побольше. Мол, если он за два часа сделал столько, надо ему в четыре раза больше работы дать, чтобы все восемь часов работал без отрыва.
Проблема в том, что это так не работает.
Как работать
Работать восемь часов без отрыва — непродуктивно. Дело в ультрадианных ритмах: каждые 90–110 минут у человека меняется активность тех частей мозга, которые отвечают за внимание и мотивацию. Принуждение к работе без отдыха ведет к стрессу и повышенной усталости: сегодня программист сделает больше, а завтра усталость возьмет свое и производительность упадет. Получается, что выгоды в этом нет.
Но два часа — верхняя граница физиологической работоспособности. При рутинной работе сложно проработать хотя бы час. Чтобы работать даже над рутинными задачами, разбивайте работу на еще более короткие промежутки. Один из способов — «помидорный таймер», мы писали о нем в статье «Как справляться с усталостью от программирования».
Вот как это работает: одна «помидорка» — это 25 минут работы и 5 минут отдыха. Измеряйте задачи «помидорками», и делайте обязательный большой перерыв в 15-20 минут после каждых четырех «помидорок». Так вы уложитесь в ультрадианный ритм.
Где работать
Мы выяснили, что работа программиста не укладывается в точный хронометраж, а производительность зависит от циркадных и ультрадианных циклов. Есть еще две вещи, которые влияют на производительность программиста.
Организация работы
Когда никто из коллег не знает, у кого пароль от сервера, код как попало разбросан по репозиториям, а о стандартах оформления кода в компании вообще не слышали — работать сложно. Много времени уходит на борьбу с обстоятельствами и разбором чужого как попало отформатированного кода.
Выходов два — менять компанию к лучшему или искать другую. В одной из следующих статей мы напишем о том, как предлагать и проталкивать изменения, если начальник не вы.
Удобство работы
На трехногой табуретке за 15" монитором доисторической эпохи много не наработаешь, особенно если за спиной бубнят продажники, а в другом углу опенспейса вопит начальник. Комфорт — главный друг программиста в его деле: интеллектуальные задачи требуют концентрации, но сложно концентрироваться, если вокруг вавилонское столпотворение.
Если вы уже работаете в таком месте, задумайтесь: долго ли вы протянете и стоит ли работать в таких условиях. А при устройстве на работу обращайте внимание на то, как работают ваши будущие коллеги.
В итоге
Восьмичасовой рабочий день был благом для рабочих, работавших до того по шестнадцать часов в день. Для современного программиста он необязателен, если все правильно организовать.
Учитывайте циркадные ритмы
Планируйте день так, чтобы интеллектуальные задачи попадали на пики активности. Не идите против своего организма — пользы это не принесет.
Отдыхайте чаще
Даже если задача невероятно интересная, не стоит работать весь день без перерыва. Каждые два часа обязательно нужно прерваться — в итоге отдохнувший мозг будет работать эффективнее. Да и свежий взгляд появится.
Разбивайте большие задачи на мелкие
Чтобы еще мозг работал еще эффективнее, работайте по «помидорному таймеру»: он поможет легче переключаться от одной задачи к другой и концентрироваться на их выполнении.
Организуйте работу
Неорганизованная работа непродуктивна. Если нет возможности организовать коллег, организуйте себя: заведите личную вики и записывайте туда нужные для работы данные — пароли, куски кода, ссылки на ресурсы.
Работайте в комфорте
Если в офисе нет нормальных условий — попробуйте договориться на удаленную работу: дома рабочие условия организовать проще. Или поменяйте офис.
Каждый человек имеет право на обучение: профессия «Веб-разработчик».