The Tech Lead Handbook · The Tech Lead Role

Coding vs Leading: Where Your Time Goes

How much a tech lead should code, which work to keep and which to give away, with a small model of how a lead's time disappears.

Scenario

Example team: Priya (from What a Tech Lead Owns) agreed her scope with her manager. Two months later she still carries a full sprint of tickets, plus reviews, design questions, interviews and incident follow-ups. Her tickets are always the last to finish.

What you see on the team

  • The sprint board shows the lead's tickets "in progress" for a week or more.
  • Critical-path work waits on her; she becomes the reason the sprint slips.
  • Reviews and design answers happen late in the evening, in a rush.
  • She feels guilty about meetings because "real work" is coding.

The common mistake

Keeping a full individual workload and doing leadership "on the side" — or the opposite, stopping coding entirely and losing touch with the code base.

Why it happens

Leadership work is fragmented and invisible: a review here, a question there, a meeting. It never appears on the board, so it never gets capacity, and the lead's coding time is quietly consumed. The simulation below models a week.

Where a tech lead's week goesTry it yourself
HOURS = 40
# Hours per week spent on leadership work (example numbers for a team of 7)
leadership = {
    "code reviews (7 people)": 6,
    "design questions / pairing": 5,
    "planning, refinement, standup": 4,
    "incidents and on-call follow-up": 3,
    "1:1s with manager and product": 2,
    "interviews": 3,
    "cross-team syncs": 3,
}
used = sum(leadership.values())
coding = HOURS - used
for task, h in leadership.items():
    print(f"{task:34} {h:>2} h")
print(f"{'leadership total':34} {used:>2} h")
print(f"{'left for coding':34} {coding:>2} h  ({coding / HOURS:.0%} of the week)")

# A full sprint of tickets assumes ~30 focused hours.
planned = 30
print(f"\nPlanned ticket work: {planned} h -> share finished this week: {min(1, coding / planned):.0%}")

Output

code reviews (7 people)             6 h
design questions / pairing          5 h
planning, refinement, standup       4 h
incidents and on-call follow-up     3 h
1:1s with manager and product       2 h
interviews                          3 h
cross-team syncs                    3 h
leadership total                   26 h
left for coding                    14 h  (35% of the week)

Planned ticket work: 30 h -> share finished this week: 47%

Twenty-six hours of leadership work leave fourteen for coding — and those fourteen are fragmented. Planning a full sprint of tickets for the lead guarantees they slip.

The playbook

Plan the lead at ~30–50% coding capacity and make the leadership work visible: put "reviews", "design support" and "interviews" on the board or in planning as capacity.

Keep work that keeps you close to the code but off the critical path:

  • spikes and prototypes for upcoming designs;
  • tooling and developer-experience fixes;
  • pairing on hard problems, with someone else as the driver;
  • small, well-bounded tickets that can wait a day.

Give away work that creates bottlenecks:

  • the riskiest critical-path ticket (delegate it with support — see Mentoring and Delegation);
  • sole ownership of a subsystem;
  • being the only reviewer for an area.

Batch interruptions. Review twice a day; hold "office hours" for design questions; protect two half-days a week for deep work.

What to say

In sprint planning:

"I'm going to plan myself at 40% this sprint — the rest is reviews, the payments design and two interview loops. I'll take the reporting script and the flaky-test fix; Ana, can you own the refund API change? I'll pair with you on the ledger part."

Trade-offs

  • Too little coding erodes judgement and credibility; keep at least some regular hands-on work, even if it's tooling or prototypes.
  • Office hours can slow urgent questions; keep an escape hatch for real blockers.
  • Delegating the hard ticket costs time now (support, review) and pays back as team capability.

Signals it's working

  • The lead's tickets finish within the sprint; none are on the critical path.
  • Review latency is stable even in weeks with interviews.
  • Others own and deliver the risky tickets, with the lead pairing.
  • The lead still knows the code well enough to review designs credibly.

Key points

  • Leadership work is real work: plan it as capacity, not as overhead on top of a full sprint.
  • Plan a tech lead at roughly 30–50% coding, on work that keeps them close to the code but off the critical path.
  • Delegate critical-path tickets with support; batch reviews and questions.
  • Never stop coding entirely — keep prototypes, tooling or pairing.

Practice questions

Your tech lead's tickets always finish last. What do you change in planning?

Answer

Plan their capacity at 30–50% coding, make reviews, design support and interviews visible as capacity, and assign them work off the critical path (prototypes, tooling, small tickets) while others own the critical-path items with the lead pairing.

Which work should a tech lead keep, and which should they give away?

Answer

Keep: prototypes and spikes, tooling, pairing as navigator, small non-urgent tickets. Give away: the riskiest critical-path ticket (with support), sole ownership of a subsystem, being the only reviewer of an area.

Why is stopping coding completely a risk for a tech lead?

Answer

They lose context on the code base and tooling, their design reviews become less grounded, and their credibility with the team drops. Keeping regular small hands-on work avoids this without blocking delivery.

Open in the app to mark lessons complete, take notes and track your progress.