top of page

Handle Disagreement as a Lead — Engineering Leadership, Part 9

Shawn West
1 day ago
2 min read

Two engineers can't agree. Now what? Or: two teams want different things. You're in the middle.

Step 1: Disagree and Commit > Avoid (10 min)

Default culture: speak up; once decided, commit.

Not:

  • Avoid disagreement

  • Pretend to agree

  • Sandbag the decision

A team that can't disagree well makes bad decisions in silence.

Model it: disagree in public; commit after.

Step 2: Time-Box Discussion (10 min)

"Let's discuss for 30 minutes. If no consensus, I'll decide."

Don't let it drag. After enough talk:

  • Either pattern emerges (consensus)

  • Or you decide

Time-boxing forces resolution.

Step 3: Stay Curious (10 min)

When engineers disagree:

  • Listen first

  • Ask "Why do you think so?"

  • Steel-man both sides

  • Look for unstated assumptions

Often: they're optimizing for different things. Surface the underlying values.

Example:

A: "We should rewrite this in Go."
B: "We should not rewrite."

You: "A, what specifically does Go give us? B, what does the rewrite cost?"

The "disagreement" is often a missed shared problem.

Step 4: Use Data (10 min)

Replace opinion with data:

  • Benchmarks

  • Profiling output

  • User research

  • Cost analysis

  • Prior incidents

"Before we decide, can someone benchmark? Let's reconvene Friday."

Data dissolves many arguments. Run the experiment.

Step 5: Acknowledge Both Sides Have a Point (10 min)

"A's right that we need to scale. B's right that the rewrite is
expensive. Here's the trade-off..."

Validation reduces defensiveness. People feel heard. Decision lands better.

Don't dismiss either side.

Step 6: Decide When You Need To (10 min)

Sometimes consensus won't emerge:

"We've heard both sides. I'm going with option A because [reason].
B, your concern is real; let's set a check at Q4."

Specific. Explained. Bounded.

Leaders decide. Hiding behind "team consensus" when there isn't any = abdication.

Step 7: Disagree with Your Manager (15 min)

Same principles up the chain:

  • Disagree in private

  • Be specific

  • Bring options

  • Once they decide: commit

If commit is impossible (ethical issue, hard line for you):

  • State that clearly

  • Discuss alternatives

  • Sometimes: escalate to skip-level

  • Sometimes: leave

Rare. But know when the conversation is past disagreement.

Step 8: Cross-Team Disagreement (15 min)

Your team vs. another team:

  • Direct conversation first (you ↔ their lead)

  • Agreed plan; both leads commit

  • Document the decision

  • Escalate to managers only if direct fails

Don't:

  • Slack-throw teams under buses

  • Run to managers first

  • Stew quietly

Other team leads are your peers, not your opponents.

Step 9: When to Get Help (10 min)

You and another lead can't resolve it. Escalate:

  • To your manager

  • Co-write a brief: positions, options, recommendations

  • Both leads present

Manager either decides or pushes the brief up. Decision documented.

Use sparingly. Most disagreements resolve at peer level.

Step 10: Healthy Conflict Habits (10 min)

For long-term team health:

  • Make disagreement normal

  • Praise people who push back well

  • Apologize when you're wrong (publicly)

  • Don't penalize the dissent that turned out wrong

  • Decide; commit; move on

Teams that fight well make better decisions. Teams that suppress fight rot.

What You Just Did

Disagreement as a lead: disagree-and-commit, time-box, curiosity, data, validate both sides, decide, manage up, cross-team, escalate, healthy conflict. Productive friction.

Common Failure Modes

Suppress disagreement. Bad decisions; rot.

Endless debate. Decision paralysis.

Cave to the loudest. Wrong calls.

Decide without explanation. Lose buy-in.

Hold grudges after decisions. Future disagreement avoided.

bottom of page