I lead a team of 7+ engineers and I still write code every day. People keep telling me one of these has to give. I disagree: the trick is picking the right code, which means giving away the interesting problems and keeping a hand in the boring ones.
Why I keep coding
The weeks I stop coding, my technical opinions go stale in about ten days. I start reviewing PRs by pattern matching instead of understanding. I approve designs that look right and turn out to be painful, because I no longer feel where the codebase hurts.
Writing code is how I stay calibrated. It is not about output, it is about judgment.
Pick work that cannot be held hostage
What keeps it sustainable is picking the right code. I stopped taking critical path features. If my week explodes with people problems, a critical feature stalls with me.
Instead I take the work nobody prioritizes: the flaky test, the slow query, the tooling. Real code, real value, no deadline hostage.
The mistake I made early
The mistake I made early as a lead was the opposite one. I held onto the hardest problems because I was the fastest at them. That is not leading. That is hoarding the fun parts while your team grows slower than it should.
Give away the interesting problems. Keep a hand in the boring ones. That is the whole trick, and it took me two years to learn it.
Takeaways
- Stop coding and your technical judgment goes stale quickly.
- Do not take critical path work; your calendar will eventually block it.
- Take the neglected work: flaky tests, slow queries, tooling.
- Hand the hardest, most interesting problems to your team so they grow.
Building something like this?
I'm Ahmed Mamdouh, a senior full-stack & AI engineer. I reply within one working day.