|Programming For Love or Money|
|Written by Janet Swift|
|Wednesday, 21 February 2018|
Programming is a passion as well as a job. However there have to be limits on the amount of time devoted to it in order to preserve sanity. A research study has looked into the extent to which programmers work outside office hours.
This research undertaken by Maëlick Claes, Mika V. Mäntylä, Miikka Kuutila of the University of Oulu, Finland and Bram Adams of Polytechnique Montreal Canada was supported by an Academy of Finland Grant and will appear in Proceedings of ICSE ’18: 40th International Conference on Software Engineering , Gothenburg, Sweden, May 27-June 3, 2018 (ICSE ’18).
The purpose of the conducting a large-scale study of the work patterns of software engineers was to gather information relevant to the automatic detection stress and overload, starting from the premise:
Abnormal working hours can reduce work health, general wellbeing, and productivity.
However, its findings provide more general insights into differences between paid and unpaid contributions to open source projects.
The research involved investigating the time stamps of commit activities from Mozilla and Apache projects, both containing hired and volunteer developers, and those of a local company with 9 paid developers, giving a total of 87 projects.
The first question addressed was:
What are the circadian and weekly work patterns of software developers?
The charts below summarize the findings and what is immediately obvious is the difference between the local company pattern (i.e. the bottom pair) and the other two, which are remarkably similar. Essentially while the local company commits are almost exclusively during Monday to Friday and concentrated in an eight-hour period those for both Mozilla and Apache projects extend into the weekend, into the evenings and even beyond midnight.
The report states:
Commits follow a weekly rhythm. Fig. 1a, 1c and 1e show the number of commits made on each day of the week within the Mozilla (319,139 considered commits), Apache (574,563 commits) and the local company projects (22,193 commits), respectively. We can clearly see that fewer commits are being posted during the weekend, while there is a slight variation in activity during the week, with Monday and Friday being the least active days in all cases. Tuesday is the most active day for the Mozilla and Apache projects, while in the local company it is Thursday.
The finding that 78 of the 87 projects work from 10:00 to 18:00 plus or minus one hours led the researchers to set this as "typical office hours".
They next discovered:
On average, only 60% of work gets done during typical working hours.
One important difference between the local company and the open source projects is that it sticks very closely to office hours. The researchers noted that:
Community projects such as SeaMonkey, Thunderbird and Groovy tend to contain a lot of activity outside office hours.
The researchers made Mozilla Firefox the subject of a case study to look in more detail at differences between commits made within and outside office hours. In terms of content they found:
The most notable difference was that during office hours there are more formal reverts made to version control. Outside office hours, informal reverts made by the developer herself are more common.
which is reflected in this word cloud of terms used during and outside office hours:
The fact that Firefox has contributions both from Mozilla employees and volunteers means that the researchers could look at one very obvious hypothesis:
One explanation for work outside-office hours in open source projects is the amount of paid and non-paid contributors. If developers are hired by a company to work on a project, they are more likely to work during regular office hours. On the contrary, if they are not paid, they are more likely to work during their free time.
Unsurprisingly they discovered that:
Outside office hour work is mostly performed by unpaid developers.
To come to this conclusion they performed a manual check of the 287 developers who were the top 10% in terms of number of commits, accounting for 87% of all commits and revealed that 239 were paid and 48 were unpaid.
Looking at their weekly activity three clusters were identified:
The [green] cluster (n=101) mostly commits during office hours. This "office hour cluster" has the highest share of commits (15.9%) on Tuesday during office hours and the lowest on Sunday (1.7%). On the other hand, the extreme (black) cluster (n=46) works more during abnormal times, and has the highest share of commits on Saturday (11.4%) and the lowest on Monday during office hours (5.7%). The third cluster in blue (n=131) lies between these two extreme clusters and obtains the highest share of commits on Wednesday during office hours (11.2%) and the lowest on Sunday (3.9%). This group substantially works outside office hours during the week, but less during weekends.
Putting this together with Paid/Unpaid status, 90% of the green (office hours) cluster were paid and so were 88% of the blue (average) cluster. Exactly half (50%) of the black (outside office hours cluster were paid.
This led the researchers to conclude:
Paid developers work less outside office hours than unpaid ones. Yet most paid Firefox developers still work significantly more outside office hours than developers from the local company.
Personally I would hazard a guess that the developers in the office hours cluster are likely working on their personal programming projects or contributing to open source projects unrelated to their nine-to-five (or rather ten-to-six) working week in the evenings and weekends.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Thursday, 22 February 2018 )|