What do you think being a software engineer is like? High pressure? Always racing deadlines? A daily schedule that’s the opposite of everyone else’s? Respected? Having to keep learning nonstop or get eliminated in no time?

A recent Swedish survey of 1,300 software engineers looked into whether engineers really live miserable, unhappy lives: Are Software Developers Miserable? The result showed that software engineers are, on average, “slightly happy.” That is good news for companies, since employee happiness is positively correlated with productivity, and having engineers who are happy on average should mean more stable, positive output over the long run.

So why might software engineers be unhappy? The chart above shows the top ten factors that make engineers unhappy. The nature of this work is solving problems, and getting stuck along the way for all sorts of reasons is the most common and widespread cause of unhappiness. Of course, looked at from the other side, the sense of accomplishment that comes from solving a problem is also the main source of an engineer’s happiness.

Time pressure, badly written code left behind by others or by whoever came before, and teammates who do not pull their weight are among the top reasons engineers are unhappy. For me, there is a line I have always treated as a personal motto: “You are supposed to struggle.” A software engineer can be stuck on one bug for hours, or for days. Engineers are given relatively high salaries not only because talent is in short supply, but mainly because the work is challenging, with hard challenges arriving all the time.

Since the work is this hard and good people are this hard to find, many companies here in Silicon Valley try to keep employees happy and free from distractions outside of work. On top of perks like free meals, more snacks than you can eat and more drinks than you can finish, there are ergonomic standing desks and computer chairs, education stipends, free gyms, free dry cleaning, house cleaning services, and so on. Bought in bulk, these may not cost the company much, but they help employees and their families a great deal. When people feel settled and happy, they can write code at full efficiency with nothing weighing on their minds. :)

Comments and emails are welcome. If I got anything wrong, please point it out, and if you repost this, please credit the source. Thank you.


This post was originally published on my former blog, 「半路出家軟體工程師在矽谷」, on April 29, 2017. The blog is now offline, and the full text is preserved by the Wayback Machine. It has been lightly edited for this site.