Code review is one of a TL's highest-leverage activities: it protects quality and teaches. The goal is better code and a stronger team, not gatekeeping. Reviews should be fast, kind, and focused on what matters.
Principles
✓ Review the CODE, never the person ("this function" not "you")
✓ Distinguish must-fix from nice-to-have (label nits explicitly)
✓ Ask questions, don't issue commands ("what about X?" invites discussion)
✓ Praise good work, not just problems
✓ Be fast — a PR blocked for two days kills momentum
✓ Approve when it's good enough, not perfect
A concrete example
Instead of "This is wrong, use a map," write: "nit: a map here would avoid the nested loop, worth it? Not blocking." Same point, but it teaches, leaves room to disagree, and doesn't block the merge.
