Почему программисты работают по ночам

Согласно поговорке, программисты — это устройства, преобразующие кофеин в код.



Если спросить первого попавшегося программиста, когда он наиболее продуктивен, — скорее всего, он назовёт ночь. Кто-то пораньше, кто-то попозже. Популярен вариант встать в 4 утра и сделать работу до начала дневной суматохи. А некоторые предпочитают ложиться в 4 утра.



Цель всего этого — избавиться от отвлекающих факторов. Но можно было бы просто закрыть дверь… Что же такого особенного в ночи?



Я думаю, что всё сводится к трём вещам: расписанию творца, сонному мозгу, и яркому экрану компьютера.



Расписание творца



В 2009 году Пол Грэм написал о «расписании творца» (maker's schedule). По его мнению, в мире есть два основных типа расписаний. В традиционном «распорядке менеджера» день разделяется на отдельные часы, и десятиминутная помеха обходится максимум в час потерянного времени.



Другой вариант Грэм называет расписанием творца — того, кто что-то создаёт, творит, производит. Работа над большими абстрактными системами требует размещать их целиком в своей голове. Это можно сравнить с постройкой дома из хрусталя: стоит отвлечься, как всё осыпается и разбивается вдребезги.



Поэтому программистов так раздражает, когда их отвлекают.



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



В самом деле, поговорив с руководителями компаний вы узнаете, что они просто не могут закончить никакую работу в течение дня. Постоянная канонада помех: важных дел™, требующих внимания, и писем, требующих ответа, — просто не позволяет что-либо сделать. Поэтому они выполняют большую часть работы ночью, когда все остальные спят.



Сонный мозг



Но даже программистам нужно спать по ночам. Мы не какие-нибудь суперлюди. Даже программисты более внимательны именно днём.



Тогда почему же мы выполняем самую сложную умственную работу когда мозг хочет спать, а более простые задания — когда разум остр и ясен?



Потому что усталость делает нас лучшими кодерами.



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



Например, моя продуктивность минимальна после чрезмерного количества чая или невовремя выпитого энергетического напитка: они делают меня гиперактивным, и я то проверяю твиттер, то читаю Hacker News, — в общем, просто прыгаю туда-сюда.



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



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



Мне кажется, это верно для большинства программистов. Наши умственные силы избыточны для ~80% задач: согласитесь, реализация интересного алгоритма часто требует написания ещё раз в десять большего объёма вспомогательного кода. Даже если вы занимаетесь самым сложным машинным обучением, какое только можно представить, большой кусок работы — это просто подготовка данных и вывод результатов в красивом видe.



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



Яркие экраны компьютеров



Здесь всё просто. Продолжайте вечерами пялиться на яркий источник света, и ваш режим сна начнёт задерживаться. Вы забываете об усталости до трёх часов ночи, потом просыпаетесь в 11, и когда наступает вечер — вы просто ещё не устали, потому что на ногах всего с одиннадцати утра!



После нескольких повторений такой подход запросто утащит вас в другой часовой пояс. Что интересно, сдвиг не бесконечен, и однажды попав в равновесную точку отхода ко сну между 3 и 4 часами, вы, как правило, там и останетесь.



А быть может, дело в будильниках, поднимающих нас по утрам, — потому что общество называет нас паршивыми лентяями, если мы начинаем завтрак в два часа пополудни.



Заключение



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

Вы смотрите срез комментариев. Показать все
ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку