We Need To Talk About Leaving

Dan Singer
Mar 16, 2018 · 6 min read

The demand for software engineers has never been stronger, which means that engineers hop around a lot. On average, a software engineer stays at a company for around 3 years. Meanwhile, rising salaries and rapidly-changing job requirements mean that every engineer has opportunities. When your best team members start to look around, it should come as no surprise: good engineers make data-driven decisions, and after three years, they have a lot of data about their current company, and want to see what others have to offer.

Salaries rising to meet demand (source)

The strong market for engineers means that retention is a challenge for every organization. The cost of turnover is high, so keeping good people is not only difficult, but high-stakes. Retaining engineers is also impossibly complex, because there are so many reasons for an engineer to leave. There may be concrete reasons, such as getting a new title or higher paycheck elsewhere. Sometimes the reasons are broader and fuzzier: engineers may take a job because it offers a chance to solve more interesting problems, or because they want to move to a different industry.

When problems become complex, listening to your team and addressing their concerns is not enough. You also need to break a common taboo in the workplace and talk openly with your engineers about the prospect of them leaving for another company. For your team member, finding a new job will always be an option. If they cannot discuss it, they will withdraw at just the time you can least afford to lose communication. An open dialog means you can help your team member when really thorny issues arise, and also support them if those issues cannot be solved, and leaving is the only answer.

Everything the light touches is solvable

As an engineer, learning to improve the organization around you does more than simply solve your immediate problems. Creating change requires leadership, organization and communication, exactly the skills you need to advance. No company will ever be a perfect fit. The ability to change your surroundings is necessary everywhere, and people who cannot change things when they are unhappy will be unhappy anywhere.

Some frustrations are concrete problems with clear solutions (e.g. I hate working with Greg), but others can seem intrinsic to the job (e.g. My role is uninteresting), with no obvious cause to address. Try to find creative solutions that make sense for the company.

  • Alex just got promoted to Senior Engineer, and wants to solve more interesting technical problems. Instead of looking for another company, he can move to a team that more regularly solves interesting technical issues. Alternatively, you can have him lead a complex initiative that has longer term value to the company.
  • Jessica wants to move to Portland. Instead of letting her jump to another company on another coast, she can work remote. There are lots of great strategies to incorporate remote workers into your company.
  • Olivia wants to take three months to travel around South America. Instead of taking time between jobs, see if she can arrange for extended unpaid leave.

Not all problems have a solution, but many do. If you can’t create a forum for your engineers to discuss their concerns, you cannot help them until it is too late.

Make Conversations a Safe Space

“If you’re unhappy, let’s figure out what to change. If we can’t change it, let’s figure out where you can go to be happier.”

Have this conversation early, and have it regularly. Bring it up right after your team member has successfully advocated for something, as a reminder that they have control over their environment. If you forget, you may find yourself playing catch-up: these conversations can feel forced or awkward right after someone else leaves. When things are going badly, the spectre of leaving looms over your 1–1s. At these times, just when you need buy-in from your team, a wall goes up between you and your seasoned engineers, and trust is harder to build.

Set goals for your team members that are closely tied to their reasons for staying at the company. There are lots of strategies for setting effective goals. Meaningful goals align naturally with reasons to stick around. If goals are superficial, your engineer will end up leaving despite their “progress”.

Some managers may avoid this conversation because they want to make it hard or uncomfortable to leave. Aside from a missed coaching opportunity, this also means you need to scramble when things go wrong. If you start to press engineers about staying only when things are bad, it is hard not to appear panicked or distrustful.

Others think that by talking about leaving, it will “remind” engineers to start looking around. This is mostly ridiculous for junior engineers, and completely ridiculous for experienced engineers who have already left a company to come to yours. If they somehow manage to forget by not hearing about it from you, they will be reminded by weekly recruiter emails in their inbox.

Saying goodbye is an enormous opportunity

Although the costs of turnover are high, they can be mitigated. The best way to minimize turnover cost is to improve the terms on which people leave. Advance notice means you can prime the recruiting pipeline for a backfill. With enough notice, you might even convince an engineer to stick around long enough to train someone new.

Some of the biggest benefits of an open dialog can come from helping your team member land their new job. You benefit via your own network: there is no greater favor to give to a colleague at another firm than to refer a good hire. If the situation allows it, collaborate with other managers at your company and have them make warm introductions.

The engineer also stands to benefit. The mentorship and support structures within a company are often not available for a job search. Job searches only happen a few times in life, so this is a rare opportunity to help your engineer with a process that they may not fully understand. Help them determine what they want, and help them go out and get it. Even if the search is unsuccessful, the process should at least help them to grow their network.

Finally, helping with a job search establishes a lasting relationship between you and your report. They may refer candidates to you in the future. They may ask to tap your network again for a future job search. They will certainly reach out to their network if you are ever looking. Helping with a job search can cement a close professional relationship for the future.

Open communication about leaving can generally be accomplished in 1–1s, but if your company has a particularly strong and empathetic culture, you can even have documented goals for an ideal “offboarding.” Include shared processes for how engineers should broach the topic, how much notice they would ideally give, and some things that the organization can do for them as they leave, and vice-versa. It can be hard to get buy-in from the whole organization, but remember that keeping these conversations taboo increases costs to the company in the long run.

When a team is good, an engineer leaving always stings. If you can maintain enough mutual trust to keep an open communication channel, then leaving will just be another part of life for members of your team.

Dan Singer

Written by

Engineer + Manager + Engineering Manager