Программирование – это работа, равноценно сочетающая в себе страсть и рутину. Возможно, вы полагаете, что переход и одного состояния в другое невозможно контролироваться. Но недавнее исследование, проведённое учёными из Университета Оулу, Финляндия, говорит об обратном. Более того, оперируя периодами удовольствия, вы можете значительно повысить свою эффективность.
Целью проведения исследования был сбор информации о том, как работа во внерабочие часы может снизить работоспособность, общее благополучие и производительность. Однако выводы дают более общее представление о различиях между оплачиваемой работой и «бесплатным» вкладом в проекты с открытым исходным кодом.
Исследование включало в себя анализ временных штампов совершения действий в проектах Mozilla и Apache, куда входят как наемные разработчики, так и волонтеры. Также под наблюдение попала местная компания, куда входят 9 «зарплатных» разработчиков, ведущих в сумме 87 проектов.
На основании этих данных были построены и изучены разные модели производительности программистов. Ниже приведены диаграммы, которые красноречиво показывают разницу между разработкой в мелких компаниях и таких гигантах, как Mozilla и Apache. Если в первом случае большинство сотрудников ограничивается 8-часовым днём и редко появляется в офисе по выходным, то во втором – существенный процент работы выполняется в свободное время.
В остальном мы видим привычную картину:
- Пик активности приходится на период со вторника по четверг. Обратите внимание, что в крупных проектах максимум выпадает на второй день недели, а в маленькой фирме – на четвёртый.
- Понедельник и пятница – наименьшие по активности будние дни, причём начале недели работать хочется даже чуть меньше.
- Вторая половина дня – наиболее продуктивное время, но в целом активность достаточно равномерно распределена по «официальным» 8 часам.
Но есть и необычные выводы:
- В крупных проектах, где привлекается совместно труд волонтёров и наёмных работников, за рабочее время выполняется только 60% работы.
- Работа в маленьком офисе тесно связана с продолжительностью рабочего дня, несмотря на большую загруженность, в то время, как «свободные» компании сохраняют высокую активность вплоть до полуночи.
Дальнейшее исследование показало, что такие проекты, как SeaMonkey, Thunderbird и Groovy вообще демонстрируют максимальную активность вне рабочего времени.
В итоге Mozilla Firefox стал предметом более глубокого тематического исследования, чтобы на его примере посмотреть подробнее различия между деятельностью в рабочее время и вне его. В результате было обнаружено, к примеру, что в офисе большинство правок было сделано внутри систем контроля версий. В нерабочее время чаще встречаются неформальные «откаты» разработчиков, которые контролируются только им.
Также обратите внимание на перечень используемых терминов: в рабочее время (голубым) и вне его (коричневым):
Одним из очевидных выводов исследования стало то, что распределение рабочих часов в открытых проектах является следствием занятости наёмных работников и волонтёров. Разработчики, имеющие контракт с компанией, с большей вероятностью будут работать в рабочее время, в то время как «бесплатная сила» выбирает свободное время.
Далее взглянем на выборку из 287 разработчиков, которые исходя из своей занятости и активности были разбиты на три кластера:
У зелёного кластера (n=101) основная активность приходится на рабочие часы. Он имеет наибольшую долю коммитов (15,9%) во вторник и самый низкую – в воскресенье (1,7%). Черный кластер (n = 46) работает больше в свободное время и имеет пик коммитов в субботу (11,4%) и минимум в понедельник в рабочие часы (5,7%). Синий кластер (n = 131) предпочитает работать в будние дни, но вне рабочего времени. Поэтому наибольшая доля коммитов приходится на среду (11,2%), а наименьшая – в воскресенье (3,9%).
Вскрыв статус «наёмник/волонтёр», мы узнаем, что 90% зеленого кластера и 88% синего кластера получали деньги за свою работу. В чёрном кластере таких оказалась лишь половина (50%).
Это привело исследователей к заключению:
Контрактные разработчики работают меньше вне рабочего времени, чем добровольцы. Тем не менее, даже оплачиваемые сотрудники Mozilla и Apache работают значительно больше вне рабочего времени, чем разработчики из местной компании.
Организаторы исследования практически не делают на основании этого каких-то далеко идущих выводов, полагая, что даже сотрудники местной компании могут в свободное время выполнять личные или свободные проекты. Однако лично мне сложно представить, что разработчик, который на основном месте работы выполняет свои обязанности строго с 9 до 17 часов, будет бесплатно трудиться в свободное время или в выходной день.
Отсюда можно сделать «аккуратный» вывод, что эффективная модель ведения проектов предполагает не только исключительно оплачиваемый труд, но и деятельность, основанную на голом интересе.
Комментарии