If you want to make a software developer's day, don't interrupt, minimize meetings, and encourage moments of self-reflection. By doing so you may enhance productivity and promote worker retention, according to GitHub's latest research.
The Microsoft-owned code-hosting giant, with the help of 40 software engineers, set out to learn what makes a "good day" for developers, based on the belief that productivity and job satisfaction go hand in hand.
Over the course of two weeks of remote work, participants responded to short survey questions, once or twice daily, to characterize their day as Awesome, Good, OK, Bad, or Terrible, and to explain their responses in more detail using questions based on the SPACE productivity framework.
Developed by Nicole Forsgren from GitHub, Margaret-Anne Storey from University of Victoria, and Chandra Maddila, Thomas Zimmermann, Brian Houck, and Jenna Butler from Microsoft Research, the SPACE framework provides a way to evaluate developer productivity as a function of Satisfaction and well-being; Performance; Activity; Communication and collaboration; and Efficiency and flow.
Its goal is to assess productivity as the complex interplay of multiple factors rather than focusing on a specific metric like lines of code committed or pull requests. The assumption here is that there's more to remote worker management than hitting a productivity target.
What GitHub found was that developers really dislike disruptions.
"With minimal or no interruptions, developers had an 82 per cent chance of having a good day, but when developers were interrupted the majority of the day, their chances of having a good day dropped to just 7 per cent," explained Eirini Kalliamvakou, GitHub senior researcher, in a blog post.
Given that, it's perhaps unsurprising that developers also hate meetings.
"With an average of two meetings a day the chance of developers feeling like they made progress towards their goals was 74 per cent," said Kalliamvakou. "But stepping over that threshold to averaging three meetings per day meant a 14 per cent chance of making progress — that’s a substantial drop!"
- Fluid components and custom scenes: Microsoft pitches developers with new tools for Teams
- 'We want to try and remove tools rather than add more...' Netlify founder on simplifying the feedback loop and more
- When software depends on a project thanklessly maintained by a random guy in Nebraska, is open source sustainable?
- Microsoft has gone to great lengths to push its tech, but survey suggests many devs slipped through the .NET
That's not to say there's no tolerance for meetings, which may be necessary and can provide a needed or welcomed break. But the data suggests meetings should be minimized.
Kalliamvakou said that developers had a 99 per cent chance of doing quality work when meetings averaged no more than one per day.
In an apparent contradiction of the survey findings about disruptions, Kalliamvakou said GitHub's initial concern that developers would find its daily survey regime tedious or disruptive proved unfounded.
In fact, developers appeared to appreciate the brief daily questions, leading to the conclusion that this self-reflection prompt was satisfying and encouraged devs to understand areas where they could improve. As Kalliamvakou points out, a recent Microsoft study [PDF] found that the act of reflecting on sources of gratitude improves work satisfaction.
The upshot for software developers is to adopt a post-meeting mantra along the lines of "I'm so glad that's over. Now leave me alone." ®