Since Epicurus wrote in the third century BC about pain and pleasure, happiness and unhappiness has been a constant subject of conversation. Recently researchers from the University of Stuttgart studied the effects of software developers’ state of happiness on performance and found unhappy developers negatively affect the development process and software products.
This might explain why some software companies treat their development teams to pingpong tables, foosball, cappuccino machines and other perks.
A clearer understanding could lead to successful intervention, more effective than those perks, and (depending upon the costs) astonishing productivity benefits.Though not mentioned by the researchers, it sounds very similar to the work of author and TED Talk speaker Mihaly Csikszentmihalyi and his ideas about creating conditions that lead to a flow state, also called the zone of deep concentration, and undistracted, peak performance.
4 ways unhappiness affects developers
The findings were based on analysis of the textual answers self-reported by developers to a questionnaire distributed on, where else, Github.
1. Reduced cognitive performance is the biggest impact of unhappiness, which is significant in a profession that requires long periods of sustained deeply concentrated work. About 40 percent of the developers self-reported that unhappiness impacted their work. They described the consequences with statements such as this one:
“My software dev skills dropped off as I became more and more frustrated until I eventually closed it off and came back the next day to work on it.”
And the general mental fatigue led to:
“Getting frustrated and sloppy”
2. Unhappiness from negative situations produced mental unease, such as low self-esteem, high anxiety, burnout, stress and possibly depression.
3. Unhappiness also leads to low motivation among developers, withdrawal from their work and quitting jobs. For developers, job satisfaction and motivation are indistinguishable. Motivation can be measured in developers’ behavior in terms of engagement and focus.
4. Unhappiness causes developers to take shortcuts in the development process and to deviate from the process or the agreed set of practices, which often leads to low code quality.
Developers surveyed reported:
“Eventually, due to negative experiences, code quality cannot be assured. So this will make my code messy and more bugs can be found in it. And as result, my code becomes sloppier.”
In some cases, the developers reported that they destroyed the task-related codebase. As one respondent said:
“I have deleted entire projects to start over with code that didn’t seem to be going in a wrong direction.”
The researchers identified the consequences of negative experiences and unhappiness on developers performance, but they did not prescribe a remedy. The research paper can be found on Cornell University Library’s research archives, arxiv.org.