← All posts

Handling Conflict in Engineering Teams

Disagreement in engineering teams is normal—different technical opinions, priorities, and styles. Unhandled, it becomes conflict: tension, silos, or resentment. Handling conflict well doesn’t mean avoiding it; it means addressing it early and turning it into better decisions and clearer norms. Here’s how.

Why Conflict Shows Up

  • Technical disagreement: Architecture, tech stack, or approach. Often healthy if it stays about the work.
  • Resource or priority clashes: “My project vs yours,” or “we need more people.”
  • Style and process: How much to document, how strict to be in review, how much to plan vs iterate.
  • Interpersonal friction: Communication style, credit, or past incidents that weren’t resolved.

The goal is to separate task conflict (we disagree on the solution) from relationship conflict (we don’t trust or respect each other). Task conflict can be productive; relationship conflict needs different handling.

Address It Early

  • Notice patterns. Same people clashing in meetings, passive-aggressive comments, or people avoiding each other. Don’t wait for a blow-up.
  • Name it in private first. “I’ve noticed tension in the last few planning sessions. Can we talk about what’s going on?” One-on-one, with each person, before bringing them together.
  • Don’t triangulate. If someone complains to you about a colleague, don’t become the messenger. Encourage direct conversation and offer to facilitate if needed.

Facilitate Constructive Disagreement

  • Make the disagreement explicit. “It sounds like we have two different views: A and B. Let’s lay out the tradeoffs.” Often conflict persists because the real disagreement is never stated.
  • Focus on criteria. What are we optimizing for? Speed, maintainability, risk? Align on the criteria first; then compare options against them.
  • Give everyone airtime. In meetings, ask the quieter or less senior person first so the loudest voice doesn’t set the frame. “What’s your read on this?”
  • Decide and record. After discussion, someone (often the manager or tech lead) makes the call and explains why. Write it down so “we already decided this” doesn’t get replayed forever.

When to Step In as a Manager

  • The same people keep clashing and it’s affecting delivery or morale. Have separate 1:1s, then a joint conversation with a clear goal: “We need to work together on X; what do each of you need?”
  • Someone is being excluded or demeaned. That’s not “disagreement”—it’s behavior you need to correct. Address it privately and be clear on expectations.
  • The team is stuck. They can’t decide and it’s blocking progress. You may need to make the call or bring in a neutral party (e.g. another lead) to facilitate or decide.
  • It’s really about you or the org. Sometimes “technical” conflict is about unclear goals, missing context, or perceived unfairness. Fix the structure or the message, not only the people.

After a Conflict

  • Repair. If things got heated, give people a chance to reset. A short “that was a tough discussion; here’s where we landed” can help.
  • Adjust norms. If conflict keeps arising in the same way (e.g. in big meetings), change the format: smaller groups, written proposals, or a designated decision-maker.
  • Follow up. Check in in 1:1s: “How’s it feeling working with X now?” Don’t assume one conversation fixed everything.

Handling conflict in engineering teams means treating it as normal, addressing it early, and turning it into clear criteria and decisions. When it goes beyond task conflict, step in as a manager, protect people, and fix the conditions that keep generating the same clashes.