What happens when software developers are (un)happy

Individual Sustainability

Authors: Daniel Graziotin, Fabian Fagerholm, Xiaofeng Weng, Pekka Abrahamsson

Year: 2018

Published in: Journal of Systems and Software.

Read me: DOI: 10.1016/j.jss.2018.02.041. Website.

Abstract: The growing literature on affect among software developers mostly reports on the linkage between happiness, software quality, and developer productivity. Understanding happiness and unhappiness in all its components – positive and negative emotions and moods – is an attractive and important endeavor. Scholars in industrial and organizational psychology have suggested that understanding happiness and unhappiness could lead to cost-effective ways of enhancing working conditions, job performance, and to limiting the occurrence of psychological disorders. Our comprehension of the consequences of (un)happiness among developers is still too shallow, being mainly expressed in terms of development productivity and software quality. In this paper, we study what happens when developers are happy and unhappy while developing software. Qualitative data analysis of responses given by 317 questionnaire participants identified 42 consequences of unhappiness and 32 of happiness. We found consequences of happiness and unhappiness that are beneficial and detrimental for developers’ mental well-being, the software development process, and the produced artifacts. Our classification scheme, available as open data enables new happiness research opportunities of cause-effect type, and it can act as a guideline for practitioners for identifying damaging effects of unhappiness and for fostering happiness on the job.

Annotation

By Elias Stenhede Johansson, Gustav Leth-Espensen, Florian Ecker-Eckhofen, Gustav Emil Nobert. 🪧Slides.

Introduction

The paper “What happens when software developers are (un)happy”, is a paper based on the responses of 317 software developers to a questionnaire. The paper was published in 2018 and the questionnaire consisted of questions related to the developers’ overall happiness at work and their satisfaction with different aspects of their job. The sample population consisted of software developers which had public profiles with contact information on GitHub, working in different fields, both open source and proprietary products. The questionnaire was sent out to a random subset of these developers, and 317 valid responses were received. The responses were then put into categories for negative and positive responses, as well as various subcategories.

The paper focuses on the individual part of sustainable software engineering and the purpose of the paper was to deepen the knowledge about which consequences, both to the developer and to the resulting work, could be observed when software developers are happy or unhappy. This is relevant for basically anyone working as software developer, such as company leaders, project managers, human resources employees or even customers that have direct contact with developers.

Related work

In the introduction of the paper, the happy-productive worker thesis is introduced. The authors point to several studies that support the happy-productive worker thesis and give some examples of the concrete benefits that can arise when software developers are happy. For example, happy coders perceive themselves as being better problem solvers. It has also been shown empirically that there exists a positive correlation between positive affect and debugging performance.

Results

After categorizing the responses the authors found 250 instances of negative consequences caused by unhappiness, as well as 340 instances of positive consequences caused by happiness. These instances were then divided into categories with the purpose to see which consequences were most common, the top five consequences resulting from happiness and unhappiness are presented in [happy]{reference-type=”ref” reference=”happy”} and 2{reference-type=”ref” reference=”unhappy”} respectively. From these results, we can note that the top three consequences of both happiness and unhappiness are mirror images of each other, and that impact on productivity is the most commonly reported effect.

Happy developers

Consequence Freq.
High productivity 61
High motivation 42
High code quality 38
Higher self-accomplishment 23
High work engagement/perseverance 20

Unhappy developers

Consequence Freq.
Low productivity 59
Low code quality 30
Low motivation 21
Work withdrawal 18
Delay 18

Even though in total, more consequences of happiness were reported, the authors managed to categorize these consequences into 32 categories, whereas the consequences of unhappiness had to be divided into 42 different categories. According to the authors, this is because the participants explained their negative experiences in more detail. The authors hypothesize that this might be because humans are prone to focus more on negative experiences.

The authors also divided the instances of consequences into the categories developer’s own wellbeing and external and found that in 55 % of cases, unhappiness resulted in external consequences, whereas the same number for happiness was 48 %.

Conclusion

Understanding happiness and unhappiness among developers is essential for creating a productive and stable work environment. If done correctly this can lead to higher productivity and better quality code, while mitigating stress, burnout and other adverse effects.

– 📖 –