Technical Leadership for Platform Engineers›03 · Leading through technical disagreement

Lesson 03 of 10 · Part 1 — Decisions

Leading through technical disagreement

Turn technical disagreement into better decisions: separate people from ideas, understand the other view well enough to argue it, agree how to decide, settle with data or a short spike, and handle the cases where you're the one who's wrong, or where agreement never comes.

Practitioner → Lead
Key wordstechnical disagreementconflictdecision criteriaspikeprototypepsychological safetychanging your mindescalationsteelman

Disagreement is useful

A team that never disagrees is either not thinking or not saying what it thinks. Healthy technical disagreement finds flaws early, while they're cheap. Your job as a lead is to make it safe, focused and finite.

Two friends arguing about the fastest route home can shout all evening, or they can each take a route and time it. The second way ends with an answer, and they're still friends.

A process that works

  1. Separate people from ideas. "Option B has a failure mode under load" rather than "your design is wrong".
  2. Understand the other view first. Restate it until the other person says "yes, that's it". Better still, argue for it (steelmanning) for a minute.
  3. Find the real disagreement. It's often about criteria (speed vs safety, cost vs flexibility) or assumptions (expected scale), not about the designs.
  4. Agree how to decide: the criteria, what evidence would settle it, and who decides if it stays open.
  5. Get evidence: numbers from production, a load test, a time-boxed spike (one or two days building the risky part of each option).
  6. Decide openly, record it (ADR), and thank the people who argued the other side; their challenge made the decision better.

When you're the one disagreeing with the team

The same process applies in reverse: bring evidence, make sure you're understood, and accept the outcome. If you're overruled on something you believe is genuinely dangerous (security, data loss), say so clearly in writing, propose a safeguard (a test, a monitor, a rollback plan), and escalate calmly if needed. Escalation is for the decision, not the person.

When you're wrong

Say it plainly: "I was wrong about X; Priya's approach handles Y better. Let's go with it." Credit the person in the same forum where the debate happened. Leads who change their minds in public get more trust, and their teams speak up more.

When agreement never comes

Not every disagreement can be settled by data. Set a deadline, make the call (or ask the named decider to), record the dissent in the ADR, and agree on what you'll watch to see if the decision was right. Revisit at a fixed date, not every week.

Keeping it healthy

  • Disagree in design documents and reviews, not in pull requests at the last minute.
  • Watch for quieter engineers; ask for their view first, before seniors anchor the discussion.
  • Notice when a debate turns personal and pause it.

Try it: practise on a real debate

  1. Pick a current disagreement in your team (or a classic one: monorepo vs many repos, Helm vs Kustomize).
  2. Write each side's position in a way its supporters would sign.
  3. List the criteria each side is implicitly using; find the one they weigh differently.
  4. Design a one-day spike or a measurement that would move the debate.
  5. Write the ADR with the dissent recorded and a review date.

Going deeper: psychological safety

Teams speak up when people aren't punished for being wrong. As a lead, model it: share your own mistakes, ask "what am I missing?", and react to bad news with curiosity, not blame.

Recap

  • Separate people from ideas; restate the other view until it's agreed.
  • Find the real disagreement (criteria, assumptions), agree how to decide, then get evidence.
  • Change your mind in public when you're wrong; credit others.
  • When data can't settle it: deadline, decider, recorded dissent, review date.

This site is a public version of my personal engineering knowledge hub. It intentionally excludes confidential company information and internal operational details.