Personal Branding · Career & Money
Salary negotiation for engineers (with scripts)
The compensation gap between 'engineer who negotiated well' and 'engineer who didn't' is six figures over a career. The exact moves to make.
Two engineers join the same company on the same day with the same skills. Engineer A accepts the first offer. Engineer B negotiates. Three years later, Engineer B is making 30% more after raises that compound on a higher base. By year 10, the gap is six figures.
The skills required are not "born negotiator" skills. They're a learnable set of moves. This is the playbook.
The single most important rule#
Don't reveal your number first.
When asked "what are your salary expectations?":
- Do not give a number.
- Do not give a range.
- Redirect: "I'd like to understand the full role first. What's the budget for this position?"
If they push: "I'll consider any competitive offer based on the market for my skills. What's the band you have in mind?"
The number you say first is the ceiling. The number they say first is the floor. Always negotiate within their floor, never your ceiling.
What to research before any conversation#
- levels.fyi for compensation data. Filter by your level, location, and target company. Look at the 75th percentile, not the average.
- Glassdoor / Comparably for soft signals (interview process, culture).
- Public salary bands if your target jurisdiction (e.g. NYC, California, Colorado, EU public-sector) requires posting them.
- A specific dollar number for your "anchor" — slightly above the 75th percentile.
- Senior - 25th180
- Senior - 50th210
- Senior - 75th255
- Senior - 90th310
The structure of total comp#
You're not negotiating "salary." You're negotiating four levers:
- Base salary — boring, easy to compare, hardest to move much.
- Sign-on bonus — one-time. Companies have separate budget. Negotiable.
- Equity — stock options or RSUs. Significant in tech. Cliff matters.
- Annual bonus / target — negotiate the target percentage, not the actual payment.
Plus secondary levers: relocation, accelerated vesting, extra PTO, remote allowance, signing-grant refreshers. Each is independently negotiable.
When the recruiter says "the offer is $200K," ask for the breakdown. Then negotiate on each lever separately.
The negotiation flow, step by step#
Stage 1: Before the offer#
Recruiter: "What are your salary expectations?"
You: "I'd want to understand the role thoroughly before discussing compensation. I'm sure if we're a good fit you'll put together a competitive offer. What's the budget for this position?"
Recruiter: "We typically look at the market and we want to be competitive. Can you give me a range you're targeting?"
You: "I'm looking to make a step up from my current role. Based on what I've seen for senior backend engineers in [city], roles tend to be between $X and $Y total comp. I'm flexible based on the equity and growth potential."
(X is the 50th percentile of the band; Y is the 90th. You've signaled you've done research without committing to a number.)
Stage 2: Receiving the offer#
The offer comes in, say at $200K base, $40K signing, $100K equity over 4 years.
Don't react. Even if it's better than expected. Even if it's worse.
You: "Thanks for putting this together. I appreciate the offer. I'd like to take 24-48 hours to review it carefully. Can we set up a follow-up call on Wednesday?"
The pause does two things: signals you're not desperate, gives you time to think.
Stage 3: The counter#
After you've thought about it, come back with a specific counter. The script:
You: "I'm really excited about this role and the team. I've thought through the offer and the market data, and I'd like to see if we can get to $X base, $Y signing, and $Z equity. Specifically, I think the base is the area I'd want to focus on — given my experience with [specific thing], I think we can land at a number that reflects that."
Numbers: ask for ~10-15% more on base, 30-50% more on signing, 20-30% more on equity. Pick the one(s) that matter most to you. Companies push back on base, less on signing.
Stage 4: The pushback#
Recruiter: "We're at the top of our range for this level. The signing is what we typically offer."
You: "I appreciate the constraint. To make this work for both sides, what if we shaped it differently — could we increase the signing to $Y' and add a 6-month accelerated equity vest? That keeps you within the salary band but recognizes the move."
Concede the most-expensive thing for them; ask for a less-expensive thing for them. Sign-on and one-time grants come from different budget than salary; they're often more flexible.
Stage 5: Closing#
When you've negotiated to a number you'd accept, accept it on a call. Ask for it in writing immediately. Read the offer carefully (especially equity terms — 1-year cliff, 4-year vest, refresher policy).
Don't disclose: "you've been so generous, I appreciate it." Just: "thanks, this works. I'm in. Please send the written offer and I'll counter-sign."
Common objections, real responses#
"This is our best offer."
"I hear that. To meet me at my expected number, what would I need to do or demonstrate? Is there a senior level you could bring me in at?"
"We don't negotiate."
"I respect that as company policy. I want to be sure we're aligned on the offer. Can you walk me through the comp band for this level?"
"Other candidates accepted at this number."
"Other candidates have different leverage. I appreciate you sharing that — for my situation, here's what I need to make this work."
"You should be excited about the equity / mission / culture."
Don't take the bait. "I am excited about the team, that's why I'm in this conversation. Comp is a separate question we can solve together."
When you have a competing offer#
Use it. Don't lie. Mention it specifically: "Acme has offered $X. I'd prefer to join your team for the $Y reasons we've discussed, but I need to be at parity or near-parity to make that work."
Companies match competing offers far more often than they admit. Especially senior offers.
If you don't have a competing offer: don't fake one. Recruiters talk; faked offers leak. Negotiate on market data instead.
The mistakes#
Accepting the first offer. Almost always money on the table. Not negotiating costs ~10% on day 1, more compounded.
Negotiating after accepting. Once you've said "yes," the leverage is gone. Negotiate, then accept.
Negotiating in writing only. Phone or video gets ~30% better outcomes than email. The recruiter has more flexibility verbally.
Negotiating on base only. Equity grants and signing bonuses come from separate budgets and are often more flexible.
Forgetting that "no" is OK. If the offer doesn't meet your number, walk. The companies that will pay are the companies that will pay. Threatening to walk only works if you actually would.
Being apologetic. Don't say sorry for asking. Don't say "I know this is more than you hoped." Confidence is part of the negotiation.
A framework for "what should I ask for"#
A rough rule for a 30-something senior engineer in a major US tech market:
| Component | Reasonable counter |
|---|---|
| Base | +10-15% over offer |
| Signing | +50% over offer (or add one if missing) |
| Equity | +20-30% over offer |
| Total comp delta you can usually win | $20-50K/year for senior, $50-100K for staff+ |
This is the typical outcome of a single negotiation. It compounds with future raises.
Beyond the first job#
After joining: negotiate again at promotion. Negotiate again when changing roles. Negotiate at the annual review. Most engineers under-ask in these moments because they're embarrassed. Don't be embarrassed. The company has a comp committee. They negotiated for everyone above you.
Negotiation isn't one-shot. It's an ongoing skill.
Further reading#
- "Salary Negotiation: Make More Money, Be More Valued" by Patrick McKenzie — the canonical post.
- levels.fyi for data.
- Holloway Guide to Negotiating Salary — book-length, free online, worth a read.
- "Never Split the Difference" by Chris Voss — the broader negotiation playbook.