October 21 2025
Disagreeing With a Bad Solution Without Humiliating Anyone
Disagreement is part of technical leadership. The hard part is not finding the courage to speak. It is protecting the bar without turning correction into humiliation.
Andrews Ribeiro
Founder & Engineer
4 min Intermediate Thinking
The problem
Every technical team deals with weak proposals at some point.
The risk appears when the reaction falls into one of these extremes:
- smoothing it over to avoid discomfort
- humiliating to signal rigor
In the first case, the bar drops.
In the second, the bar may look protected, but the team learns something else:
- hide doubt
- speak less
- defend ego before discussing the technical issue
Mental model
Disagreeing well does not mean softening everything.
It means increasing decision quality without unnecessarily increasing relational damage.
Short version:
respect is not hiding disagreement; it is disagreeing without dehumanizing.
That requires separating three things:
- the proposal
- the risk it creates
- the person who brought it
When those three things get mixed together, the conversation degrades fast.
Breaking the problem down
Attack the fragility of the proposal, not the identity of the person
Bad phrases:
- “this makes no sense”
- “this is very junior”
- “you didn’t think this through”
Better phrases:
- “this path worries me because of X”
- “I think we have a Y risk here”
- “I want to test whether this assumption survives case Z”
The technical content can be just as firm.
What changes is that you do not turn correction into a personal attack.
Understand the logic before pushing back
A lot of disagreement becomes noise because the person reacts to the solution before understanding:
- which constraint the other person was trying to respect
- which timeline they had in mind
- which risk they were optimizing for
Useful questions:
- “which trade-off were you trying to protect here?”
- “what made you prefer this path?”
- “which scenario did you consider most important?”
That is not theatre.
That is how you discover whether there is a real mistake, a context gap, or simply a different criterion.
Name concrete impact
Weak disagreement stays abstract.
Good disagreement points to consequence:
- increases coupling
- breaks reversibility
- makes observability harder
- worsens operational cost
- creates an unsafe path
When the impact becomes visible, the conversation leaves the territory of personal taste.
Adjust the tone to the severity
Not everything needs the same weight.
If the proposal creates:
- a debatable style detail
- an acceptable but not ideal path
the level of firmness can be lower.
If the proposal creates:
- incident risk
- a security break
- a hard-to-reverse choice
the level of firmness needs to go up.
Respect does not mean softening critical risk.
It means communicating that risk without humiliating anyone in the process.
Public and private matter
Some corrections are worth doing in the group.
Others work better outside the audience.
In public, prefer:
- discussing the decision
- making the criteria explicit
- protecting clarity for the team
In private, it makes sense to go deeper into:
- a recurring pattern
- the person’s reasoning style
- their development
If you correct everything publicly in the harshest possible way, the team learns to perform defense, not learning.
Simple example
Imagine someone proposes solving a latency problem by duplicating logic across three services to “save time.”
Bad way:
- “this is a total hack”
- “there’s no way I can approve something like this”
Better way:
- “I understand the pressure on the timeline, but this path spreads business logic across three places”
- “if this flow changes next week, we’re going to have triple rework”
- “I think it’s better to compare this with a minimal extraction that preserves delivery without multiplying coupling”
You are still disagreeing.
But now the conversation has:
- a read of the context
- a concrete risk
- an alternative proposal
Common mistakes
- Using sarcasm to look fast and smart.
- Confusing firmness with humiliation.
- Avoiding disagreement until it is already too late.
- Pushing back without understanding the other person’s premise.
- Correcting a small detail with the energy of a critical incident.
How a senior thinks
People who disagree well usually ask:
- what exactly is the problem with this solution?
- is the risk real or am I protecting a preference?
- what was the other person trying to optimize?
- does this correction need to be firm, private, public, or structural?
Those questions make the intervention fairer and more useful.
What this changes for the team
When the team learns to disagree without humiliating:
- more problems surface early
- fewer people become defensive by reflex
- quality goes up without a climate of fear
- technical feedback becomes a growth tool, not social punishment
In the end, strong technical leadership does not avoid conflict.
It improves how conflict happens.
Omission lets bad solutions pass.
Humiliation protects ego, not quality.
Mature disagreement protects both: the system and the relationship.
Quick summary
What to keep in your head
- Well-led technical conflict protects quality without unnecessarily hurting the person who brought the proposal.
- Criticizing a solution does not require criticizing the person's intelligence, maturity, or intent.
- Useful firmness points to concrete risk, impact, and an alternative. Humiliation usually only increases defensiveness.
- Psychological safety does not mean avoiding disagreement. It means being able to disagree without ego violence.
Practice checklist
Use this when you answer
- Can I explain the risk of the proposal without hiding behind vague labels like 'this is terrible'?
- Am I reacting to the substance of the solution or to the emotional discomfort I felt?
- Have I understood why the person chose this path before pushing back?
- Does my way of disagreeing increase clarity or only increase fear?
You finished this article
Share this page
Copy the link manually from the field below.