On this blog, we’ve taken on some questions that seem as though they’d be too general to answer. For instance, we looked at what programmers wear to work and whether programming is hard. And now, in that same vein, I’ll answer the question, “are software engineers happy?”
Of course, you must understand that this involves painting with a broad brush. How could it not?
So the idea here isn’t to peg every software engineer on the planet, nor to speak in absolutes. Rather, it’s about taking a look at the most common case for those of us in the field.
I’ll give you a short, quick answer. Then I’ll list some of the things that detract from a software engineer’s happiness before elaborating in more detail on happiness factors.
Are Software Engineers Happy? The Short Version
Alright, so here’s the short quick answer. Are software engineers happy?
By and large, yes. In employment survey after employment survey, software engineer scores high marks. The combination of autonomy, pay, flexibility, and job satisfaction leads to software engineers being quite happy compared to people in other professions. For instance, check out this recent survey from US News rating it the best job there is.
Of course not every survey out there puts it at number one. But you’ll consistently find it in the top 5 or 10, especially when you factor in variants of the software engineer title.
So given that you see a pretty consistent ranking of the gig as a top job, it’s reasonable to conclude that software engineers are relatively happy. Now, let’s dig into why that is.
Some Things That Do Detract from a Software Developer’s Happiness
First, though, let’s look at some factors that might take away from a software developer’s happiness. I’m listing these not to somehow undermine my own point, but rather to give you a complete picture.
Even a job consistently ranked among the top jobs to have won’t be all smiles and sunshine all the time. Here are some of the rough parts of software engineering:
- The software world has been and remains to be much less demographically diverse than other industries. This can lead to feelings of isolation and discouragement for a lot of software engineers.
- In a lot of organizations, management/leadership is strictly non-technical, which leads to a frustrating understanding gap (to which software folks sometimes respond to by making fun of management).
- Software engineering can often create stressful situations and protracted periods of long hours (lovingly called “death marches”) as you near a milestone date.
- The constant need to learn new technologies, skills, frameworks, and programming languages can prove exhausting for some people.
- In large organizations, a frustrating amount of bureaucracy can creep in and make progress feel slow.
- There are people who get into it knowing that it makes for a good career, but they actually don’t like the work.
Typically, when you encounter unhappy software engineers, some combination of these factors drives the unhappiness.
But on the Whole, Happiness Is High, Which Makes Sense
So on the other side, what drives happiness? Here’s my take, based not just on reading surveys on the subject, but on years of being a software developer and being surrounded by software developers.
When you enjoy the work and avoid toxic situations, here are the ways that you tend to enjoy your life as a software engineer.
1. Relative Affluence
Let’s start with the elephant in the room: money.
You’ve no doubt heard that programmers tend to make good money. And I can’t dispute that notion. A quick look at Glassdoor, at the time of this writing, has the average U.S. software engineer salary now eclipsing $100,000 per year.
That’s up considerably from even as little as 5 years ago when I last regularly hired software engineers and kept closer track of their compensation.
So you have a profession that averages a six-figure salary, with that figure only increasing. And, while there’s actually a cap past which additional income has no bearing on happiness, making more than enough to live comfortably will, at the very least, stave off unhappiness.
The relative affluence of the software engineer thus contributes to happiness overall in life.
2. More Work Perks Than the Average Gig
On top of making more money in salary, software engineers also tend to enjoy more work perks, as well. Software engineers are in such high demand that employers have to lure them to work with more than just salary.
Silicon Valley made a number of such perks famous. Engineers working there commonly enjoy free lunches, video games at the office, massages, sabbaticals, and even more exotic sorts of benefits.
But more common companies around the country get in on the competition as well, offering a more practical but powerful type of perk. These tend to include relaxed dress codes, flexible work hours, remote work allowances, and various other offerings designed to make life more convenient and a work-life balance a priority.
And all of this comes, of course, on top of nice standard perks that well-compensated employees typically enjoy.
All of this perk culture adds up to not only material wealth but a lifestyle of flexibility and relative autonomy when compared to standard modes of employment that emphasize commutes, physical presence, and toil.
3. Do Your Hobby As a Job
Switching gears a little, here’s a source of joy that really always spoke to me in my software engineering travels. I’m talking about the feeling of doing a hobby as a job.
Programming is fun for me. As I’ve said before, successful software engineers tend to love to build stuff. Many love it so much they do it in their spare time, as a hobby.
So what you have is a situation where you earn money to do something you’d enjoy doing for free. I always personally thought of software engineering as collecting a paycheck for doing brain teasers all day—something that I’d happily do to bide the time anyway.
Now, don’t get me wrong. Plenty of programming you do at work is a slog compared to building some kind of robot or home automation setup at home. And, it’s also not fun in the way that, say beers with your buddies or game night with the kids is fun.
But it’s fun nonetheless, and enjoying your work is an immense contributing factor to a happy life.
4. Entrepreneurial/Side Hustle Upside
Another strong contributing factor to happiness is the potential career autonomy that you get from software engineering. Meaning, if you’re a software engineer, you’re a little closer than most to striking out on your own as a freelancer or starting your own company.
Now, don’t get me wrong. You can start a side hustle or a full-time hustle with just about any background if you’re sufficiently determined.
But remember, companies have an intense need for software development work. So whether you offer it to them as an employee or freelancer, contractor or consultant, small business owner or intern, they’ll take what they can get. This is a significant leg up when you’re angling toward entrepreneurship.
And compared to other vocations, software engineering has low barriers to entries. Doctors and lawyers have years of expensive schooling and certification to contend with. Laborers require expensive sets of tools, and engineers often require significant investments in equipment.
5. (Sometimes Irrational) Expectation of Future Wealth
The last thing that I’ll mention here has a slightly different flavor to it. The last four items represented unambiguous benefits, but this one… not so much.
The idea here is that software developers not only have enough in life to be happy, but they also expect more to come later. Many assume they’ll become multimillionaires or enjoy outsize success, perhaps even when not entirely warranted.
So you see the conundrum. On the one hand, the expectation of future fortune will certainly make you happy. But on the other hand (assuming you fall somewhere short), you’re teeing yourself up for future disappointment.
I think it’s good to close with this one because it demonstrates that the happiness of a software engineer has two levels of depth. One is the surface level, where we recognize that software development objectively correlates with a lot of the things that make people happy in life. But if we dive a little deeper, software engineers are happy because they have an (overly) bullish take on their own lot in life, both now and later.
No Vocation Is Perfect, But Software Development Is Pretty Good
So what does it all mean on balance? Well, it means that being a software engineer is a pretty good deal.
If you get into this line of work, and assuming that you like the work and aren’t put off by some of the circumstances, you can expect good things.
- You’ll do well financially.
- Disproportionate numbers of perks will come your way.
- You get to enjoy your work.
- Many opportunities will find you.
- And you’ll expect even more opportunities than the ones that find you.
That all adds up to a recipe for a pretty happy life.
So, are software engineers happy? They are. And rightfully so.
This post was written by Erik Dietrich. Erik is a veteran of the software world and has occupied just about every position in it: developer, architect, manager, CIO, and, eventually, independent management and strategy consultant. This breadth of experience has allowed him to speak to all industry personas and to write several books and countless blog posts on dozens of sites.