Conflict Resolution: How to Argue Without Being a Jerk
Engineering is an opinionated profession.
- "We should use GraphQL!" vs "GraphQL is bloated!"
- "Monolith is simpler!" vs "Microservices scale better!"
Conflict is inevitable. In fact, Conflict is good. It means people care. It means you are stress-testing ideas. But Toxic conflict destroys teams.
Here is what we'll cover:
- Crucial Conversations: Safety first.
- The "Disagree and Commit" protocol.
- Data > Opinion.
- The "Steel Man" technique.
1. Safety First (Crucial Conversations)
When people feel attacked, their Lizard Brain (Amygdala) takes over. They literally cannot listen. They fight or flight. Your job as a Senior Engineer is to Restore Safety.
Signs of Unsafe Conflict:
- Sarcasm.
- Interrupting.
- "You always..." / "You never..."
How to fix it:
"Hold on. I think we're arguing about different things. I'm not attacking your code quality, I'm worried about the deadline. Let's reset."
State your Positive Intent.
2. The "Steel Man" Technique
We all know the "Straw Man" (attacking a weak version of your opponent's argument). The Steel Man is the opposite.
Rule: You are not allowed to argue against an idea until you can explain it better than the person holding it.
"Let me see if I understand you, Bob. You want to use MongoDB because our data schema is unstructured, and you're worried that SQL migrations will slow us down. Is that right?"
Once Bob says "Yes, exactly!", he lowers his defenses. Now he is listening.
3. Data > Opinion
Most arguments are: "I feel like..."
- "I feel like React is faster."
- "I feel like Python is too slow."
Stop feeling. Measure.
"I don't know if Python is too slow for this use case. Let's build a 1-day Spike (Prototype) and load test it. If it handles 1000 RPS, we use it. If not, we use Go."
Turn the Argument into an Experiment.
4. Disagree and Commit
Sometimes, there is no "Right" answer. It's just a trade-off.
- Option A: Faster to build.
- Option B: More scalable.
If the debate goes in circles for 30 minutes, the Lead must make a call. The Lead: "Okay, I hear both sides. We are going with Option A because speed is our priority right now."
The Professional Response:
- Bad: "Fine, but don't blame me when it breaks." (Passive Aggressive).
- Good: "I still think B is better, but I understand the decision. I will support Option A 100%."
This is Disagree and Commit. It is the hallmark of a Senior Leader.
Summary
- Make it safe. Check your tone.
- Steel Man. Prove you understand them.
- Use Data. Prototyping beats arguing.
- Commit. Once the decision is made, row the boat.
