Exploring the Human Side of Software Engineering: How Emotions Shape Development
Nathan Cassee defended his PhD thesis cum laude at the Department of Mathematics and Computer Science on Thursday, October 31st.

Software engineering has traditionally been seen as a highly technical field, but research by PhD researcher highlights its human side鈥攅specially the role of emotions in the development process. Because of the breadth and quality of the research he was awarded his doctorate cum laude, signifying his high academic achievement.
Given existing stereotypes, it is easy to assume that software engineering is a solely technical discipline. However, modern software engineering is a very social and collaborative profession, and it is clear that emotions, such as frustration or satisfaction, influence teamwork and productivity in software projects.
Nathan Cassee noticed that while researchers had shown that developers express emotions in technical communication, little was known about how the expression of these emotions affects technical decision making. This knowledge gap can make it harder for teams to understand, manage, or improve their collaboration.
Aiming for Better Teamwork in Software Engineering
To address this, Cassee studied three aspects of emotions in software engineering: existing theory in literature, how well existing tools detect emotions in software-related communication, and how developers use emotions in practical tasks like managing technical debt.
By studying these areas, Cassee aimed to improve how teams communicate and prioritize work, ultimately leading to better teamwork and outcomes in software development.
What Research Says About Emotions in Software Development
By reviewing 185 primary studies, Cassee鈥檚 research found that most research focuses on whether emotions like frustration, motivation, or satisfaction are present among software engineers.
While these studies often link emotions to outcomes, such as slower task completion, they rarely explain how or why emotions impact the work鈥攍eaving questions about whether frustration directly affects productivity or is just one of many factors.
Using Tools to Measure Emotions in Software Work
Detecting emotions in software discussions is challenging because of the technical lingo used by developers in emails, chat messages, and code comments.
To analyze these emotions, researchers use sentiment analysis tools to analyze these emotions to assess whether the tone is positive, neutral, or negative. These tools are custom-built by software engineering researchers to ensure they can deal with the technical lingo.
To develop guidelines describing how these tools can accurately study emotions in software engineering, Cassee compared traditional machine-learning tools with newer deep-learning models.
While both types of tools appear to perform similarly, Cassee found they each struggled with different text types鈥攑oliteness might confuse deep-learning models, while more traditional tools have more difficulty with informal or brief messages.
Practical Insights: How Negative Language Helps Prioritize Technical Debt
A key focus of Cassee鈥檚 research was the study of Self-Admitted Technical Debt (). SATD are explicit admissions of suboptimal design choices by developers. While you might expect these admissions to be factual, Cassee has found that developers frequently use negative emotions to describe SATD.
To understand why developers use negativity, Cassee has studied both the beliefs and the actions of developers to find that negative language leads developers to perceive technical debt as more urgent, even if the issue isn鈥檛 critical. This underscores how emotions can subtly impact decision-making in software teams, often without conscious awareness.
Why Understanding Emotions in Software Matters
Recognizing the emotional side of software engineering is crucial for improving productivity and teamwork. Software projects rely on collaboration, and emotions are fundamental for interpersonal communication and decision making. By understanding how emotions affect these interactions, companies and researchers can create better tools and practices to support healthy teamwork.
Modern software engineering is more than just a technical job; it involves a lot of social interaction. Cassee鈥檚 research showed that the emotions developers express can shape how they work together and even influence how developers make technical decisions.
Software shapes our world, but it鈥檚 built by people, not just code. Understanding the emotions and communication of those creating it helps us see the human side of technology鈥攁nd why it matters to all of us.
Title of PhD thesis:
Supervisors: prof.dr. A. Serebrenik, (University of Bari)

Short interview with Nathan Cassee:
What is the most important finding from your research, and how could it affect society in a way that everyone can understand?
"We discovered how and why developers use negative emotions to describe technical issues in source code. This negativity then influences how other developers perceive the importance or priority of the described technical issues. By understanding how an angry description written by a developer affects prioritization, we can educate developers on how the language they use can inadvertently affect decision-making, and our findings can be used by future researchers to develop and test tools that remove these expressions of emotions. We think this is especially important as we also find that almost 50% of developers don't think negativity should be used to describe technical issues."
What was the most significant finding from your research, and what aspects turned out to be most important to you?
"For me, the findings related to the practice of software engineering, the findings related to Self-Admitted Technical Debt are the most significant. By combining a wide-range of different research methods we could describe, from different perspectives, how developers communicate about technical issues present in source code. These different perspectives allow us to describe not only the beliefs and values of developers, but we were also able to study and describe the actual behavior of developers. Studying the behavior of developers is always quite challenging, and any steps we can make in this area can help educate and inform developers."
What was your motivation to work on this research project?
"During my bachelors I've worked at two companies during internships, and during my master's, I worked part-time as a software engineer. This experience has shown me how important it is to understand not just the technical aspects of software engineering, but also the behavior of software engineers. In this project, my promotors, Professor Serebrenik and dr. Novielli, and I had a lot of freedom to focus on the aspects of collaborative software engineering that I find most interesting. This has greatly increased my motivation, because we could focus on the aspects of sentiment in software engineering that we found most interesting."
What was the greatest obstacle that you met on the PhD journey?
"Looking back at the past five years, no obstacle immediately stands out. Maybe it is because I'm looking back through rose-colored glasses. However, one obstacle I've faced at the start of my PhD was the social isolation. A PhD can be quite a solitary journey, especially in the end as you're trying to understand and define your research. That initial year occurred during the Covid lockdowns, making it very difficult to meet fellow PhD candidates and discuss my experiences, doubts, and struggles. During this initial year, there were certainly times when I almost lost motivation."
What did you learn about yourself during your PhD research journey? Did you develop additional new skills over the course of the PhD research?
"The list of things I've learned during my PhD is much too long and diverse to list here. What I did not expect at the start of my PhD is the number of skills I had to learn that are not directly related to research. This includes skills related to teaching, networking, organization, multi-tasking, programming, and visualization skills. Looking back, I'm quite confident that I've grown a lot during my PhD, and I'm surprised at the number of different skills I've had to learn to complete my PhD."
What are your plans for after your PhD research?
"I'm very happy to report that I'm starting as a postdoctoral fellow at the University of Victoria, in Canada, British Columbia, on the 25th of November. I've acquired funding, and under the supervision of Professor Storey and Dr. Ernst I will study how the adoption of ChatGPT by developers affects collaboration. We will focus on the experiences of traditionally underrepresented groups in software engineering, to understand whether generative AI amplifies existing biases. By studying these effects we hope to be able to design or describe mitigations that can be used by developers to reduce harmful effects."