Burnout is a serious and protracted illness. There is still no clear definition and diagnosis for it. Often, it is confused with depression.
A helpful description can be found, for example, at Burnout Prevention for Software Developers [1]:
Burnout is one of those things you don’t notice until you already have it. But people with symptoms of burnout are people who are generally always working, always on – they feel like they can never take a break or have downtime.
– Abby Kearns, Cloud Foundry
The consequences of burnout are severe for the individual developer, the team, and the company. The following list of some symptoms are consistently cited in How Not to Burnout: Guide for Software Developers [2]:
One could argue that burnout happens in every profession. But software engineering is particularly predestined for it. And there is a reason for that.
Software engineering has no limits. Work is not defined by a set number of hours per day, but by optimistic and sometimes arbitrary management deadlines. As one senior tech CEO told me, “I knew there was no chance of meeting my deadline, but I just wanted to get the engineering team to work faster.” In addition, understaffing of project teams is common because recruiting developers is difficult – and expensive. [3]
The publication Beware Burnout [3] lists the following software development-specific reasons for an increased probability to get burnout:
Other publications such as 7 Reasons why programmers burn out [4] and Only You Can Prevent Tech Burnout [5] list quite similar and further reasons. The various reasons the different authors find causal for increased susceptibility for burnout can be consolidated into four clusters:
Category |
Example |
---|---|
Lack of focus (A) |
Too many varying tasks. The developer e.g. works on the development of many new features but just a few will be completed. |
High workload and/or unbalanced distribution of tasks (B) |
High workload for some top developers, as only they have the skill to handle complex parts of the software. |
Significant share of “non-value” work (C) |
A high share of maintenance work and a low share of the development of new features/innovations becomes frustrating in the long run. |
Bad collaboration within and between development teams (D) |
Lack of onboarding/training of new colleagues. |
Table 1: Work condition categories and their influence on burnout of software developers
Of course, it also depends on very individual circumstances whether the employee suffers from burnout. But since it is a very serious and long-lasting disease, it is even more important to measure the known causes and their impact on the individual developer as early as possible and to implement prevention concepts. In the following sections, we show that many causes of burnout can be extracted by investigating the work on the software code.
The first step in burnout prevention is to identify indicators that are known or reasonably suspected to be associated with an increased susceptibility for burnout as shown in table 1. For the category clusters A, B, and C, we record the following parameters per developer over time with DETANGLE®:
What is the developer’s share of the workload of system maintenance vs. feature development?
How many features/user stories does a developer work on simultaneously and what is their effort distribution?
How many different source code directories is the developer working on simultaneously?
How many different programming languages is the developer working with?
Does a developer pose a project risk over a longer period of time due to his relevant and special knowledge, and is she/he aware of it (bus factor)?
The analysis of these data gives clear insights about working circumstances that are known to cause an over-proportional amount of employees burdened with burnout syndrome. For example, the higher the individual’s maintenance effort, the lower the proportion of real value-adding work that usually is seen as a satisfying activity (C). The higher the number of features/user stories and the higher the number of source code directories or programming languages, the lower the developer’s focus (A), whereas the Bus Factor also indirectly reflects his workload (B).
Figure 1 shows the Bus Factor, i.e. the number of key developers for the Django open-source project. It can be seen that their number has increased from 4 to 7 developers from 2019 to 2020, and about 12% of the developers are considered mission-critical and contribute to the Bus Factor. The loss of one of these developers is always a project risk. Since these key developers also usually have the highest workload and responsibility, they are particularly at risk for burnout. Thus, the Bus Factor is also an early indicator of the number of employees at risk for burnout. If a developer is recorded as a Bus Factor for a longer time, project management should try to rebalance his load and reduce his/her high level of continuous high importance for the project(s).
We have already addressed the causes of category D from the previous section (problem of poor cooperation) in several blogs. Under Software Due Diligence – Developers and their Cooperation in Focus [6] and The Diffusion of Responsibility Phenomenon Analyzed: Unravel the Truth [7] we have explained that it is not the star soloists, but the team players that matter in order to limit the stress level in the team while still improving productivity and quality.
Developing software is an intellectually challenging process for many brilliant minds. Software companies are, therefore, “people” companies. The risk of burnout is real and present given the challenges and pressure in software development projects. We strongly recommend identifying burnout indicators early on or even better continuously to minimize the risk of employees dropping out for months due to overwork or dissatisfaction.
Cape of Good Code has developed an analytical, software-based approach to identify indicators that describe the risk of burnout of an individual caused by working circumstances in software engineering.
By using DETANGLE® regularly, project leaders can gain insight about the work-induced stress level within their team. Each indicator gives specific hints of where the stress could come from. This allows project managers to reach out to that employee and discuss individual countermeasures. By speaking with the employee one can definitively clarify how stressful he/she perceives the work circumstances and whether he/she can further handle that stress level.
[0] Photo by Nataliya Vaitkevich from Pexels
[1] Burnout Prevention for Software Developers
[2] How Not to Burnout: Guide for Software Developers
[3] Beware Burnout
[4] 7 Reasons why programmers burn out
[5] Only You Can Prevent Tech Burnout
[6] Software Due Diligence – Developers and their Cooperation in Focus
[7] The Diffusion of Responsibility Phenomenon Analyzed: Unravel the Truth
Also published at: https://capeofgoodcode.com/2021/09/10/burnout-syndrome-why-it-hits-software-developers-so-often/