Code Reviews: Quality Control or Ego Olympics?
TL;DR
Code reviews often become ego-driven performances where seniors nitpick preferences instead of catching real issues. This toxic culture drives away talent and stifles learning. Reviews should focus on bugs, mentorship, and collaboration—not proving superiority.
Key Takeaways
- •Many code reviews focus on personal preferences and nitpicking rather than catching actual bugs or security issues.
- •Toxic review cultures create moving goalposts, silence as power, and drive junior developers away.
- •Good reviews should be dialogues that share knowledge, ask questions, and build confidence—not lectures.
- •Senior developers should examine their motives: are they improving code or performing expertise?
- •The best reviews often start with what's working and focus on what truly matters for the solution.
Tags
Let's talk about what's really happening in your code reviews.
You know that junior who just quit? The one who mentioned in their exit interview that your reviews made them feel like they'd never be good enough? Yeah, that happened on my team. And before you think "well, my juniors love my feedback," ask yourself: would they actually tell you if they didn't?
This isn't about pointing fingers. Well, you know what, actually - it is. Because too many senior developers have turned code review into a performance art, and it's time we called it out. I'm guilty of this too. But that doesn't mean we shouldn't shine a light on what's happening across the industry.
🎭 The Theater of "Best Practices"
Here's the pattern. A junior submits a PR that solves the problem elegantly. Tests pass. Logic is sound. Then you roll in with:
- "This variable should be
userDatanotuser" - "Can we make this more functional?"
- "I would've used a factory pattern here"
- "Hmm, interesting approach..." (Translation: "This is wrong but I want to sound thoughtful")
Meanwhile, the actual bug they missed? The edge case that'll crash production? You didn't catch it because you were too busy debating whether their function should be called processData or handleDataProcessing.
You're not reviewing their code. You're performing your expertise.
⚔️ The Nitpicking Power Trip
Let's be honest about what code review has become for many seniors: a weapon. Maybe not intentionally malicious, but the impact is the same.
The Perfectionist's Playground
Every PR becomes an opportunity to demonstrate how you would've done it better—not how to make their code better.
You sneak in obscure patterns you just learned. You reference architectural decisions from your previous company as if they were universal truths. You leave comments that are really just you thinking out loud, not actionable feedback.
The Moving Goalpost Game
- 🥇 Round 1: "Use more descriptive names"
- 🥈 Round 2: "Actually, these names are too verbose"
- 🥉 Round 3: "Can you just rewrite this whole function?"
- 💀 Round 4: They've given up and are updating their résumé
Sound familiar? If you're doing this, you're not "maintaining standards." You're hazing people.
The Silent Treatment
Three days. No comments. No approval. Just... silence.
You tell yourself you're "too busy" or "need to think about it more." But really? You're procrastinating on the hard work of giving good feedback. And that silence? It gives you power. It makes you the bottleneck. It makes people wait on you.
That's not leadership. That's gatekeeping.
🚨 The Real Problems You're Ignoring
While you're arguing about syntax sugar, here's what you're not asking:
- Does this actually solve the user's problem?
- Are we introducing technical debt?
- Is this even the right feature to build?
- Will this scale?
- Did anyone test beyond the happy path?
But sure, argue about whether this should be a class or a function. Because those debates make you feel smart. The hard questions? Those require actual thought.
🤷♂️ "But Code Quality!"
Yeah, everyone justifies it with "code quality."
But here's what you're actually creating:
- Junior devs who learn to write code that passes your review, not code that's good
- A team where real learning stops happening
- An environment where innovation dies under the weight of your preference-based nitpicking
You're not raising the bar. You're just moving it around to stay relevant.
🧪 The Ego Test
Your review culture is toxic when:
- You block PRs over style preferences that aren't in any style guide—they're just your preferences
- Your comments focus on how they did it, not whether it works
- You approve garbage from other seniors while eviscerating juniors for the same mistakes
- Discussion threads become longer than the diff itself—because you can't let go
- You find yourself thinking "if I don't find something wrong, people will question why they need me"
If you recognize yourself in any of these, congratulations: you're part of the problem.
✅ What Code Reviews Should Actually Be
Code reviews should:
- Catch bugs & security issues (you know, things that matter)
- Share WHY certain approaches are better, not just assert that they are
- Verify the solution fits the problem
- Ensure tests actually test what matters
- Be a dialogue, not a lecture
Notice what's missing?
Proving you're smarter than the author.
🌱 What a Good Review Actually Looks Like
What most seniors write:
"This won't scale. Rewrite using the repository pattern."
What mentorship looks like:
"Nice fix! One concern: this queries the database in a loop, which might be slow with lots of records. Could you batch it? Happy to pair on it if helpful—here's what worked for us before: [some link]. But if there's a reason for this approach I'm missing, let me know!"
The first is gatekeeping. The second is collaboration.
Which one are you doing?
🌑 The Uncomfortable Truth
Most review comments are performative.
They're cover-your-ass disguised as quality control. They're you protecting your position as the "senior" who knows better. They're you afraid that if you don't find something wrong, people will question why they need you.
And yes, I've been guilty of this too. But recognizing the problem doesn't absolve any of us from fixing it.
🤔 Questions to Ask Before You Hit "Submit"
Before you leave that next review comment, force yourself to answer:
- Am I reviewing to improve code, or to show off?
- Is this comment useful or just critical?
- Am I blocking over preferences or real issues?
- Would I accept this code if another senior wrote it?
- Will this comment help them grow, or just make them feel small?
If you're honest with yourself, you'll probably delete half your comments.
🧾 The Bottom Line
Good code review:
- catches bugs
- spreads knowledge
- improves systems
- builds confidence
Bad code review:
- hazes people
- slows teams
- protects egos
- drives talent away
Sometimes the best review you can give is:
"Looks good, shipping."
And when you do have feedback, lead with what's working before you mention what needs work. Ask questions instead of making pronouncements. Treat every PR author like the capable professional they are.
Here's the challenge: Go look at your last 10 code reviews. Really look at them. How many of your comments were about actual problems versus personal preferences? How many times did you ask questions versus make demands? How many PRs could have shipped a day earlier if you'd focused on what mattered?
The job of a senior developer/reviewer isn't to be gatekeepers. It's to open gates. It's to build people up, not tear them down. It's to use our experience to make the team better, not to prove we're the smartest person in the room.
The question is: are you doing that?
Or are you just running your own ego Olympics, and calling it code review?