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) Process-related 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?
Vision Mobile has launched its Developer Economics Q3 2017 survey and you'll find a space journey theme and a smattering of programmer jokes as you complete it. The incentive is prizes to win and pers [ ... ]