top of page

Tutorial 8: Handle Disagreement in Reviews

  • Contributor
  • 4 days ago
  • 2 min read

Disagreement is normal. How you handle it shapes team trust over years.

Step 1: Distinguish Preferences from Principles (10 min)

  • Preference: "I'd organize this differently."

  • Principle: "This will lose data."

Preferences are negotiable. Principles aren't.

Misclassifying preferences as principles = endless arguments over taste.

Step 2: Be Specific About Why (10 min)

✗ "This is wrong."
✓ "This loses idempotency — concurrent retries will double-charge."

Vague disagreement = ego-trigger. Specific = engageable.

State the concrete impact, not the feeling.

Step 3: Ask Before Asserting (5 min)

"What's the reasoning for the recursion here? I'd be tempted to make it iterative for the stack-safety reasons."

Author may have:

  • A reason you don't see

  • An option you didn't know

  • A trade-off they considered

Ask first. Push if the answer doesn't satisfy.

Step 4: Limit Threads (10 min)

After 3-4 back-and-forth comments:

  • Hop on a call

  • Pair on it

  • Find a third opinion

Long async threads spiral. The medium amplifies friction.

Step 5: Bring Data (10 min)

"I benchmarked: the iterative version is 8x faster on 10K items."

"I read the linked issue — there's a documented race here."

"The style guide says X."

Data > opinion. If you can't bring data, your position is weaker than you think.

Step 6: Time-Box (10 min)

After ~30 minutes of debate:

  • Pick a path; move forward

  • Or: kick to a design doc

  • Or: explicit "let's defer; revisit in 2 weeks if X happens"

A perfect decision delayed is worse than a good decision shipped.

Step 7: Disagree and Commit (5 min)

When you've lost an argument:

  • "I still think X, but understand the trade-off. Let's go with your approach."

  • Move on. Don't bring it up in the next 5 PRs.

Lingering resentment ruins teams.

Step 8: Escalate Cleanly (10 min)

If two people genuinely can't agree:

  • Tag a third party (tech lead, domain expert)

  • Document positions briefly

  • Accept their call

Don't escalate every minor disagreement. Reserve for genuinely important stuff.

Step 9: Watch Power Dynamics (10 min)

Senior reviewer + junior author: power imbalance.

Senior:

  • Don't pile on

  • Soften suggestions ("consider..." vs. "do this")

  • Praise judgment, not just output

  • Explain trade-offs, not just decisions

Junior:

  • Don't take feedback personally

  • Ask questions when unclear

  • Push back when you have a reason

Healthy reviews lift juniors. Bad ones break them.

Step 10: Reflect (5 min)

After contentious reviews:

  • Was I right?

  • Was my tone OK?

  • What could I do differently?

Self-reflection > self-justification.

If your reviews routinely have conflict: something's off. Tone? Picking battles?

What You Just Did

Disagreement handling: preferences vs. principles, specificity, ask first, limit threads, data, time-box, disagree and commit, escalate cleanly, power dynamics, reflect. Conflict without team damage.

Common Failure Modes

Endless thread. Author exhausted; reviewer entrenched.

Personal attacks dressed as technical. Erodes trust.

Senior overrules junior without explanation. Junior learns silence.

Carry grudges into next review. Pattern of friction.

Avoid all conflict. Bugs ship.

bottom of page