Программирование-это не только работа, но и страсть. Однако должны быть ограничения на количество времени, посвященного этому, чтобы сохранить здравомыслие. В ходе исследования было изучено, в какой степени программисты работают в нерабочее время.
Это исследование, проведенное Маэликом Клаасом, Микой В. Ментюлей, Мииккой Куутилой из Университета Оулу , Финляндия, и Брэмом Адамсом из Политехнического университета Монреаля, Канада, было поддержано грантом Академии Финляндии и будет опубликовано в Материалах Международной конференции ICSE ’18: 40 по разработке программного обеспечения, Гетеборг, Швеция, 27 мая-3 июня 2018 года (ICSE ’18).
Целью проведения крупномасштабного исследования моделей работы инженеров-программистов был сбор информации, относящейся к автоматическому обнаружению напряжений и перегрузок, начиная с помещения:
Ненормированный рабочий день может привести к ухудшению здоровья, общего самочувствия и производительности труда.
Однако его выводы дают более общее представление о различиях между выплаченными и неоплаченными взносами в проекты с открытым исходным кодом.
Исследование включало изучение временных меток фиксации действий в проектах Mozilla и Apache, как с привлеченными, так и добровольными разработчиками, а также в местной компании с 9 платными разработчиками, что в общей сложности дало 87 проектов.
Первый заданный вопрос был:
Каковы суточные и еженедельные модели работы разработчиков программного обеспечения?
На приведенных ниже диаграммах обобщены результаты, и сразу становится очевидной разница между моделью местной компании (т. Е. нижней парой) и двумя другими, которые удивительно похожи. По сути, в то время как обязательства местной компании выполняются почти исключительно с понедельника по пятницу и концентрируются в течение восьмичасового периода, обязательства как для проектов Mozilla, так и для Apache распространяются на выходные, вечера и даже за полночь.
В докладе говорится:
Коммиты следуют еженедельному ритму. На рис. 1а, 1с и 1е показано количество коммитов, сделанных в каждый день недели в Mozilla (319 139 рассмотренных коммитов), Apache (574 563 коммита) и проектах местной компании (22 193 коммита) соответственно. Мы ясно видим, что в выходные дни публикуется меньше коммитов, в то время как в течение недели наблюдается небольшое изменение активности, причем понедельник и пятница являются наименее активными днями во всех случаях. Вторник-самый активный день для проектов Mozilla и Apache, в то время как в местной компании это четверг.
Обнаружив, что 78 из 87 проектов работают с 10:00 до 18:00 плюс или минус один час, исследователи установили это как «типичное рабочее время».
Затем они обнаружили:
В среднем только 60% работы выполняется в обычное рабочее время.
Одним из важных отличий местной компании от проектов с открытым исходным кодом является то, что она очень строго придерживается рабочего времени. Исследователи отметили, что:
Общественные проекты, такие как SeaMonkey, Thunderbird и Groovy, как правило, содержат много активности в нерабочее время.
Исследователи сделали Mozilla Firefox предметом тематического исследования, чтобы более подробно рассмотреть различия между коммитами, совершенными в рабочее время и в нерабочее время. С точки зрения содержания они нашли:
Наиболее заметным отличием было то, что в рабочее время происходит более формальный возврат к контролю версий. В нерабочее время чаще встречаются неофициальные возвраты, сделанные самим разработчиком.
что отражено в этом словесном облаке терминов, используемых в рабочее и нерабочее время:
Тот факт, что Firefox имеет вклад как сотрудников Mozilla, так и добровольцев, означает, что исследователи могут рассмотреть одну очень очевидную гипотезу:
Одним из объяснений работы в нерабочее время в проектах с открытым исходным кодом является количество платных и неоплачиваемых участников. Если разработчики наняты компанией для работы над проектом, они, скорее всего, будут работать в обычное рабочее время. Напротив, если им не платят, они с большей вероятностью будут работать в свободное время.
Неудивительно, что они обнаружили, что:
Внеурочная работа в основном выполняется неоплачиваемыми разработчиками.
Чтобы прийти к такому выводу, они провели ручную проверку 287 разработчиков, которые были лучшими 10% по количеству коммитов, что составило 87% всех коммитов, и обнаружили, что 239 были оплачены, а 48 были неоплачены.
Глядя на их еженедельную активность, было выделено три кластера:
[Зеленый] кластер (n=101) в основном совершает коммиты в рабочее время. Этот «кластер офисных часов» имеет самую высокую долю фиксаций (15,9%) во вторник в рабочее время и самую низкую в воскресенье (1,7%). С другой стороны, крайний (черный) кластер (n=46) больше работает в ненормальное время и имеет самую высокую долю фиксаций в субботу (11,4%) и самую низкую в понедельник в рабочее время (5,7%). Третий кластер синего цвета (n=131) находится между этими двумя крайними кластерами и получает самую высокую долю фиксаций в среду в рабочее время (11,2%) и самую низкую в воскресенье (3,9%). Эта группа в основном работает в нерабочее время в течение недели, но меньше в выходные дни.
Если сложить это вместе с Оплаченным/Неоплаченным статусом, то 90% зеленого (рабочее время) кластера были оплачены, а также 88% синего (среднего) кластера. Ровно половина (50%) чернокожих (в нерабочее время) были оплачены.
Это привело исследователей к выводу:
Платные разработчики работают меньше в нерабочее время, чем неоплачиваемые. Тем не менее, большинство платных разработчиков Firefox по-прежнему работают значительно больше в нерабочее время, чем разработчики из местной компании.
Лично я бы рискнул предположить, что разработчики в кластере офисных часов, скорее всего, работают над своими личными проектами программирования или участвуют в проектах с открытым исходным кодом, не связанных с их рабочей неделей с девяти до пяти (или, скорее, с десяти до шести) по вечерам и выходным.