DEV Community

Cover image for How to Disagree With a Senior Engineer (Without Killing Your Career) šŸ—£ļø
Sonika Arora
Sonika Arora

Posted on • Originally published at onboardedhq.substack.com

How to Disagree With a Senior Engineer (Without Killing Your Career) šŸ—£ļø

A practical guide for junior developers on raising concerns, getting heard, and building credibility when you think the room is wrong.

Read the full newsletter post here.

There’s a specific kind of dread that hits us early in our tech career.

You’re sitting in a sprint planning meeting, or a design discussion with your team. A senior engineer proposes something. And a quiet alarm goes off in your head. Their approach or thinking is going to cause problems. I can see it.

You look at everyone in the zoom meeting/room. Everyone seems to be nodding along. Maybe you’re missing something. Maybe you should just stay quiet. You’re filled with doubts.

I remember feeling stuck with 3 questions in this situation:

āž”ļø ā€œShould I say something?ā€

āž”ļø ā€œWill it really matter if I say something?ā€

āž”ļø ā€œWhat if I am totally wrong?

This situation is more common than anyone admits. How you handle it will shape your reputation, your growth, and - if you’re right - the outcome of the project.

Here is my mind map for navigating this without torching relationships or swallowing your instincts šŸ‘‡


Subscribe to get your free guide on how to make a great first impression HERE


Pressure test yourself before speaking

Before I say anything, I like to spend sixty seconds asking myself a few honest questions.

šŸ¤” Do I understand the full context?

There’s a good chance the senior folks have considered constraints I don’t have visibility into - legacy system quirks, a business reason for why they made a decision, or a failed attempt at exactly what I’m about to propose.

If you want to raise your concern while also being respectful of the research that has already gone into the decision, here’s two ways that I think work best:

1ļøāƒ£ You can try to surface your concern as a question instead of framing it as a correction. This allows you to keep an open mind about things you may not know, while showing your thoughtfulness and curiosity to the team.

2ļøāƒ£ You can label it as a hunch. ā€œI have a gut feeling about this and I want to make sure I’m not missing somethingā€ lands very differently than stating an objection as fact when you can’t fully defend it yet.

šŸ§—ā€ā™€ļø Is this a hill worth climbing?

Not every sub-optimal decision needs to be challenged. If the stakes are low and the disagreement is just about style and has multiple sound options, let it go and keep your credibility for when it matters.

If you see a real scalability issue, a security gap, or something that will create months of tech debt, that’s different - staying quiet isn’t humility, it’s a disservice to the team.


My framework for how to raise your concern

How you frame it says a lot.

There’s a meaningful difference between these two sentences:

āž”ļø ā€œI don’t think that’s going to work.ā€

āž”ļø ā€œI want to make sure I’m understanding this correctly - if we go this route, what happens when we hit X edge case/scenario?ā€

The second phrase does the exact same work as the first, but it lowers everyone’s defenses.

If you’re wrong, they explain it and you learn something. If you’re right, the problem surfaces naturally through the question itself and doesn’t require you to ā€œdefeatā€ anyone in front of their peers. It gives the room a graceful out to say, ā€œAh, good catch.ā€

The image provides a breakdown of potential ways to speak up in a meeting when you find something wrong
I asked a few tech leads for their go-to phrases, and they suggested adding these:

ā€œI might be missing context here, but I’m worried about [specific scenario]. Has that come up?ā€ - The hedge isn’t weakness; it’s precision. You’re flagging a specific concern instead of issuing a verdict.

ā€œI’d love to understand the tradeoffs on this one a bit more.ā€ - Useful when you can’t fully articulate your concern yet but feel something’s off.

ā€œIf we make this choice, can X be a problem?ā€ - Useful when you think the decision adversely affects something specific.

ā€œCan I ask a clarifying question before we move on.ā€ - This is low-stakes to say and signals you’re actively listening, and not adversarial.

šŸ“ HQ Tip: What you want to avoid is framing the disagreement as ā€œI think you’re wrong.ā€ Even if that’s true, it puts the other person in a defensive posture.
Think about it this way - your goal should never be to win an argument but to make sure the right information is in the room.


What to do if they brush past you

Sometimes you raise the concern and it gets acknowledged briefly and moved past.

This is frustrating but don’t treat this as the end of the road. There’s a couple ways I’ve seen people deal with this.

1ļøāƒ£ Write it down and send a follow up
After the meeting, send a short message to your manager or tech lead - not a long manifesto, just a note. Something like: ā€œHey, I raised a question in today’s meeting about X and I want to make sure it got captured. Here’s what I was thinking...ā€ This creates a record without being confrontational, and it shows you’re thorough.

2ļøāƒ£ Ask for a one-on-one conversation
Team meetings are bad venues for changing minds on anything complicated. If you feel strongly, ask the relevant person if they have fifteen minutes to walk through your concern more carefully. Most of your engineering peers will likely respond well to this. It signals that you care about the outcome, not about being seen as right.

3ļøāƒ£ Know when to let it go and learn
If you’ve raised your point clearly, documented it, and the decision stands - let it stand. Ship the thing, observe what happens, and update your model of the world accordingly. Sometimes you’ll be right and it’ll bite the team later; sometimes you’ll realize you were missing something important. Both outcomes are data.

When I worked at Amazon, I lived and breathed one of their famous (and quite honestly one of the most useful) principles - ā€œDisagree and Commitā€. It means that you should openly challenge decisions during the planning phase but once a decision is made, the debate ends. You don’t drag your feet or wait around for it to fail. You execute on the chosen path as fiercely as if it were your own idea.


Building the credibility to be heard

There’s a longer game here.

The reason early-career folks get brushed past isn’t always that their ideas are bad - it’s often that they haven’t yet built the credibility that makes others stop and listen.

That credibility comes from a few things you can actively work on.

āœ… Be right in smaller moments first

When you spot a bug in a code review, flag it clearly and correctly. Point out small misses or ask thoughtful questions about decisions in a design doc. These small wins build a track record that makes people take your concerns more seriously over time.

āœ… Do your homework

If you disagree with an approach, come back with a concrete alternative or a specific data point - not just a feeling.

ā€œI think we should look at option B because it would reduce our write latency in the P99 case we discussed last sprintā€ is much harder to dismiss than ā€œI’m not sure about thisā€ or ā€œI have a feeling this is wrongā€.

āœ… Be genuinely curious

The engineers who get heard fastest tend to ask a lot of good questions before they issue a lot of strong opinions.

Curiosity builds relationships. Relationships build influence.


Don’t underestimate yourself

Being six months into a job and noticing something that a ten-year veteran missed is not as rare as you’d think.

Seniority ≠ always being right.

Speak up with a question, not a claim to win šŸ„‡,

And you’ll be surprised how quickly the room starts waiting to hear what you think.

That’s it for today! Do you feel heard by senior folks on your team? Let me know in the comments!

If you found this post valuable:

Subscribe

I write short actionable posts on things I struggled with, which I have developed some mind maps for - how to navigate your tech job, network with people, and grow your net worth along the way, backed by my experience, tons of research and learnings from tech leaders.

I wish you a great week!

Until next time,

Sonika

Top comments (2)

Collapse
 
xwero profile image
david duymelinck

The fact that you think you can lose your job for pushing back against proposals shows that it is not a good relationship.

As the less experienced developer you should be able to talk freely. When you say; I don’t think that’s going to work. The more experienced developer should say; why not.
It is true it is better to come with the facts first, but sometimes you don't remember it at that moment. That is why the experienced developer should give you time to think about them.

Even if you are wrong, it is a teaching moment for the experienced developer.
And if your right, the experienced developer should be glad the team work payed of.

Collapse
 
harsh2644 profile image
Harsh

This is the career content that actually matters but almost nobody writes about. Technical skills get you in the door, but knowing how to disagree respectfully and still be heard that's what separates people who grow fast from people who stay stuck. The framing of 'raising concerns without killing your career' is perfect. Most junior devs either stay silent forever or go too hard and damage relationships. There's clearly a middle path and I'm glad someone is finally writing about it!