Code Review as Conversation, Not Gatekeeping
Code review is either your team’s superpower or its bottleneck. The difference is in the approach.
The goal
Code review serves three purposes:
- Catch bugs before they reach production
- Share knowledge across the team
- Maintain standards without becoming bureaucratic
If reviews feel like gatekeeping, something’s broken.
Our ground rules
For authors
Keep it small. Under 400 lines changed. Large PRs get superficial reviews—the reviewer’s attention is finite.
# Ideal PR scope
✓ One feature or fix
✓ Related changes only
✓ Can be understood in 15 minutes
Write context. What problem does this solve? Why this approach? What alternatives did you consider?
Self-review first. Read your own diff before requesting review. You’ll catch half the issues yourself.
For reviewers
Assume good intent. The author made choices for reasons. Ask before assuming they’re wrong.
# Instead of:
"This is wrong, use X instead"
# Try:
"What led you to this approach? I've seen X work well for similar cases"
Distinguish preferences from problems. Prefix stylistic suggestions with “nit:” so authors know what’s optional.
Approve with comments. If minor issues don’t block shipping, approve and let the author address them. Don’t create round-trip delays for nitpicks.
Timing
We aim for:
- First response within 4 hours (during overlap hours)
- Approval or detailed feedback within 24 hours
Slow reviews kill momentum. Fast reviews compound.
What we look for
- Does it work? — Logic errors, edge cases, error handling
- Is it clear? — Naming, structure, comments where needed
- Is it tested? — Happy path plus failure modes
- Will it scale? — Not prematurely, but obviously bad patterns
What we don’t nitpick: formatting (that’s what Prettier is for), import order, bracket style. Automate the automatable.
The best code reviews feel like pair programming, async. Two people making the code better together—not one person defending their work against another.