On the Unhappiness of Software Developers
Written by Mike James   
Tuesday, 11 April 2017

It is tough being a programmer - you have to put up with so much stuff from people who aren't programmers and even other programmers turn up and spoil your wonderful code. Is there enough that is positive to keep us happy at our work?

Now we have some new research by Daniel Graziotin, Fabian Fagerholm, Xiaofeng Wang and Pekka Abrahamsson that aims to quantify how happy we are and what is is that makes us unhappy:

The happy-productive worker thesis states that happy workers are more productive. Recent research in software engineering supports the thesis, and the ideal of flourishing happiness among software developers is often expressed among industry practitioners. However, the literature suggests that a cost-effective way to foster happiness and productivity among workers could be to limit unhappiness.

Psychological disorders such as job burnout and anxiety could also be reduced by limiting the negative experiences of software developers. Simultaneously, a baseline assessment of (un)happiness and knowledge about how developers experience it are missing. In this paper, we broaden the understanding of unhappiness among software developers in terms of

(1) the software developer population distribution of (un)happiness,


(2) the causes of unhappiness while developing software.

We conducted a large-scale quantitative and qualitative survey, incorporating a psychometrically validated instrument for measuring (un)happiness, with 2,220 developers, yielding a rich and balanced sample of 1,318 complete responses.

Our results indicate that software developers are a slightly happy population, but the need for limiting the unhappiness of developers remains. We also identified 219 factors representing causes of unhappiness while developing software.

Our results, which are available as open data, can act as guidelines for practitioners in management positions and developers in general for fostering happiness on the job. We suggest future research in software engineering should consider happiness in studies of human aspects and even in seemingly unrelated technical areas.

The measure of happiness used was SPANE-B which ranges from -24 completely negative to +24 completely positive. A completely happy programmer would score 24 on the SPANE-B scale in the sample of 1314 programmers the score was 9.05 (sd=6.76). This is the reason for the use of the term "slightly happy". 

Now at this point you might be thinking that working conditions might be related to happiness but:

None of the quantitative data plots indicated a relationship with the happiness of developers. This includes variables such as gender, age, nationality, working status, company size, percentage of working time dedicated to developing software, and monthly income. Thus, we conclude that they are not the primary determinants of unhappiness.

This sent the researchers off looking for the causes of unhappiness and they identified the following external causes:

Categories for External Causes of Unhappiness
Main category        Sub-categories
People (416)         colleague (206)
                     manager (122)
                     customer (49)
Artifact and
working with
artifact (788)
                     code and coding (217)
                     bug and bug fixing (194)
                     technical infrastructure (151)
                     requirements (99)
factors (544)        No sub-categories
Other causes (95)    No sub-categories

The figures in brackets are the number of times they occurred in the sample.

The researchers also identified 22 internal factors which seem not to be as important. So it seems that developers are made unhappy by the external world. 

Now we come to the information we have all been waiting for - the top 10 causes of unhappiness:


The top three are amazing! We get unhappy most when we get stuck, when some other guy is putting time pressure on use and other people's bad code is depressing.

Suprisingly, the one that makes me most unhappy isn't in the list - being serially interrupted while coding. Is your unhappiness missing?


More Information

On the Unhappiness of Software Developers

Related Articles

Does Python Smell Like Java?

Software Development Metrics 

Emotion Detection Using Project Oxford 


To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.



Akka Adds Database Sharding Support

Lightbend, the company behind Akka, has released Akka version 24.05. Lightbend produces cloud-native microservices frameworks while Akka allows for building distributed applications.

Microsoft And GitHub Announce Copilot Extensions At Build 2024

Microsoft's Build conference is underway with lots of announcements about Copilot, Microsoft's AI companion software.

More News

raspberry pi books



or email your comment to: comments@i-programmer.info



Last Updated ( Tuesday, 11 April 2017 )