What’s ‘Developer Satisfaction’ anyway?

Michael Partel
7 min readMay 6, 2021
The Tower of Babel (1563) — Pieter Bruegel the Elder

A look into developer happiness due to language and gender-confidence over time from StackOverflow’s Developer Survey 2018–2020

Introduction

Companies are always looking at ways to say their employees has the “highest happiness” or are the “most capable”, but what does that actually mean? Surveys are fun like that — anonymity can give people the freedom to speak their minds. Or to run interference for just to annoy the survey providers. From the data itself, you might call your boss a moron or you might not bother to fill in the answer at all.

When asked if you are capable or not, maybe you feel emboldened enough to say you’re the best (and who didn’t put “Expert” of something on their first resumes?) . Maybe you’ll finally be honest and put exactly what you want to work on — and more importantly, what you don’t want to work with.

All of this comes back to the Developer Survey — StackOverflow’s annual one, to be precise, which has been putting out the data every year since 2016. Not all the questions remain the same — the ones we’re talking about are actually only present in the newer releases. Just to hit a couple of stats on it:

For 2019 alone, there were 85 questions with almost 89k respondents and includes questions like:

“Do you code as a hobby?”

“How confident are you that your manager knows what they are doing?”

“For the specific work you do, and the years of experience you have, how do you rate your own level of competence?”

I have a few personal thoughts on these ranging from fairly mundane to somewhat less innocuous, but the point is really to see if the data can tell us what other people think and if that trends anywhere.

Section 1 — The first few things I thought of when I heard about the survey data was: What are the most popular languages that developers want to work with? Which ones are the most popular and which are up-and-coming? How has this changed over time? You always see social media and blog posts discussing the “Top 10 Languages to Learn in 20XX” so why not see how they stack up against SO’s developers? Our data comes from:

“Which of the following programming, scripting, and markup languages have you done extensive development work in over the past year, and which do you want to work in over the next year?”

In the 2020 Survey table below, you quickly see that C remains King with Java, Python, and JavaScript holding court. This trend is fairly consistent for 2018 and 2019 with the caveat that C used to have a market share of 13.6% and now it is only 11.3% (drastic, I know). Heck, HTML/CSS and SQL are also holding steady just afterwards at around 7%, but they too are slowly losing share.

I also love to point out that poor VBA holds a somewhat consistent 3%.

Ok, so, if those are the rankings, how are they actually changing up?

This table shows a fairly simple set of deltas between 2018 and 2020 — and simply put, C and Java are the biggest loss-leaders for the three years of data losing 2.3% and 1.9% respectively.

Where we start to make that up is in things like Rust and TypeScript (1.5% and 1.3% each). I’m honestly surprised things like Go had so few candles burning, but it is up from the 2018 share of 4.1% to a whopping 4.2%!

All of this is still predicated on the fact that these are StackOverflow users and while they run the gambit from student to greybeard professional, they are not necessarily the best statistical representation of all programming enthusiasts.

Section 2 — Given the previous line of thinking and some of the other questions from the survey, I got to wondering… How do the languages a developer wants to utilize impact a developer’s job satisfaction? There is something to be said about how well you like your job when you are paid well for it, but what about based on what your tool bag looks like? If you get to play with your toys rather than what you’re told to deal with, does that actually matter?

Simply put:

“How satisfied are you with your current job?”

Easy question, but when was the last time you really thought about it. Seriously thought about it. Did you tie you happiness at work to anything in particular? Probably a few things come to mind like work friends, an easy-going boss, remote work. Let’s see what language choice suggests.

First off, the delightfully pointed table effectively says “nope.” Well, not literally, but our range of satisfaction impact is roughly -0.1 to +0.1. That’s really not much to go on here, but I’d like to at least see how this plays out.

The majority of languages seem to correlate with a negative impact to satisfaction at work — big or small, that sounds kinda terrible, doesn’t it? The tools you have to use make you (ever so slightly) less happy. We have Scala, Dart, Erlang, and Objective-C all causing drops (-0.1, -0.09, -0.086 and -0.084)

The interesting thing to me is that of all the languages, Bash/Shell/PowerShell represents the biggest positive impact (+0.11)! Who’d have thunk it?

If we drop the thought that working with your toy makes work more enjoyable and pick up the other thought that maybe you don’t need anything special, fancy, shiny, or heavy duty — you just want to do some light scripting or basic command-line work. If I’m not mistaken, that was the first thing I did in my Into to CS college courses and what we have our new-hires go over during onboarding.

Helping your job be easier might just be enough.

Section 3 — Now, stick with me on this one… Think back to the last time you learned something to make yourself marketable. Maybe we’re talking as a college grad who just put their first resume together and you thought you were a top player. Grandmaster-level even. Now come back here —think about how far you’ve come since then. What do you think of your past self? Were they right? Kudos, if so.

“How do developers evaluate their own competency given their years of experience and gender?” It’s often said that men and women have widely different opinions of their own abilities and that younger men, specifically, tend towards over-confidence or at least, state higher levels of expertise than women would at the same age. I don’t want to say I’m out to prove one way or the other, I’m just curious if we can see it!

What a doozy! We know the data says we’re at a ratio of 10:1 men to women / non-binary folks so looking at a normalized plot can only help so much. If you look closely, you can see on the low-experience side (left), Women consistently score themselves more as either Average (3) or A little above average (4) while Men tend to hit from Average (3) all the way up to Far Above Average (5). Non-Binary people also seem to follow the trend Men do.

A better view might include separating them all out. Here we just have men — nice high concentrations around A little above average, but plenty above and just below. The other interesting note is how consistently men also score themselves at Far below average (1).

Once you compare with this next plot, it’s much more apparent how much less women score themselves in comparison. We couldn’t see it all overlaid, but Average (3) and A little above average (4) are significantly more used by women.

The data isn’t consistently here so I can’t explicitly say men have a tendency to be overconfident in their abilities or that they at least will say they are more capable at lower experience levels when women wouldn’t, but I can say men seem to be more likely, or maybe more willing, to claim a slice of that wider range. At the very least, I lean towards that belief.

Conclusion

Over the course of this article, we examined a few years of the StackOverflow Developer Survey (2018–2020) to look at how programming languages are valued and how developers see themselves.

  1. We checked out what everyone seems to be looking forward (or not) to using each year and saw that industry standards like C and Java are losing ground and Rust looks to be picking it up.
  2. We looked at how our own tools might impact our happiness to find out many such as Scala, Dart, Erlang, and Objective-C, but that something as simple as Bash/Shell/Powershell actually improves the mood.
  3. Finally, we pitted the genders against one another to find out we’re not so different after all — except for a tendency to think they’re more talented when they are younger. We all do it. Men tend to a bit more.

All of this comes down to looking at a bit of data and seeing what it can do. Hopefully it helps you think about what your satisfaction as a developer is.

Github with code and technicals available here.

--

--