Программирование Ради любви или денег


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

Это исследование, проведенное Маэликом Клаасом, Микой В. Ментюлей, Мииккой Куутилой из Университета Оулу , Финляндия, и Брэмом Адамсом из Политехнического университета Монреаля, Канада, было поддержано грантом Академии Финляндии и будет опубликовано в Материалах Международной конференции 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 по-прежнему работают значительно больше в нерабочее время, чем разработчики из местной компании.

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


Добавить комментарий