Code Review That Teaches — Not Just Slows Merges
What separates reviews that grow engineers from reviews that just choke the queue
5 min read · June 18, 2026
#SoftwareEngineering #CodeReview #PullRequests #EngineeringMentorship #TechLead

Your team's median time-to-merge looks fine. Then you pull the P75 and someone is still waiting three days on a forty-line fix while a thousand-line refactor sailed through in an afternoon with two "LGTM"s. Same process, same tools, same "we do code review" slide in onboarding. The difference isn't whether you review — it's whether the review has a job: grow the author, or prove the reviewer was thorough.
Most teams never name that job. They optimize for reviewer certainty and call it quality.
The Gatekeeping Review — Same Tool, Different Job
Gatekeeping reviews feel serious. Every thread sounds mandatory. Style nits sit next to security findings. The author can't tell what's blocking merge and what's a sermon. So they stop taking risks, stop sending small follow-up PRs, and start batching monster diffs — which makes the next review worse code review pitfalls survey.
Teaching reviews use the same GitHub tab. The difference is classification. A blocking comment says this cannot ship. A teach comment says carry this pattern forward. A nit says I'd polish this; your call. When those collapse into one voice, authors read everything as veto power. That's how review gets a reputation for slowing merges when the real bottleneck is confusion — reviewers who don't understand the change, authors who don't know what's required research on confusion in code reviews.
Slow merges also hide in the toolchain. Empirical work on Gerrit and Phabricator found long idle gaps after acceptance — in more than half of cases, nothing happens between LGTM and merge code velocity preprint. Meta's engineering org tracked the same shape: median review hours looked healthy; the slow tail (P75) predicted dissatisfaction better than the median Meta code review time. Teams blame "strict review culture" for latency that's queue hygiene and routing.
The Three Comment Species — Block, Teach, Nit
Google's reviewer guide is blunt: favor approval when code health improves, even if the CL isn't perfect Google code review standard. Educational comments are welcome — prefix them Nit: when they're not required for merge. That's not softness. It's taxonomy.
Try it on one hunk — auth middleware that logs user id on failure:
- Block: "This logs the raw session token. Redact or hash before merge." Health regression. Ship stops.
- Teach: "We usually wrap auth failures in
AppErrorso the filter maps them once. Worth aligning here — not blocking if you file a follow-up." Pattern transfer. Can merge. - Nit: "Nit: rename
err→authErrfor grep-ability." Polish. Author's call.
Most gatekeeping teams leave all three in the same tone. Authors treat nits as hidden blockers and blockers as negotiable. Reviewers burn cycles re-litigating style while the security bug slips through because everyone is tired.
Label in the first sentence. Don't make the author parse subtext. Blocking comments get urgency and a clear fix. Teach comments name the principle and whether merge is still OK. Nits get the prefix and an explicit out.
The Size Cliff — Where Review Stops Teaching
You cannot mentor through a thousand-line diff. You can skim it and perform diligence. Survey work with nine hundred Microsoft practitioners matches what you've seen: as change size grows, review time grows and feedback quality drops Greiler on review pitfalls. At some point the reviewer isn't teaching. They're rubber-stamping because the working-memory budget is gone.
The workable band isn't mystical. A few hundred lines where you can hold the intent, the failure modes, and the tests in your head at once. Forty lines of middleware — you can teach. Twelve hundred lines of "cleanup" — you get drive-by nits on variable names and a missed auth bug because nobody could see the system move.
Split the refactor. Sequence the teachable slices. If the author says "it's all related," your answer is "then it's not reviewable." That's not bureaucracy — it's the size cliff.
Approve Imperfect — The Counterintuitive Teaching Move
The senior move that gatekeeping teams refuse: approve when health improves. Google's standard is continuous improvement, not perfection theater reviewer standard. Delaying a CL that makes the codebase better because a teach thread isn't resolved yet trains authors to hoard work and reviewers to filibuster.
That doesn't mean approve garbage. It means separate "must fix" from "should learn." Unresolved teach threads can become issues, docs, pairing — they don't have to block this merge if the regression risk is contained.
Reviewers who need 100% certainty before approve aren't raising the bar. They're exporting their anxiety to the queue. Authors learn to hide mistakes in bigger batches. Everybody loses.
Habits That Shift a Team Without Dropping the Bar
You don't need a new tool. You need three habits:
- Slot 1 — Label discipline — First word tells the species: Block / Teach / Nit. No hybrid paragraphs.
- Slot 2 — Author context — Five sentences in the PR description: what, why, how to test, what you're unsure about. Reviewer archaeology is where confusion breeds delay.
- Slot 3 — Size enforcement — Reviewers refuse mega-PRs unless they're generated noise. Offer a split plan instead of LGTM.
Modern code review was always supposed to transfer knowledge, not just catch defects modern code review survey. The teams that grow engineers treat review as curriculum with a merge button. The teams that slow merges treat it as court with a merge button. Same ceremony. Different outcome.
Teach on the small diff. Block on the real regression. Nit with permission. Approve when health is up.
Gatekeeping is a full inbox. Teaching is a labeled one.
More in Team
Your First Sprint Retrospective — Without the Venting Session
What to prepare before the room, what to say when everyone's staring at you, and what to do the week after so the retro isn't theater.
6 min · June 8, 2026
Your First On-Call Rotation — What to Expect
The pager anxiety, the runbooks, and what 3am actually looks like before you've lived it
6 min · June 1, 2026
How to Build a Culture of Accountability in IT Teams
The problem isn't that your engineers don't care. It's that the environment taught them not to.
8 min · May 29, 2026