Marek Bartík
Marek Bartík
Creator of this blog.
May 15, 2020 13 min read

Reasons why are senior engineers leaving

Did you ever wonder: “Why are senior engineers leaving our company?”, then this blogpost might be just for you.

I'm going to talk about my own experience - my small social bubble, the people and companies around me, myself included, primarily talking about software engineers – even though I do hear the same from other fields too.

My point is not present any research or data but rather write a bit about the things that are happening around me. I know some of us keep all these things to ourselves and never really give this negative feedback to our managers – usually because they never ask.

Who are Senior Engineers anyway?

They might sound like spoiled shits who are benefiting from the job market situation but they care about people around them that might not be so privileged.

In any case, they are human beings with feelings, goals and lives outside of the office job.

What do they want?

Despite what you might think, money is not that important.

Most of the people we know care about the people they work with. We want to learn stuff and keep doing interesting and challenging work. That means limited on-calls, no overtime, no stress, no you-are-fullstack-hero. We want to focus on getting better at something while maintaining a good mental health.

We don’t want to measure our tools, play politics, sleep through meetings or do routine work. We don’t want to fix broken things we said would broke. We like to build and be creative. Are you saving on cost and at the same time you tell us to do the work a $5/month software could do. Hell no.

If you hire only students straight-out-of-school and pay them no money – hey, it’s not our spoiled-us talking, we're talking about getting paid enough so we can pay our rent, food and live a life with some dignity – at least be transparent about it. Just say it. Everybody knows it anyway!

Paying less to somebody who is an immigrant? Really? Like it wasn't hard enough to be an imigrant here in the first place!

Promotion means more money?

We might not be interested in getting promoted or getting a raise. We might be interested in getting less responsibilities, more flexibility, spending less time at the office. Even at the expense of getting a lower salary.

It’s not about the money, but money surely matter a lot too. If somebody offers us twice as much, it doesn't necessarily mean we can earn twice as much money, but we can work half the time and spent more time with family, hobbies or side gigs.

This article says people leave because of bad management or not being able to grow in the company. It happens much more often than people leaving for money or benefits.

But you are still going to tell the rest of the engineers that we left because of money, hm?

Does mission matter?

Hell yes it does! We need a direction. If we're lost, we need to know what direction to head. We rely on you being a leader and communicating the vision and mission. It matters to us! If we see it is just something that “hangs there on the wall” like a demotivotional poster and nobody gives a crap about it, we're out.

If we are promising our clients to be experts and give our 110% to them but all we see are things on fire, people being stressed, not sleeping and being rude to customers and all of that could have been prevented if you didn't overcommit in the first place, we're out.

Backlog priority

If there's a backlog full of tickets we created a long time ago and we never get to work on these, we get frustrated. We need some time for refactoring. We need some time to fix security issues. “Ah sorry, this ticket will not make it to the sprint, we gotta ship some features”. This happens all the time.

We want the product to be stable. It is very frustrating meeting somebody asking: “Oh you work at XYZ? I hate that product, it is so unstable and buggy”. We feel responsible! We're giving you our best years and we can’t show to the world how good we are because you don’t trust us on prioritizing backlog issues.

Take a look at SRE, measuring SLOs and prioritizing backlog based on error budget. Customer experience matters and features are not the most important thing in the backlog. If you don’t give a crap about your customers, at least give one about your employees and let them work on the things they want to work on – or they'll leave.

We want to fix one little thing and have to rewrite the whole codebase and wait months for the change to be in prod? Lead times matter.

But we are giving you an opportunity!

“You should be loyal and thankful, we are giving you an opportunity!". Why should we be loyal to you if you are not loyal to us? It doesn’t work one-way. You giving me opportunity? Come on, we're giving you opportunity as well. Are we telling you that? And why the hell do we talk about this only when we're asking for a raise or quitting?

Calm down your ego. We don’t owe you. You think you made us Senior Engineers? Sure you threw problems at us and we resolved them. You paid for our bills. But anyone else could. Same as anyone else could work for you. Our relationship is not special. We don’t owe each other. We did all the work. We grew to become Senior Engineers. How did you actually help us? Did you mentor us? Did you help us that time when we said we're working too much overtime and need you to hire somebody else to help?

You grew, we grew. You got a bigger revenue, we have to ask for a raise and have a reason? Did we really not carry any risk?

Let us do the work!

Let us work! We need time and space to focus on the tasks. You are the person who defends our precious time and deep focus. Don’t bother us. Be there for us when we need help or unblocking. But let’s agree on the times when we are available to you, other than that, give us uninterrupted time to focus. Prefer asynchronous communication. Let us work from home.

Don’t expect we will reply immediately. If we're not replying, it doesn’t mean we don’t work. It means we're fully focused on work. Trust us. Don’t micromanage us.

Middle management

Have a flat hierarchy. You are a “startup” with 6 levels of management and just handful of people doing the actual work, other “managers” ideating and making decisions behind the curtain. Really? In what universe does this make sense?

Chances are that your customers are paying you because you create value for them. They don’t pay you for “ideating how you would create value if you could” and micromanaging your employees.

You are there to serve your colleagues, they are the experts and they tell you what to do and why. Not the other way around. How do you do decisions? There is one CxO that needs to agree on everything. That is the bottleneck. It doesn’t scale well. Look at Jeff Bezos, he hires the best people and lets them decide. He usually fights them and doesn’t agree with them, but he always lets them make the final decision. He is nothing more than a consultant trying to pitch in with his view, but he doesn’t make the final call.

Expose yourself. Make the people feel safe to tell you that you are an idiot and you are wrong. Let us talk and listen. If you do 1:1 and you won’t keep your mouth shut, it is not 1:1. Also, please don't manage people.

Let the people tell you that you made a mistake or a wrong decision. That makes you a leader we want to follow.

Communicate

Be great at communication! Communication is not easy! (hint: that doesn’t mean you need a soft-skills workshop, okay?)

Be consistent about decisions, tell everybody who not only needs to know but to those that want to know too! Try to limit those “important ad-hoc meetings to communicate something”. Try to write it down and communicate it asynchronously. An email or wiki to communicate reasoning behind decisions and changes in the company that are transparent and available for everybody are important. Especially if you have remote workers. They will love you for that.

Overcommunicate rather than undercommunicate. It is better to hear something twice rathet than not at all. It is stressing us out if we are being left out of decision making and being informed about something important when we happen to be on vacations…

Communicate the negative things, unhappy customers and failed projects in the company communication channels too! Be transparent. We value transparency. But do act on improving on the negative feedback. Communicating it is just the first step.

Be there for us

If you call yourself a manager, be there for the people. They need you. we need you. We expect you to be available. You can’t be a “hobby manager. Sure you have your family, but you also have a company to run. You chose to have a lot of employees. Spend some time with them. Don’t spend all the time on holidays and just come “for the important meetings” to “manage things”.

You say you “manage things”? You don’t get to “manage things without putting in some real work. Want to be a leader? Did the people choose you to lead? What do they expect from your leadership? Do you ask them this question on a regular basis? Maybe you should.

As a leader you need the people to trust you. If they expect you to take care of them, take care of them. If they expect you will fight for them, fight for them. From what we see, you can earn trust if you don’t call yourself a manager that is unavailable because of meetings but you get your hands dirty. You are a servant, not a boss.

We are all very different. We all have different needs. One might like designing and creative work more than somebody else. That somebody else might be stressed about designing something but likes to descriptively implement a solution. Find the talents and skills in people, help them improve and let them do what they are best at. We all benefit.

We have lives outside of this job

One thing we see very often is “being on fire is fine”. Imagine we schedule a 1:1 with you to tell you we're burned-out. We're unmotivated. We're not doing creative work. We work overtime. We're stressed. We can’t focus. We're mentally down. It took us a lot of energy to come to tell you! Do you hear us? We might have never talked about our mental health with anybody but we took all our courage and came to you to tell you that.

We're sitting here, feeling awkward, ashamed and lost. But for you, it is just daily routine. You think it is normal when people are stressed and depressed? You think it is normal for people to complain all the time about not following our vision, working overtime, being stressed by on-call, taking antidepressants, waking up in the middle of the night? That is not normal. This should be your biggest priority. People are super important to your business. When they are this angry and tired, how much do you think they are productive? Not much. We gossip, look for other jobs and can’t focus on doing the work.

Let us educate ourselves. Do you think we're gonna learn a lot firefighting and resolving everything as it happens? We need some time to read blogposts and books, watch videos, attend conferences and meetups, try new things, contribute to open source, consult things with our colleagues and external peers. We need the time and energy to think about what we're doing and how could we do it the best. We need a different perspective.

But we're not going to do that on the weekends. Sure, when we're straight out of school and we don’t have family, we will – though we don’t owe you for that, see “becoming a senior engineer and owing you” above – but we're not going to do that forever. We need to do it during the 40h work week. We just need to.

Work is not the most important thing for us. And that should be fine for you.

Trust, both ways

Hire people that you can trust will do their best to follow your mission. If you can’t trust them or they don’t deliver – fire them, fire us! This is business! You are not our family. If there’s somebody who is doing a bad job and their colleagues need to fix it afterwards. He/she is overpromising and doesn’t deliver? Get rid of them. They are stressing off the rest.

Don’t manipulate your people. Telling them fairy tales how great you are, the technical leaders on the market, cutting-edge technology developer… Really?

There are two kinds of people in your company, those who know it is not true… and the other kind who doesn’t know but will eventually find out. Hey, we're not saying be super-humble. No no. Celebrate your victories and be confident, but don’t lie. There is a line not to be crossed.

Be a decent human at least

Do we sound too demanding? Do we want you to be super-manager? We don't need that. What we need is for you to be a decent human at least. That's a great first step.

Monkey see, monkey do. If this is how you refer to your employees, you are a piece of you-know-what.

People are not “resources”, they are human beings. It doesn't matter how many levels away you are from them.

The thing about seniority

You don’t get to become a senior engineer with age only. They are many folks working in the field for quite some years and we wouldn’t consider them senior engineers. You don’t get to be promoted to senior engineers just because you put the time in. This is stressing the other engineers who “deserve” the title more.

Same with becoming a manager. You don’t get to become a manager when you get old. Say you are very technical and you like to build things and they force you to do a management position and have direct reports – and you hate it. Your direct reports are not getting what they expect from you. Why wouldn’t you drop the management position? Does somebody need to tell you?

Maybe your business sucks?

Not all the time it is about being a bad manager. Sometimes the business model sucks, the market changed, company pivoted, whatever. The game changed and we didn’t join the company with these rules.

The “technical people” in your team are not idiots who don’t understand business. If you don’t grow as fast as they are growing, they leave for a better business. Maybe you should too.

they already left…

They left. Celebrate them, talk nicely about them. They are not “haters who betrayed you”. You are only going to make angry the rest of the engineers who stayed.

But some engineers are staying! Well yeah, people don’t leave jobs immediately. They have mortgages or rents and debt to pay. The fact they keep working for you doesn’t mean they won’t leave soon.

However, not always a senior engineer leaving means you are a bad company or a bad manager. Some people just get bored or need a new challenge, have different priorities. Don’t stress yourself over it too much.

Summary

This article had to get out of me! I keep hearing all smart people around me ranting about their work and bosses. How does anybody get anything done? Why is everybody so stressed over it? It is just a job!