Top 10 reasons why developers are unhappy

programmers unhappy
Bas van Essen

Startup founders tumble over each other to get skilled programmers, software houses can’t easily handle all the demand, while both complain the number of graduating developers is too small. No wonder why developers’ depressions nowadays mostly are related to their jobs..

A research team from universities in Trondheim, Bolzano, Stuttgart and Helsinki recently wrote an article called ‘On the Unhappiness of Software Developers’, in which they reported about a developer satisfaction survey that was completed by about 1300 programmers.

programmers participating in survey

Two positive outcomes for the software industry

Two positive outcomes came to the surface after examining the answers of the programmers. On average, software developers are a slightly happy group of workers, expressed by a 9.05 on a scale of -16 and +24. Additionally the ones that aren’t, are unhappy because of company factors rather than their private life. So, employers have an opportunity here to increase the satisfaction of their programmers and by this enhancing their overall performance.

Top 10 factors that make developers unhappy

Take a look at the top 10 of dissatisfying factors and consider them to be points of particular interest for the coming years. Let’s make the lives of our programmers much easier!

programmer stuck in a problem

Examples of potential solutions:

  • choosing more efficient programming languages,
  • more collaborative ways of coding
  • a company culture that supports openness about any kind of problem.

not enough time for programmers because of deadlines

Examples of potential solutions:

  • choosing more efficient programming languages,
  • improving product management,
  • another approach of engineering design,
  • more efficient and time saving infrastructures such as serverless computing.

Low code quality and programming practice

Examples of potential solutions:

  • again choosing for more efficient programming languages,
  • more collaborative ways of coding,
  • in-company courses tackling the most common bad coding practices
  • more efficient and time saving infrastructures such as serverless computing, so that the team gets the opportunity to create more focus.

colleagues performancing less than the expected

Examples of potential solutions:

  • more collaborative ways of coding,
  • supporting a company culture where engineers dare to constructively criticize each other,
  • in-company courses tackling the most common bad coding practices,
  • better supervision over developers’ performances.

Not experiencing efficiency in work

Examples of potential solutions: 

  • more collaborative ways of coding and as such helping each other,
  • a company culture that supports openness about any kind of problem,
  • in-company courses about best-practices and key concepts for the business logic of the involved software project.

 

tedious and monotonous work

Examples of potential solutions:

  • automation of repetitive work such as prefabricated code,
  • organise compensating challenges such as hackathons,
  • introduce the 80/20 rule,
  • introduce gamification around several recurring software development tasks.

no explanation for broken code

Examples of potential solutions:

  • more collaborative ways of coding and as such helping each other,
  • supporting a company culture where engineers dare to constructively criticize each other,
  • in-company courses tackling the most common bad coding practices,
  • choosing more proper coding languages,
  • more uncompromising style of product management

bad management or leadership

Examples of potential solutions: 

  • more collaborative ways of coding, also involving higher-level decision making,
  • more decision empowerment to the ones most closely to certain parts of projects,
  • a company culture more closely related to holacracy,
  • a company culture where engineers dare to constructively criticize each other

resources limit software development

Examples of potential solutions:

  • a new stack,
  • more proper programming languages,
  • another infrastructure,
  • a better assessment process for resources selection

private problem - not job related


Examples of potential solutions:

  • a company culture that supports openness about any kind of problem.

Sources research results and images:

Graziotin, Daniel; Fagerholm, Fabian; Wang, Xiaofeng; Abrahamsson, Pekka (2017): Online appendix: the happiness of software developers. figshare. Collection.



Also published on Medium.