Sitemap

SOFTWARE ENGINEERING

Why Great Engineering Managers Shouldn’t Code

Being a developer made you great. Staying a developer might hold your team back.

3 min readJun 6, 2025

--

Press enter or click to view image in full size
Photo by Campaign Creators on Unsplash

In tech, we often promote the best developers into management roles — and then quietly expect them to do two jobs at once. Lead the team and build the product.

It sounds heroic. It sounds efficient.

But in practice, it’s a fast road to bottlenecks, burnout, and broken teams.

So let’s get real:

If you’re a software development manager, you shouldn’t be spending most of your time writing production code.

Here’s why — and what you should be doing instead.

The Problems with Managers Writing Code Full-Time

  1. You Become the Bottleneck

Your code is likely well-written — but it also comes with a price. If your work is in the critical path and you’re pulled into a meeting, blocked by budget discussions, or out sick… your team stalls.

Leadership work is interrupt-driven.

Engineering work needs flow.

You can’t do both well at once.

2. You Disrupt Ownership and Growth

When a manager takes the “juicy” technical problems, team members get the leftovers — bugs, glue code, or low-risk tickets.

This signals two dangerous messages:

• “I don’t trust you to handle the important stuff.”

• “The only path to influence is through heroics.”

Long-term, this stunts growth, morale, and retention.

3. You Send the Wrong Signal About Your Role

If you spend most of your time writing code, your team will assume that’s what success looks like.

But as a dev manager, your success is measured by:

• Team delivery

• People development

• Systemic improvement

Writing production code may feel good — but it distracts from your core responsibility: enabling the team to succeed without you.

What You Should Be Doing Instead

You don’t have to give up coding entirely — but you should change how you engage.

1. Build Proofs of Concept (PoCs)

Instead of writing production code:

• Create PoCs for risky ideas

• Prototype patterns you want to introduce

• De-risk new technologies before handing them to the team

This gives you technical influence without owning deliverables.

2. Help Debug or Unblock — But Don’t Own

Jump in when someone’s stuck — not to take over, but to ask the right questions, share intuition, or trace root causes.

Be the voice that says:

“Let’s solve this together. Then next time, you’ll know what to try first.”

That’s mentorship in motion.

3. Architect and Align

As a dev manager, you have a broader view than any single engineer. Use that to:

• Spot architectural drift

• Prevent duplicated work

• Align initiatives across teams

That’s real leverage. And it makes you the multiplier your team needs.

4. Coach, Not Code

Engineers grow by solving hard problems, not by watching you solve them. So:

• Challenge your senior devs to own domains

• Support their growth with regular feedback

• Build systems that scale team excellence — not personal brilliance

Final Thought: From Maker to Multiplier

You were hired into management for a reason. Not just because you write great code — but because you can grow people, solve systemic problems, and make the whole team better.

That’s not easy.

But it’s how engineering leaders are forged.

So step back from the IDE.

Write PoCs, unblock your team, shape the architecture — but give your devs the keys.

Because the best managers aren’t the best coders in the room.

They’re the ones who make everyone else better.

--

--

gravity well (Rob Tomlin)
gravity well (Rob Tomlin)

Written by gravity well (Rob Tomlin)

Sr. Software Engineering Manager. Explorer, learner, teacher, and more

Responses (19)