Always
counter.
Most engineers accept the first number and quietly leave money on the table — often a lot of money, because a starting salary compounds for a whole career. The reluctance is emotional: it feels risky, greedy, ungrateful. But run the numbers and the fear evaporates. A polite counter has a real chance of working, and almost no chance of backfiring — companies don't rescind offers over a reasonable ask. That makes negotiating one of the highest-return, lowest-risk moves you'll ever make. This handbook is the expected-value case for asking, and it's runnable.
The lopsided bet
Negotiating feels scary because we imagine a downside that mostly doesn't exist: that asking for more will make the offer disappear. In reality, a company that has decided to hire you — sent an offer, wants you on the team — does not throw that away because you politely asked for a bit more. They either say yes (fully or partly) or they say "this is our best," and hold the original. The offer stays on the table. That asymmetry is the whole game.
Put it in expected-value terms. Suppose a counter is accepted with some probability p, giving you the higher number, and with probability 1−p they hold at the original. Your expected outcome is p·(higher) + (1−p)·(original), which is always more than the original for any p > 0 — because the "bad" branch still leaves you exactly where you'd have been by accepting. You're being offered a bet where heads you win and tails you break even. There is almost no other decision in your career with a payoff structure that generous, which is why "should I negotiate?" is, mathematically, nearly always "yes."
Countering is positive expected value for any real chance of success, because the downside — an offer rescinded over a polite ask — essentially never happens; you either gain or break even, and the gain compounds for a career.
Your BATNA is leverage
If expected value says "ask," the question becomes "how hard, and when do I walk?" The answer is your BATNA — Best Alternative To a Negotiated Agreement, a term from negotiation theory. It's simply your best option if this deal falls through: a competing offer, your current job, or just the ability to keep looking. Your BATNA sets the floor: you should accept an offer only if it beats your BATNA, and you can push for more precisely to the degree your BATNA is strong.
This reframes negotiation from a battle of nerve into a comparison of options. If you have a competing offer at $150k, you can negotiate this one calmly and firmly, because you genuinely don't need it — your walk-away is real and good. If your only alternative is unemployment, you have less room (though the EV logic still says to make a polite ask). So the single highest-leverage thing you can do isn't a clever phrase in the room — it's improving your BATNA before you're in the room: interview at several companies at once so you have real, concrete alternatives. Leverage isn't something you perform; it's something you arrange in advance. A strong BATNA does the negotiating for you.
It compounds
Here's the part that turns a modest win into a career-changing one: raises are almost always a percentage of your current base. So a one-time bump to your starting salary doesn't pay off once — it lifts the base that every future raise, bonus, and often your next job's offer is computed from.
The naive intuition says "$10k more, times 5 years, is $50k." But because each year's percentage raise now applies to a higher base, the true lifetime value is a geometric series that exceeds that — about $55k over just five years, and the gap widens the longer your career and the higher the raise rate. Extend it across a 30-year career and factor in that future employers frequently anchor their offers to your current pay, and a single successful negotiation can be worth six figures. That's the real stakes hiding behind a ten-minute conversation: you're not negotiating this year's paycheck, you're setting the base that everything else multiplies.
The negotiation math
The expected value of countering weights the higher outcome by its chance of success and the original by the rest — and it beats accepting whenever p > 0:
100k offer, 110k counter: at p=0.5, EV = 105k; even at p=0.1, EV = 101k. The "no" branch just holds the original, so asking never costs you.
Accept only above your BATNA; and the lifetime value of a base bump is a compounding series, not a flat multiple:
A $10k bump over 5 years at r=5% is worth ≈ $55,256, not $50,000. The runnable version below computes the EV, the accept rule, and the compounded career value.
The expected value of asking
The case for negotiating is arithmetic. A counter is accepted with some probability p (you get the higher number) and otherwise the employer holds the original — they essentially never rescind over a polite ask. So the expected value is p·counter + (1−p)·original, which beats simply accepting for any p above zero: the downside branch just leaves you where you started. Accept only above your BATNA (your walk-away), and remember a base bump compounds — its lifetime value is a geometric series, more than face value times the years. Change the numbers and watch the expected value and the compounded career value.
How to actually do it
The math says ask; here's the execution, which is calmer and more scripted than people fear:
| Move | Why it works |
|---|---|
| Do your research | Know the market range (levels.fyi, peers) so your ask is anchored in data, not a guess. Numbers beat feelings. |
| Get competing offers | The strongest, most concrete BATNA. Interview in batches so offers arrive close together. |
| Let them name a number first | Avoid anchoring yourself low; if pushed, give a researched range, not a single figure. |
| Counter in writing, politely, specifically | "I'm excited to join. Based on my research and experience, I was hoping for X — can we close the gap?" A specific number + brief reason. |
| Negotiate the whole package | Base, equity, signing bonus, level, start date, remote — some levers move more easily than base. |
| Never accept on the spot | "Can I have a couple of days?" is normal and expected — it buys time and signals you have options. |
Notice how little of this is confrontational. You're not demanding; you're a professional, anchored in market data, expressing enthusiasm while asking to close a gap — a collaborative frame ("us solving this together") rather than an adversarial one ("me versus you"). The recruiter negotiates for a living and expects a counter; not countering can even read as naïveté. And level is often the biggest lever of all — being hired one level up can be worth far more than any base tweak, because it changes your entire pay band and trajectory. Come in calm, specific, and researched, and negotiation becomes what the math already told you it was: a low-risk, high-value conversation you'd be leaving money on the table to skip.
Negotiating with AI-era leverage
The AI era added a new source of leverage: a reported wage premium for AI-skilled roles — often 50% or more versus otherwise-similar roles without them, and far larger at the frontier labs. But a premium is only leverage if you can demonstrate the scarce skills behind it. So the AI-era move is to anchor your ask not just in years of experience, but in the specific, hard-to-fake value you bring: you can design and run evals, you ship AI features to production with a cost and latency budget, you review AI-generated code adversarially, and you own the judgment AI cannot. Those are exactly what justify the top of a band rather than the middle.
| AI-era leverage | How to use it in the conversation |
|---|---|
| The skills premium | Frame your value in AI-era terms (evals, shipping AI features, reviewing AI code) — the reason a company pays above the generalist band. |
| A tighter market for judgment | The people who can direct and verify AI well are scarce; scarcity is leverage. Bring proof (see the portfolio-of-judgment idea). |
| Quantified, current comparables | Anchor in real bands by role and company tier — the frontier/AI premium is real but noisy, so bring live numbers, not a vibe. |
Before you counter, calibrate with data. The AI Salary Explorer gives indicative total-comp bands by role, level, and company tier (a senior big-tech AI engineer around the low-$200Ks; frontier-lab seniors in the high-six-figures) — use it to know whether an offer sits below, in, or above market before you respond, then bring live, source-backed comparables (e.g. Levels.fyi) for the specific role to the actual conversation. Everything from the sections above still governs — let them name a number first, counter in writing, negotiate the whole package and especially level — the AI premium just widens the gap that a calm, data-anchored ask can close. For the deeper role-by-role version of the value you're pricing, the AI-era engineer handbooks map exactly which skills command it.
AI-skilled roles carry a reported premium — real leverage if you can prove the skills. Anchor your ask in AI-era value (evals, shipping AI features, reviewing AI code), calibrate the band with the AI Salary Explorer, and bring live comparables. The premium widens the gap a calm, data-anchored counter can close.
Pitfalls
The first is simply not negotiating out of fear or gratitude — the single most expensive mistake, because you forfeit a positive-EV bet and, through compounding, a career's worth of money. Gratitude for the offer and negotiating it are not in conflict; you can be genuinely excited and still ask. The second is lying about competing offers: it's tempting, but if called (recruiters talk, and some ask for proof), it destroys your credibility and can cost you the offer. Real leverage or honest framing only — never invent a number you can't stand behind.
Two more. Anchoring yourself first and low: blurting out a number early, especially a modest one, caps the whole negotiation — let the employer go first when you can, and if you must speak, give a researched range. And fixating only on base salary: total compensation is base + equity + bonus + benefits + level, and the company often has more room in signing bonus or equity than in base, or can move you up a level — so negotiating the whole package (and especially level) frequently beats grinding on base alone. The meta-point is that negotiation feels emotional but is fundamentally a numbers problem: the expected value says ask, your BATNA says how hard, and compounding says it matters far more than it looks. Treat it as the calm, calculated, low-risk decision it is, and you'll capture value that silent acceptance quietly hands back to the company every single time.
Always make a polite counter — it's positive EV and offers aren't rescinded over reasonable asks. Improve your BATNA before the conversation (competing offers), never lie about them, let them name a number first, negotiate the whole package (level especially), and remember a base bump compounds for a career.
Quick answers
Should you always negotiate?
Almost always — a polite counter is positive expected value: real upside, near-zero downside (offers aren't rescinded over a reasonable ask).
What is a BATNA?
Your Best Alternative To a Negotiated Agreement — your walk-away option. It's your real leverage; improve it (competing offers) before you negotiate.
Why does a small raise matter?
Raises are a percentage of base, so a one-time bump compounds — its lifetime value exceeds face value times years, and future offers anchor to it.
How should engineers negotiate?
Research the market, get competing offers, let them name a number first, counter politely in writing with a specific figure, and negotiate the whole package and level.
Explore the topic
See this alongside everything else on the same subject — handbooks, system designs, challenges and tools, in one place.
More Handbooks
- The Prompting HandbookA friendly, hands-on field guide for everyday humans — learn the CRISP framework, spot bad prompts, practice with real recipes, play a drag-and-drop game, and test yourself with a quiz. No code required.Read →
- The Agentic AI Interview HandbookTwenty topics every senior AI engineer should be able to reason about live — from eval pipelines to reliability patterns for generative systems.Read →
- The Senior AI Engineer Interview Handbook60 questions across architecture, production incidents, agentic systems, RAG, evals, cost, safety, and leadership — what staff-level AI interviewers actually probe for.Read →
- 50 Angular Interview QuestionsA visual handbook covering components, change detection, RxJS, signals, routing, forms, performance, and testing — what interviewers actually probe for in senior Angular roles.Read →
- 50 Python Interview QuestionsFundamentals to advanced: data structures, OOP, iterators & generators, the GIL, asyncio, memory, testing, and the standard library — a visual walk through everything a Python interview touches.Read →
- 51 LLM Evals Interview QuestionsGolden sets, LLM-as-judge, regression testing, offline vs online evals, RAG evals, agent evals, red-teaming, and observability — demystified for interviews and production.Read →
Explore more from Vibe Engines
Get the next one in your inbox.
New handbooks, system-design walkthroughs, and tools — straight to your inbox. No spam, unsubscribe anytime.