Part 8 · Senior & Interview Prep · Intermediate
Review Process & Communication
Scope discipline (architecture first, syntax last), comment phrasing that lands, block-vs-note judgment, checklists as team artifacts, and mentoring through reviews.
Scope discipline: architecture first, syntax last
The most common senior-review failure is inverted priorities: forty comments about naming on a component whose fundamental approach is wrong. If the architecture is wrong, every style comment is wasted on code that should not survive — and the author, having dutifully fixed forty nits, now feels entitled to a merge. Review in ordered passes and stop at the first pass that fails .
THE THREE-PASS REVIEW — stop at the first failing pass
PASS 1: INTENT & ARCHITECTURE (5 min, read the description
Is this the right change? and the shape of the diff)
Does it fit the env's structure?
── fails? → one conversation, zero line comments. STOP.
PASS 2: CHECKING INTEGRITY (15-20 min, line by line on
Constraints, timing, drain, the artifact checklists)
vacuity, bins, fork hygiene
── findings here are BLOCK comments.
PASS 3: MAINTAINABILITY (5 min)
Naming, duplication, dead code,
comments that contradict the code
── findings here are NOTES — author's choice unless repeated.Pass 1 deserves emphasis: when the approach is wrong, the correct medium is a conversation (or a single summary comment proposing the alternative), not a line-by-line markup. Line comments on doomed code communicate 'fix these and merge' no matter what the summary says.
Comments that land
A review comment has two jobs: transmit the technical finding, and keep the author on your side for the next hundred reviews. Phrasing carries half the load.
Phrasing rules
Question form for anything you are less than certain of: 'Can ready arrive in the same cycle as valid here? If so, does this wait hang?' — invites the author to either fix it or teach you, both wins.
Severity tags on every comment: [BLOCK], [NOTE], [QUESTION], [NIT] — the author should never have to guess what gates the merge.
Criticize the code's behavior, never the author's judgment: 'this drive races with the DUT sample' not 'you always forget clocking blocks'.
Cite the rule, not your rank: link the checklist item, the spec section, or the past bug — 'see SVA checklist item 3 / bug #2241' beats 'I prefer it this way'.
One positive observation per review when genuine — reviewers who only emit defects train authors to dread and delay review.
Block vs note: the line
BLOCK: correctness of checking (anything from the artifact checklists), races, missing reset handling, unreachable stimulus space, vacuous assertions, silent drops — and architectural misfit per pass 1.
NOTE: naming, structure preferences, optimization, style — even when you are right, these are the author's call this round; promote to BLOCK only if the team standard explicitly requires it.
The test: 'if this merges as-is, can a bug escape or a future debug get materially harder?' Yes → block. No → note.
Never bundle: a block buried in twelve nits gets the nit treatment. Lead with blocks, separate the rest.
Checklists as team artifacts, and mentoring through review
A checklist that lives in one senior's head dies with their attention span and walks out the door with their resignation. Make it a versioned team artifact: every escaped bug's post-mortem proposes a checklist line; every line cites the bug that earned it. The checklist then becomes self-justifying — when an author asks 'why does this matter?', the answer is a bug number, not an opinion.
Mentoring through reviews
Reviews are the highest-bandwidth teaching channel a senior has — a finding explained well in review context sticks better than any training deck.
Explain the failure mode, not just the fix: 'unchecked randomize keeps stale values, which passes today and corrupts the day a constraint conflicts' builds judgment; 'add an if' builds compliance.
Calibrate depth to the author: a new grad gets the why behind every block; a senior peer gets terse tags and trust.
Track repeat findings per author privately — three of the same finding means the lesson did not land; switch from comments to a pairing session.
Let authors self-review against the checklist before requesting review — the checklist's real win is bugs that never reach the reviewer.
Key takeaways
Review in three passes — intent, checking integrity, maintainability — and stop at the first failing pass.
Tag every comment with severity; block only on correctness and architecture, and never bury blocks in nits.
Question-form comments and cited rules transmit findings without spending relationship capital.
Checklists earn lines from escaped bugs and live as versioned team artifacts — review is also how teams learn.
Common pitfalls
Forty style comments on architecturally doomed code — wasted effort and a false promise of mergeability.
Severity-free comments that force authors to guess what gates the merge.
Pulling rank ('change it because I said so') where a checklist line or bug number would convince.
Re-teaching the same finding in comments forever instead of escalating to a pairing session.