Salary negotiation for tech roles

Train for your next tech interview
1,500+ real interview questions across engineering, product, design, and data — with worked solutions.
Join the waitlist

Why this is worth two hours of prep

The delta between a poorly negotiated offer and a well-negotiated one is roughly 20-50% of your annual comp. Two candidates with identical resumes can leave the same loop with $160k vs $230k total comp purely because one prepared for the comp conversation and the other didn't. Recruiters at Google, Meta, Stripe, and Airbnb expect a counter — they have budget set aside for it.

Nobody teaches you this in school. Almost no one walks you through what to say the moment a recruiter asks "so, what are you thinking compensation-wise?" The good news: a handful of phrases and a few hours of research will move you into the top decile of negotiators for your level.

This guide assumes you are negotiating a tech IC role — software engineer, data analyst, data scientist, product manager, designer — at a US-headquartered company. Get the offer letter in writing before you treat anything as real.

When to name a number

The classic rule still holds: the first party to name a number loses leverage. Not always — but often enough that you should default to deferring the question.

If the recruiter asks on the screening call, the cleanest dodge is: "Happy to talk numbers once I understand the scope, level, and full package — base, equity, bonus, sign-on. What range are you thinking for this level?" That sentence signals you are package-literate and pushes them to anchor first.

If they push back — and a third of them will — give a range, not a point. A point estimate of "I'm looking for $180k" tells them your ceiling. A range of "$180-220k base, plus a competitive equity grant" tells them your floor. Make the range 20-30% wide. Anything narrower defeats the purpose.

Load-bearing trick: When you have to name a number, name the top of your researched range as the bottom of yours. If market median for the role is $180k, your stated range starts at $200k. Recruiters expect to land in the middle of your range, which puts you above market.

How much to ask for

The whole game is downstream of market research. Without numbers, you are negotiating blind. Sources, in rough order of reliability for US tech:

  • levels.fyi — the gold standard for FAANG, unicorns, and most tier-2 tech. Self-reported, but volume-validated. Filter by company, level, and location.
  • Glassdoor and LinkedIn Salary Insights — broader coverage, less accuracy on equity. Useful for the long tail of mid-size companies.
  • Pave and Carta benchmarks — leak occasionally; if you have a friend at a startup, they can pull internal comp bands.
  • Your network — the highest-signal source. Ask two or three people at the target company directly. Most will share within a $20k range.
  • H1B disclosure data — public, free, and very accurate for base salary at companies that sponsor visas.

Once you have data, anchor on three reference points:

Percentile What it means When to target it
P50 (median) Typical offer for the level Default floor for your ask
P75 Strong candidate, competitive market Realistic target with solid loop performance
P90 Outlier — competing offers or specialist skill Only with leverage

Your stated range should sit between P50 and P75, with a willingness to push toward P90 if you have a competing offer or a niche specialization the team explicitly needs.

A clean justification sounds like: "levels.fyi puts L5 engineers in the Bay Area at $230k base median, with strong candidates around $260k. Given my five years of experience, I'm looking at $260k base plus a competitive equity refresh." Specifics disarm recruiters because they're working from the same data.

The full compensation package

Base salary is one line on a five-line offer. Treating it as the whole package is the single most expensive mistake in tech negotiation. The components, ranked roughly by dollar impact at senior IC levels:

  • Base salary. The line everyone fixates on. Easy to compare across offers.
  • Annual bonus. Typically 10-25% of base, performance-multiplied. At Amazon and Meta, target bonuses are baked in. At Google, they're calibrated annually.
  • Equity (RSUs or options). For FAANG L5+, equity often matches or exceeds base. A typical Meta E5 grant is $400k+ over four years. Options at pre-IPO startups are higher variance but can dwarf base if the company exits.
  • Sign-on bonus. A one-time cash payment to bridge gaps in your year-one comp. Standard at FAANG. Range: $25k-$150k depending on level and competing offers. This is the easiest lever for a recruiter to pull when base is capped.
  • Relocation. If you're moving, expect 1-3 months of base in moving costs or a lump-sum stipend.
  • Refresh grants. Annual equity refreshes that stack on top of your initial grant. Often unmentioned in the initial offer — always ask explicitly what year-two and year-three look like.
  • Benefits. Health, 401(k) match, parental leave, learning budgets, sabbatical eligibility. Less negotiable, more dollar-equivalent than you think — a 6% 401(k) match on a $200k salary is $12k/year.

Sanity check: Compute four-year total comp, not year-one. Two offers with identical year-one numbers can differ by $200k+ over four years depending on equity vest schedule and refresh policy.

Train for your next tech interview
1,500+ real interview questions across engineering, product, design, and data — with worked solutions.
Join the waitlist

The counter-offer process

The recruiter calls with the verbal offer. Don't accept on the call. Ever. Even if you love the number. The exact words to use: "Thank you, this is exciting. I'd love to take 24-48 hours to review the full package and come back with any questions." Then:

  1. Get it in writing. Verbal offers vanish. Ask for the formal offer letter with all components itemized.
  2. Compare to market. Pull your levels.fyi data. Plot their offer against P50, P75, P90.
  3. Identify the lever. Is base below median? Push base. Is equity light? Ask for a larger grant. Is base capped at band? Ask for a larger sign-on.
  4. Write the counter. A short email, three components: thanks, your number with justification, specific ask.

Counter-offers are not aggressive — they're expected in 70-80% of FAANG loops. Recruiters have a "negotiation budget" they're authorized to spend. If you don't ask, they keep it.

A clean counter email looks like this: "Thanks again for the offer. After reviewing the package against current market data on levels.fyi, I was hoping we could get to $220k base, $80k sign-on, and $400k equity over four years. I'm excited about the team and want to make this work — happy to discuss any of these line items if there's flexibility."

Three components. Polite. Specific. Justifiable. Notice the and — never negotiate a single line. Always negotiate the package. If base is capped, the recruiter can move sign-on or equity. Giving them options helps them help you.

Anchoring, junior cases, and ethics

The anchor in any negotiation is the first number on the table. If the recruiter names $180k, every subsequent number lives in orbit of $180k. If you name $230k first, the conversation orbits $230k. This is well-documented in behavioral econ literature and is why "defer the number" is the default play.

But sometimes you'll be forced to name a number first — most often during the screening call when the recruiter refuses to share their range. In that case, anchor high. Take the top of your researched range and add 10%. The recruiter will push back, you'll have room to come down, and you'll land above where you would have started.

For junior candidates with no leverage, the playbook shifts. You have fewer competing offers, less market data on your specific value, and recruiters know it. What still works: research the junior band specifically (levels.fyi has L3 / L4 data), ask for the top of that band, push hard on sign-on (recruiters have more flexibility there), and ask about promotion timelines — getting to L4 in 18 months instead of 24 is worth $30-50k.

Gotcha: US state pay-transparency laws (California, Colorado, New York, Washington) require companies to post salary bands in job descriptions. Read the band before the screening call. If the band is $180-240k, anchor at $240k.

On ethics: never invent competing offers. Recruiter networks are smaller than you think, and a fabricated Stripe offer that gets verified back-channel will burn your reputation across an entire industry segment. Also don't accept an offer and then renege — exploding an accepted offer torches the bridge for years. Professional negotiation is a normal business conversation, not a game of bluffing.

If you want to drill negotiation scripts and behavioral interview answers, NAILDD ships interview question sets across exactly these scenarios — comp conversations, why-this-company, and the full behavioral loop.

Common pitfalls

The first and most expensive pitfall is answering the salary question on the recruiter screen. The recruiter is trained to ask. You are not obligated to answer. Every time you name a specific number before seeing the offer, you cap your upside. The fix is one rehearsed sentence — "I'd like to understand the role better before discussing comp. What's the band for this level?" — delivered without apology. Practice it out loud until it feels natural.

A second trap is accepting the verbal offer on the call. Excitement is real and warranted, but recruiters often deliver offers in the moment specifically to short-circuit deliberation. The fix is automatic: thank them, ask for it in writing, and request 48 hours. If they pressure you for a same-day yes, that's a yellow flag about the company's culture in general, not just compensation.

The third pitfall is negotiating a single line item instead of the package. If you only counter on base, and base is capped at the band ceiling, the recruiter has nothing to give you and the negotiation collapses. Always counter on at least two of base, sign-on, equity. This gives the recruiter flexibility and dramatically increases the chance they land somewhere meaningfully above the original offer.

A fourth and more subtle trap is not asking about refresh grants and promotion velocity. A four-year RSU grant with no refresh is worth dramatically less than the same grant with a guaranteed year-two refresh. At companies like Meta, refreshes are policy; at less mature companies, they're discretionary. Ask directly: "What's the typical refresh for someone hitting expectations at this level?" The answer tells you what year-three actually looks like.

Finally, emotion. Lines like "this offer is insulting" don't move the number — they end the conversation. Negotiation is transactional, not adversarial. Stay warm, stay specific, stay numbers-first. The recruiter is on your side once the offer is out — they want this to close as much as you do.

FAQ

Is it actually OK to negotiate? Won't they rescind the offer?

Rescinding an offer over a polite, professional counter is extraordinarily rare in US tech — to the point that recruiters joke about it being a myth. The negotiation is expected. The only behavior that gets offers rescinded is being aggressive, lying about competing offers, or going silent for weeks. A reasonable counter with reasonable justification almost always results in either a better offer or a confirmed "this is our best" — both useful outcomes.

How much can I realistically push?

A reasonable target is 10-20% above the initial offer on total comp. With a competing offer in hand, 20-30% is realistic. 50%+ is possible only if the initial offer was way below market or you have multiple aggressive competing offers.

Should I share my current salary?

No. In many US states it's illegal for employers to ask. Clean answer: "I'd rather focus on market data for this role." Sharing current salary anchors the offer to your past comp, which is almost always below market.

What if the offer is well below market?

Be direct but warm. "Thanks for the offer. I want to be transparent — this is meaningfully below the market data I'm seeing for this role. I'd love to make this work, but I'd need to see something closer to $X to move forward. Is there flexibility?" If the answer is a hard no, the company either can't or won't pay market — both are reasons to walk.

How do I handle multiple offers?

Multiple offers are the single biggest source of leverage. Time finals within a one-week window. With offer A in hand and offer B pending, tell B's recruiter: "I have an offer at $X. I'd prefer your team — can you match or beat it?" Specificity matters. "I have other offers" is not credible. "I have $260k from Stripe and prefer you" is.

What about equity at pre-IPO startups?

Treat startup equity as a lottery ticket with positive expected value, not guaranteed comp. Negotiate as if the equity is worth zero, then treat any exit as upside. Ask three questions: how many shares outstanding (to compute your percentage), latest preferred share price (sets a floor on per-share value), and liquidation preference structure (affects what common shareholders see in a sale). If the recruiter dodges any of these, the equity is probably not worth what they're claiming.