Why do software engineers leave their jobs?
I asked this question in a large Slack group for programmers, and, well, it got a huge response — I think there was a thread with 40 replies at one point. Needless to say, it’s a contentious topic!
Of course, we all know that having a bad manager is the No. 1 reason that people leave their jobs. We know this because there’s no shortage of research and “research” that say so. But what if what we think we know is wrong? What if developers — and quite likely people in plenty of other roles — do not quit primarily because of bad managers?
Why do they quit, then? The answer is important because the key to understanding why people might come to a company lies in understanding why they might leave a company.
The Addiction Among Software Engineers
The first thing you need to know about software engineers is that they are automators. They can spend a year writing code that might permanently eliminate 10 or even 100 jobs, so it makes sense that they are in demand. That is, when used correctly.
But engineers often are not used correctly. What I mean by that is that many companies don’t give developers challenging work. They treat software engineers as data-entry workers rather than creative professionals. As a result, projects fail, work becomes unfulfilling, and employee experiences turn into death marches.
Here’s what it comes down to: Software engineers are addicted to learning. New technology, challenges, languages, paradigms. Programmers like it when you throw this stuff at them. What they don’t like is stagnation. Unfortunately, developers who want to and truly can make a real impact often feel like they’re working under non-technical management that just doesn’t “get it.”
Many recruiters don’t get it either. I see so many generic subject lines to attract developers:
“Jobs Jobs Jobs!”
“Full-Stack Contract Opening!”
“Looking for new opportunities?”
Yawn. Do you know which tech the developer will use? Can you cite anything interesting about projects the person will get to work on? You should infuse the answers to these questions into your job ads — because individuals are much more apt to apply for roles if you can speak their language and if they feel like they have opportunities to grow their skills.
Money Matters
Especially early in their careers, programmers know they can get a 20% pay bump every time they switch jobs. I’m not implying that money is important. I’m actually saying it. When an engineer gets a 2% raise and the person’s pay is falling behind the market rate, then yeah, that individual is going to look for new work.
The takeaway here is that when performance reviews happen and bonuses are given out at the largest employers in your city, find out which firms chronically pay below market rate. Chances are, you can find people who are unhappy with their salary and then compensate them more to fill your reqs.
Any by the way, along with pay, software engineers also expect greater flexibility than many other types of professionals. Moreover, if a company is structured correctly, then programmers can work just as effectively (if not more so) away from the office.
The biggest perk you can offer developers is remote work — just putting “remote” in a subject line can easily be a huge carrot.
Bad Management — Not Necessarily Bad Bosses
Software projects are notorious for costing a lot and being delivered later than estimated. So much so that dozens of books have been written on this topic. Here are a few:
A badly managed software project can impact an entire company, and a middle manager can’t do much to provide realistic direction to top executives who have no understanding of how to build software. Layers of middle-management are just stuck reacting as they try to protect their direct reports. This destroys the work environment for engineers, the best ones of whom will be the first to leave once they see a project is doomed.
Consequently, it helps to learn the landscape of the area in which you are recruiting. Chances are, there’s a big corporation that’s treating its 500 engineers badly. That’s your opportunity to snatch them up.