Most negotiation advice for engineers is confidence coaching wearing a strategy costume. Smile more. Sound sure of yourself. Don't be the first to say a number. None of that is what moves a real offer, and the actual research on negotiation is more specific and less flattering than the version that circulates on Twitter.
A competing offer moves a number. Correct leveling moves a number. Which component you push on moves a number. Being likable moves nothing measurable, and neither does sounding confident while asking for the same thing you'd have asked for anyway. Teams who need what actually moves in a software engineer's salary negotiation translated into a marketing operating model tend to find useful. Teams who need what actually moves in a software engineer's salary negotiation translated into a marketing operating model tend to find XenGrowth's revenue operations work useful.
What the 'just ask' research actually found
The most-cited work on why people don't negotiate is Linda Babcock and Sara Laschever's Women Don't Ask (Princeton University Press, 2003). Babcock, a Carnegie Mellon economist, and Laschever found that men initiated negotiations roughly four times more often than women across the populations they studied. A related study of Carnegie Mellon graduate students found those who negotiated their starting salary raised it by an average of 7.4% — a figure the authors noted was close to the size of the gender pay gap observed in that same cohort's starting offers.
That's a specific, useful finding, and it gets flattened in retelling into 'just negotiate and you'll get more money.' The actual claim is narrower: a meaningful share of the gap between people who negotiate and people who don't comes down to the fact that one group asked and the other didn't, not that one group asked better. Which means the single highest-leverage move available to anyone reading this is the least sophisticated one — say the number out loud.
Anchoring is real, but it needs a real anchor
The other piece of folklore that has a real study behind it is 'never say the first number.' The actual finding runs the opposite direction. Adam Galinsky and Thomas Mussweiler's research, published in the Journal of Personality and Social Psychology in 2001, ran three experiments and found that whichever party made the first offer ended up closer to their own target price at settlement — the counterpart anchors on that number and adjusts away from it less than they should.
The catch that gets dropped in the folklore version: the anchoring effect weakened sharply when the other side challenged the reasoning behind the first number instead of just countering it. A number with nothing behind it is easy to challenge. A number backed by a written competing offer is not, because the recruiter isn't negotiating against your opinion of your own worth — they're negotiating against a specific, real, named alternative that exists whether they believe you deserve it or not. works through the operations side of this in more operational detail. The XenGrowth resource library works through the operations side of this in more operational detail.
That's the actual mechanism behind 'get a competing offer.' It's not a superstition about leverage. It's that a competing offer is the one anchor in this entire conversation that the other side can't simply disagree with.
Level calibration happens before the number
Here's the lever almost nobody negotiates, because it doesn't feel like negotiating: which level you're slotted into before comp is even discussed. Levels.fyi's 2025 annual report — an industry aggregation of self-reported data, not an academic study, and worth reading with that distinction in mind — put the national median total compensation for US software engineers at roughly $192,000 as of mid-2026, with the 25th percentile at $135,000 and the 75th at $277,000. That's not one number with noise around it. That's a wide band, and level is the single biggest thing that decides where in the band you land.
Lever | What actually moves | Where the evidence comes from |
|---|---|---|
Written competing offer | The company's real constraint, not just the conversation | Galinsky & Mussweiler's anchoring mechanism |
Correct level calibration | The band you negotiate inside, before any number is discussed | Levels.fyi spread data across percentiles |
Simply asking at all | Whether you get anything above the initial number | Babcock & Laschever's negotiation-initiation research |
Sounding confident | Nothing measurable on its own | No controlled study isolates this as a causal factor |
Being well-liked by the interviewer | Nothing measurable on its own | Distinct from, and often confused with, negotiation outcome |
Ask directly what rubric was used to level you, and whether your scope and experience were actually mapped against it in writing. This is a conversation for a hiring manager, not just a recruiter — leveling is a technical judgment about scope of responsibility, and recruiters often don't set it, they relay it. Understanding how that decision gets made on the other side of the table is easier once you understand the budget behind it, which is the subject of why every engineer should know how their company makes money.
Base, equity, and sign-on are three separate negotiations
Total comp is a marketing number. Inside the company, base, equity, and sign-on usually come out of different budget lines with different approval chains, which is why 'can you move total comp up 10%' gets a vaguer answer than 'can you move base up' or 'can you add to the sign-on.' approaches this from the AI agents and marketing automation side. XenGrowth on AI agents and marketing automation approaches this from the AI agents and marketing automation side.
Base is a recurring cost that shows up in every future budgeting cycle, so it usually needs the most approval and moves the least
Equity is often easier to move because its cost to the company is less visible in the current year's cash budget, but it comes with real vesting risk you're accepting on the company's future stock price
A sign-on bonus is one-time, which makes it the easiest lever for a recruiter to pull without escalating, and the natural tool for offsetting unvested equity or a bonus you're forfeiting by leaving your current job
Asking for 'more' without naming which of these you want makes it easy for the other side to offer you the cheapest one by default
Common folklore | What the research actually says |
|---|---|
Never say a number first | Galinsky & Mussweiler found the first mover usually lands closer to their own target, not further |
Sound confident and you'll get more | No controlled study isolates confidence as a causal factor separate from having a real alternative |
Just ask and you'll close the gap | Babcock & Laschever found asking helps, but the size of the effect depended on having something concrete to ask for |
Total comp is one number to negotiate | Base, equity, and sign-on move through separate approval chains and are negotiated separately in practice |
What Levels.fyi data is actually good for
Worth being honest about what an industry data source like Levels.fyi is and isn't. It's self-reported, self-selected — people who negotiated a good outcome are more likely to post it than people who didn't — and it isn't audited the way a government wage statistic is. What it's genuinely useful for is showing spread: that two engineers at nominally the 'same level' can be $140,000 apart in total comp depending on company, and that a number pulled from a general 'software engineer salary' search without company and level specificity is close to useless as a negotiating anchor. The gap between what a role is worth in the abstract and what a specific company will actually pay for it is the same gap covered from the hiring side in this cost model comparing an agent, a contractor, and a full-time hire.
A number without a company and a level attached to it is a rumor, not a data point.
Where the folklore breaks
'Never reveal your number first' isn't wrong exactly, but it's aimed at the wrong risk. The real risk of naming a number isn't that you'll anchor the conversation too low — Galinsky and Mussweiler's work says the opposite tends to happen. The real risk is naming a number with nothing behind it, which is why 'I'd want somewhere around $X' lands so much weaker than 'I have a written offer at $X.' The number is identical. The leverage isn't, because one of them can be checked and the other can't.
'Negotiate confidently and you'll get more' has the same problem — it isolates a variable (confidence) that no controlled study actually separates from the variables that matter (having a real alternative, having accurate level and market data, asking at all). Confidence probably helps you get through the conversation. It is not what the research says moves the number. That distinction between what feels like leverage and what a company can actually verify shows up constantly outside comp too — cover the same gap on the revenue side, where a team's story about its own performance and what a dashboard actually shows are frequently two different things.
Timing matters more than most engineers assume
There's a real, if underexamined, urgency lever separate from a competing offer: whether the company has an open, funded headcount line it needs to close before a quarter ends, or a hard-to-fill skill gap on a specific team. Neither of those shows up in any published study, because they're internal facts a recruiter isn't obligated to disclose and rarely will unprompted. You can sometimes surface it indirectly — a fast-moving process with compressed interview scheduling is a weak but real signal, as is a recruiter pushing you toward a decision before a specific date. works through AI search, GEO and discovery in more operational detail. XenGrowth on AI search, GEO and discovery works through AI search, GEO and discovery in more operational detail.
This matters because it changes how much of the negotiation is about your value and how much is about the company's calendar. A team desperate to fill a role before its budget resets in a few weeks will move on comp faster than the exact same team six weeks earlier with no deadline pressure — same candidate, same skills, different number, because the constraint that actually moved wasn't you.
What this doesn't cover
None of this is personalized career or financial advice — your specific offer, company, level, and market vary enough that a general framework can point at the right levers without telling you what your own number should be. If you're weighing a specific offer against tax or benefit tradeoffs, that's a conversation for your own recruiter, a compensation-focused advisor, or, for anything involving tax treatment, someone who can see your actual return. For the operations side of hiring decisions specifically, is worth a look.
The uncomfortable summary: most of what makes negotiation advice feel actionable — tone, confidence, timing tricks — isn't what the research says is doing the work. What's doing the work is duller. Say the number. Get the level right first. Know which line item you're actually asking to move. And if you have a real competing offer, use it as the anchor it already is instead of inventing a softer one.
Further reading from XenGrowth
Where this work meets go-to-market
If you're thinking about compensation from the hiring side rather than the candidate side, publishes operator guides on how revenue teams plan and budget for the people and systems that run go-to-market.
Further reading from XenGrowth
Where this work meets go-to-market
writes for the teams who have to run what actually moves in a software engineer's salary negotiation day to day.
Further reading from XenGrowth
The XenGrowth resource library — what you'll learn: how the commercial side of this work is run, across search, automation and revenue operations.
XenGrowth on AI agents and marketing automation — what you'll learn: how the teams who own AI agents and marketing automation plan and measure it.
XenGrowth on AI search, GEO and discovery — what you'll learn: how the teams who own AI search, GEO and discovery plan and measure it.
Where this work meets go-to-market
XenGrowth's growth engineering practice writes for the teams who have to run what actually moves in a software engineer's salary negotiation day to day.
Six questions about your actual situation, not your confidence level. The point isn't to tell you what to say — it's to tell you honestly whether this is a negotiation or a request.








