LeadershipJun 20267 min read

Staying Hands-On as a Technical Lead: Why I Still Write Code

The player-coach model isn't a compromise between managing and building — it's a deliberate operating mode. Here's how I keep shipping production code while leading a team, and where I draw the lines.

DILJOT SINGH · TECHNICAL LEAD

When I moved from SDE-II to Technical Lead, the most common advice I got was some version of "step back from the code." I understand where it comes from — a lead who hoards the interesting work starves the team. But stepping back entirely is how technical leaders lose the thing that made them useful: accurate judgment about what the system can and cannot do.

Three years into leading teams, I still write and review production code every week. This is not nostalgia. It's a deliberate operating mode, and it has rules.

Why judgment decays faster than you think

Architecture decisions are only as good as your mental model of the codebase, and that model rots quickly. A lead who hasn't touched the deployment pipeline in six months will confidently estimate a change at two days that actually takes two weeks — because they're estimating against the codebase as it existed when they last worked in it.

Every technical debt conversation, every build-vs-buy call, every "can we ship this by Friday" answer depends on a current model. Reading code keeps the model alive; writing code stress-tests it. When I personally hit the flaky test suite or the slow local setup, I don't need a retro to tell me developer experience is degrading.

What I take, and what I never take

The failure mode of the hands-on lead is well documented: they take the critical-path work, become the bottleneck, and block the team twice — once by being too busy to unblock others, and again by absorbing the work that would have grown someone else. The fix isn't to stop coding. It's to be disciplined about which code you take.

Code review is the highest-leverage hour of my day

If I could only keep one hands-on activity, it would be review. A thoughtful review teaches the author, keeps my model of the codebase current, and sets standards without a single meeting. I structure reviews in two passes: first pass for design — does this change belong here, does it create a coupling we'll regret — and second pass for correctness. Design feedback delivered after someone has polished the details is demoralizing and expensive, so it comes first, quickly, sometimes on the draft PR.

The goal of a lead's code review is not to catch bugs. It's to transmit judgment — so that next quarter, the review wouldn't have been necessary.

The calendar mechanics

None of this survives contact with a meeting-heavy calendar unless it's defended structurally. What works for me: coding time lives in two protected half-day blocks per week, meetings cluster on the other days, and I treat interruptions to those blocks the way I'd treat interrupting an engineer mid-task — allowed for incidents, not for status. I also stopped measuring my coding contribution in tickets closed. The measure is whether the team ships faster and the architecture holds. Code is the input; those are the outputs.

Takeaways