Unhappy Developers: Bad for Themselves, Bad for Process, and Bad for Software Product
Daniel Graziotin, Fabian Fagerholm, Xiaofeng Wang, Pekka Abrahamsson

TL;DR
This study explores how developer unhappiness negatively impacts individual well-being, development processes, and software quality, highlighting the importance of fostering positive emotions in software engineering.
Contribution
First qualitative analysis identifying 49 consequences of developer unhappiness, providing a new classification scheme to guide future happiness research and management practices.
Findings
Unhappiness affects developers' well-being and productivity.
Unhappiness impacts software development processes and outcomes.
The study introduces a classification scheme for consequences of unhappiness.
Abstract
Recent research in software engineering supports the "happy-productive" thesis, and the desire of flourishing happiness among programmers is often expressed by industry practitioners. Recent literature has suggested that a cost-effective way to foster happiness and productivity among workers could be to limit unhappiness of developers due to its negative impact. However, possible negative effects of unhappiness are still largely unknown in the software development context. In this paper, we present the first results from a study exploring the consequences of the unhappy developers. Using qualitative data analysis of the survey responses given by 181 participants, we identified 49 potential consequences of unhappiness while developing software. These results have several implications. While raising the awareness of the role of moods, emotions and feelings in software development, we…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Unhappy Developers: Bad for Themselves, Bad for Process, and Bad for Software Product
Daniel Graziotin1, Fabian Fagerholm2, Xiaofeng Wang3 and Pekka Abrahamsson4
1Institute of Software Technology, University of Stuttgart, Germany, [email protected]
2Department of Computer Science, University of Helsinki, Finland, [email protected]
3Faculty of Computer Science, Free University of Bozen-Bolzano, Italy, [email protected]
4Department of Computer and Information Science (IDI), NTNU, Trondheim, Norway, [email protected]
Abstract
Recent research in software engineering supports the “happy-productive” thesis, and the desire of flourishing happiness among programmers is often expressed by industry practitioners. Recent literature has suggested that a cost-effective way to foster happiness and productivity among workers could be to limit unhappiness of developers due to its negative impact. However, possible negative effects of unhappiness are still largely unknown in the software development context. In this paper, we present the first results from a study exploring the consequences of the unhappy developers. Using qualitative data analysis of the survey responses given by 181 participants, we identified 49 potential consequences of unhappiness while developing software. These results have several implications. While raising the awareness of the role of moods, emotions and feelings in software development, we foresee that our classification scheme will spawn new happiness studies linking causes and effects, and it can act as a guideline for developers and managers to foster happiness at work.
Index Terms:
behavioral software engineering; developer experience; human aspects; affect; emotion; mood;
I Introduction
A practice that has emerged recently is to promote flourishing happiness among workers in order to enact the happy-productive worker thesis [1]. Relevant research in software engineering (SE) has recently emerged which considers the positive aspects of happiness and affect in general, e.g.,[2, 3, 4, 5, 6, 7, 8, 9, 10]. Yet, software developers are prone to share horror stories about their working experience on a daily basis [11].
As objective happiness is suggested to be bounded by the difference between experienced positive and negative affect [12, 13], one way for maximizing happiness is to understand and minimize the negative experiences. There are calls to understand the benefits of limiting negative experiences on the job [12], and SE research has yet to explore the research avenue. Based on the existing literature, we set the following research question:
RQ: What are the experienced consequences of unhappiness among software developers while developing software?
We are conducting a series of studies in the context of a large-scale quantitative and qualitative survey of software developers. In this paper, we present our analysis of 181 complete responses related to the consequences of unhappiness while developing software. We report an openly available schema [14] of 49 consequences of unhappiness that we identified.
II Method
The study we are presenting is the first of a series of inquiries that we conducted through a large-scale survey of GitHub developers. The overall research project employs a mixed research method, comprising both elements of quantitative and qualitative research [15]; in this paper, we address the present RQ using the qualitative data collected through the survey.
We retrieved the contact information of GitHub contributors using the publicly available data at the GitHub Archive [16], which collects and stores a log of public events occurring in GitHub. The questionnaire used in the overall survey was composed of (1) questions to collect demographic information, (2) one question carrying the Scale of Positive and Negative Experience (SPANE [17, 18], which we described in [19]), 12 scale items for assessing the happiness of an individual, and (3) two open-ended questions on the causes and consequences of positive and negative affect while developing software. We describe the questionnaire systematically in an online appendix [14].
In order to answer the RQ, we developed a coding strategy to analyze the responses to the open-ended question related to negative affect. We applied open coding, axial coding, and selective coding [20]. A working example of the coding process is available online [14].
III Results
After data cleaning, we obtained valid and complete responses related to our RQ. Among the participants, 78% were professional software developers, 13% were in other roles (e.g., CEO, CTO, academic researcher), and the remaining were students or unemployed. The average year of birth was 1984 (standard deviation (sd)=8.27, median 1986). The average experience with software development was 8.22 years (sd=7.83, median=5).
We identified 254 codes related to the consequences of unhappiness, which resulted in 49 types of consequences, further grouped into 16 categories and sub-categories. Because of the space limitation, we report here the most frequent codes only. The entire dataset is available as archived open data [14].
III-1 Internal Consequences—Developer’s Own Being
Low cognitive performance refers to low mental performance, such as low focus: “[…] the negative feelings lead to not thinking things through as clearly as I would have if the feeling of frustration was not present”; cognitive skills dropping off: “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 general mental fatigue: “Getting frustrated and sloppy”.
The mental unease or disorder category collects consequences related to mental health. Unhappiness while developing software is a cause of, in decreasing order of frequency, stress and burnout: “[…] only reason of my failure due of burnout”; anxiety: “These kinds of situations make me feel panicky”; low self-esteem: “If I feel particularly lost on a certain task, I may sometimes begin to question my overall ability to be a good programmer”; and sadness, if not depression: “feels like a black fog of depression surrounds you and the project”.
Low motivation. The participants were clear in stating that unhappiness led to low motivation for developing software, e.g, “[the unhappiness] has left me feeling very stupid and as a result I have no leadership skills, no desire to participate and feel like I’m being forced to code to live as a kind of punishment. […]”, or “Also, I’m working at a really slow pace […] because I’m just not as engaged with the work”.
III-2 External Consequences
Process Consequences
The process category collects those consequences that are related to a software development process, endeavor, or set of practices that are not explicitly tied up to an artifact.
Low productivity groups all consequences of unhappiness related to performance and productivity losses, as we defined previously [2, 5]. Some participants made very simple and clear statements such as “productivity drops” or “[negative experience] definitely makes me work slower”. Others elaborated more: “[unhappiness] made it harder or impossible to come up with solutions”, “[…], and [the negative experience] slowed my progress because of the negative feeling toward the feature”.
Unhappiness was reported to cause delay in process execution: “In both cases [negative experiences] the emotional toll on me caused delays to the project”. It also causes glitches in communication and a disorganized process.
Developers declared that unhappiness caused them to deviate from the process or the agreed set of practices. Specifically, unhappiness makes developers compromise in terms of actions, in order to just get rid of tasks: “In these instances my development tended towards immediate and quick ’ugly’ solutions”. They decide to take shortcuts when enacting a software process, compromising the quality of the process itself.
Artifact-oriented Consequences
The category of artifact-oriented consequences groups all those consequences that are directly related to a development product, e.g., software code, requirements, and to working with it.
Low code quality represents the consequences of unhappiness of developers that are related to deterioration of the artifacts’ quality. The participants reported that “eventually [due to negative experiences], code quality cannot be assured. So this will make my code messy and more bug can be found in it”, and “As a result my code becomes sloppier”.
Discharging code could be seen as an extreme case of productivity and quality deterioration. We found in some instances that the participants destroyed the task-related codebase, e.g, “I deleted the code that I was writing because I was a bit angry”, up to deleting the entire projects: “I have deleted entire projects to start over with code that didn’t seem to be going in a wrong direction”.
IV Discussion and Conclusion
We presented the results of an analysis of the experienced consequences of unhappiness among software developers at work.
We found that the highest impact of unhappiness is on productivity and performance, which, by aggregating the categories of low cognitive performance and process-related productivity, accounts for about 40% of the in-text references. This is in line with all the studies that concentrate on the relationship between affect and performance in SE [2, 3, 4, 6, 9, 21] and quantify the relationship.
We also found that unhappiness causes issues related to mental health. Those issues include situations of mental unease, such as low self-esteem, high anxiety, burnout, and stress, but also possible disorders such as depression. Unhappiness also leads to low motivation among developers, which is a critical issue in SE [22], as well as work withdrawal, even to the extent of quitting jobs. Investigation of these relationships is ongoing in psychology research [23] but are currently not adressed in SE research.
Finally, our results show that unhappiness makes developers take shortcuts in the process, often leading to low code quality. The results enforce several initial studies [9, 10, 24, 7] that attempt to understand the relationship between developers’ affect and software quality.
Our research has found a plethora of consequences of unhappiness that are of interest to practitioners regardless of their roles. We summarized the most prominent ones in the present paper, but practitioners could be interested in the complete list that is available as open data [14].
Intervening on the affect of developers might have relatively low cost but astonishing benefits [2]. Our study has expanded the previously gathered knowledge by suggesting that limiting unhappiness will limit the damage in terms of several factors from individual, artifact, and process perspectives.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] J. M. Zelenski, S. A. Murphy, and D. A. Jenkins, “The Happy-Productive Worker Thesis Revisited,” Journal of Happiness Studies , vol. 9, no. 4, pp. 521–537, 2008.
- 2[2] D. Graziotin, X. Wang, and P. Abrahamsson, “How do you feel, developer? An explanatory theory of the impact of affects on programming performance,” Peer J Computer Science , vol. 1, no. 1, p. e 18, Aug. 2015.
- 3[3] ——, “Happy software developers solve problems better: psychological measurements in empirical software engineering,” Peer J , vol. 2, p. e 289, 2014.
- 4[4] ——, “Do feelings matter? On the correlation of affects and the self-assessed productivity in software engineering,” Journal of Software: Evolution and Process , vol. 27, no. 7, pp. 467–487, 2014.
- 5[5] F. Fagerholm, M. Ikonen, P. Kettunen, J. Münch, V. Roto, and P. Abrahamsson, “Performance Alignment Work: How software developers experience the continuous adaptation of team performance in Lean and Agile environments,” Information and Software Technology , vol. 64, pp. 132–147, 2015.
- 6[6] S. C. Muller and T. Fritz, “Stuck and Frustrated or in Flow and Happy: Sensing Developers’ Emotions and Progress,” in 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering . IEEE, May 2015, pp. 688–699.
- 7[7] M. Ortu, B. Adams, G. Destefanis, P. Tourani, M. Marchesi, and R. Tonelli, “Are Bullies More Productive? Empirical Study of Affectiveness vs. Issue Fixing Time,” in 2015 IEEE/ACM 12th Working Conference on Mining Software Repositories (MSR) . IEEE, 2015, pp. 303–313.
- 8[8] N. Novielli, F. Calefato, and F. Lanubile, “The challenges of sentiment detection in the social programmer ecosystem,” in SSE 2015 Proceedings of the 7th International Workshop on Social Software Engineering . New York, New York, USA: ACM, Sep. 2015.
