Most engineers leave $20-50k on the table because they treat salary negotiation like a technical interview — trying to give the right answer instead of having the right conversation. I've watched this happen to brilliant engineers on my own team, and I used to do it myself.
In 2021, a senior engineer I'll call David got an offer from a Series B fintech — 280 employees, well-funded, desperate for his distributed systems experience. The recruiter said the number with that slightly apologetic tone they do. $185k. David said 'that sounds great, when do I need to decide by?' and hung up.
He told me about it over Slack. I wanted to shake him through the screen. That role had a band up to $240k. I knew because I had a friend on their eng team.
David left $55k on the table in a single phone call.
Every engineer I've coached wants to know the magic number to counter with. That's the wrong question. The number isn't what gets you the money. The conversation before the number does.
When I negotiated my own offer at Shopify, I'd already read every 'negotiation tip' post out there. What none of them told me: recruiters aren't your adversary. They literally get paid more when you accept a higher offer. The recruiter is on your side. Their hiring manager has a budget ceiling, and your job is to give the recruiter ammunition to go back and push for that ceiling.
That reframe changed everything for me.
When the offer comes in, don't respond to the number at all. Respond to the role.
'I'm really excited about this — the infrastructure challenges you're dealing with at this scale are exactly what I want to be working on. Before I respond to the specifics, can I take 48 hours to think it through?'
You're doing two things here. You're reminding them why they want you specifically (the infrastructure challenges, not generic 'your company'). And you're not negotiating yet — you're setting up the negotiation.
Then you come back with this:
'I've thought about it a lot. I'm genuinely excited and I want to make this work. Based on my experience with [specific thing that's hard to hire for], I was expecting something closer to $X. Is there flexibility there?'
$X should be $25-40k above what they offered. Not your dream number. Your opening number.
The specific thing matters enormously. 'My experience with Kafka at scale' beats 'my experience' every time. You're making the recruiter's job easier — they can go back and say 'she has production Kafka experience at 50M events/day, the team really wants her, can we move the number.'
It almost never actually is. But if they push back hard, don't panic. Shift to total comp.
Signing bonus. Equity cliff acceleration. Extra PTO. Remote equipment budget. These often come from different budget lines and a manager can approve them when salary is frozen. I've seen $30k signing bonuses materialize in 20 minutes when the base 'couldn't move.'
As a manager now, I can tell you: when we really want someone, we find the money. The question is whether you've made it easy for us to justify it internally. Your job in negotiation is to give your future manager the story they need to tell their director.
You won't get fired for negotiating. In seven years of engineering and three years of managing, I have never once seen an offer pulled because someone asked for more. I've seen offers pulled for other reasons. Never that one.
The worst realistic outcome is they say no and you're back where you started. That's it. The expected value of asking is enormously positive.
David renegotiated at his next offer. Got $47k more than the first number. He texted me after and just said 'I can't believe I didn't do this sooner.'
Neither can I, honestly. Neither can I.