On the Unhappiness of Software Developers.pdf (3.82 MB)

On the Unhappiness of Software Developers.pdf

Download (3.82 MB)
posted on 17.06.2017 by Fabian Fagerholm, Daniel Graziotin, Xiaofeng Wang, Pekka Abrahamsson
Presentation slides of the paper "On the Unhappiness of Software Developers" given at the 21st International Conference on Evaluation and Assessment in Software Engineering (EASE 2017) in Karlskrona, Sweden, 16 June 2017.

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, and (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 considering happiness in future studies of both human and technical aspects in software engineering.