How open source can help your developer retention problem
Commentary: Developers have never been in more demand, yet many are unhappy in their jobs. Here’s how to make things better, one GitHub repo at a time.
Never before has software mattered so much. Too bad software developers spend relatively little of their time actually writing it.
Over the course of decades various researchers have surveyed and studied developers to gauge just how much time they spend writing code, and how that contributes to happiness in their work. As captured in a 2019 IEEE paper (PDF), estimates of how much time developers spend writing code vary from 9% on the low end to 61% on the high end (PDF). Many of the reasons for these seemingly low numbers could well come from the office life we seem to have left behind: Meetings, co-worker interruptions, or administrative tasks. (Of course, the new WFH reality isn’t necessarily better for productivity, and .)
So what can companies do to foster more happiness in their developers? One suggestion: Let them write more open source code.
SEE: How to build a successful developer career (free PDF) (TechRepublic)
Just how bad is it for developers in the trenches?
In that IEEE study, the authors tried to assess the factors that combine to make a “good day” for developers. The better the day, the better the code those developers wrote (fewer bugs, etc.), and the more likely they were to be happy in their jobs. As the study’s authors write, “[A]spects of the job that motivate developers or tasks that bring them enjoyment were also shown to lead to higher job satisfaction and productivity.”
So what makes them happy?
“Participants typically described a good workday being one when they make a lot of progress on or complete their main tasks.” And what are those “main tasks”? Well, writing code, for one: “Many responses mentioned that developers feel good about their workday when they can spend parts of it working in code, rather than on other activities, such as meetings, interruptions, or administrative tasks.” So code is a primary driver of developer happiness (or, more specifically, making progress on a body of code).
Perhaps it’s reading too much into the data to suggest with relatively little time spent coding, developers must be an unhappy lot. But if we look at the 2020 Stack Overflow survey results, it’s pretty clear something is amiss.
After all, of the developers surveyed, 17.3% said they’re actively looking for a new job, and 57.6% are open to new opportunities. Just 25.1% are happy to stick with their current employer. And when asked whether they’re happy in their jobs, they said this:
Very dissatisfied – 8.3%
Slightly dissatisfied – 15.8%
Neither satisfied nor dissatisfied – 12.8%
Slightly satisfied – 30.8%
Very satisfied – 32.3%
I’m no pollster, but approximately 68% of developers indicating that they are, at best, slightly satisfied with their job, strikes me as cause for concern. Yes, most (70%) of those surveyed said their job search was primarily motivated by compensation factors, but this is closely followed by “Wanting to work with new technologies” (58.5%) and “Growth or leadership opportunities” (52.9%).
This brings us to open source.
SEE: What developers want, what they don’t, and what you can do to attract top talent (TechRepublic)
Let them write [open source] code
In 2019, Stack Overflow asked developers how many of them code as a hobby outside work: 80%. While not all of that code is open source, much of it is. It wouldn’t be a big surprise, in fact, to discover that many developers work on open source as a way to “blow off steam,” as Datasette (and Django) founder Simon Willison put it to me. In that same interview he talked about how open source gave him a creative outlet where he could express himself through code.
Talking with other open source project maintainers, they stressed the importance of writing open source as a way to keep an identity distinct from work. Of course, for the more successful open source developers, their passion project can eventually become their work, with developers like Gerald Coombs (Wireshark) finding a comfortable home within Riverbed for themselves (and their projects).
SEE: Open source sustainability: It’s complicated (TechRepublic)
Though this ideal won’t always (often?) play out, just giving developers the chance to write code that engages them can be a great way to keep them happy within their jobs. Forcing a developer to choose between her open source passion and her day-to-day deliverables simply makes it more likely that she will find herself in that 68% slightly dissatisfied (or worse) category.
And, let’s face it, developers have never written code non-stop for 40 (or however many) hours per week. In our current work-from-home environment, productivity has likely fallen further, as Craig Kerstiens points out. Giving developers the freedom to contribute to open source projects will make them happier, more likely to innovate for you and, quite likely, more productive on the must-do-but-they’re-not-particularly-fun projects you’ve got waiting for them.
Disclosure: I work for AWS, but nothing herein relates to my work there.