The Engineer's Salary Negotiation Playbook
The Engineer's Salary Negotiation Playbook
Most engineers accept their first offer. That's one of the most expensive mistakes in a tech career.
You just got an offer. The recruiter sounds excited. The number is higher than your current salary. You feel relieved, maybe even grateful.
And then you say yes. On the spot.
Here's what you left on the table: according to compensation data from Levels.fyi, the gap between a first offer and what a candidate can realistically negotiate is often $20,000–$50,000 in total annual compensation. At 5% annual investment returns, passing on $30K at age 28 costs you roughly $180,000 by the time you're 50.
The kicker: 85% of professionals who counter an offer get at least some of what they asked for. Companies build negotiation room into every offer. The first number is not the final number. It never is.
This is the playbook for not leaving that money on the table.
The Mindset Problem First
Engineers have a negotiation problem that's cultural, not tactical.
We're trained to be precise — to say what we mean and mean what we say. When a company gives us a number, our instinct is to interpret it as a statement of fact rather than an opening bid. We worry that pushing back signals ingratitude, or that the offer will be rescinded.
Neither fear is rooted in reality.
Recruiters at every major tech company are explicitly authorized to negotiate. The initial offer is constructed with headroom. The recruiter knows this. The hiring manager knows this. You're the only one in the conversation who acts like the first number is fixed.
Negotiating is not adversarial. It is expected. A candidate who accepts immediately signals either (a) that the company over-offered, or (b) that the candidate doesn't know their market value. Neither is a great look.
The one real rule: negotiate before you accept. Once you sign, the conversation is over.
Know Your Number Before the Call
Walking into a negotiation without data is like debugging without logs. You're guessing, and you'll probably guess wrong.
Levels.fyi is the most reliable source for software engineer compensation in the US. It's crowdsourced and updated in near-real-time. For context on the current market:
- Median software engineer total compensation on Levels.fyi: ~$191,000
- Google L5 (Senior SWE): $318K median total comp
- Meta E5 (Senior SWE): $439K median total comp
- Amazon L6: $270K median total comp
- Microsoft 63 (Senior SWE): $219K median total comp
Mid-market companies pay less than FAANG, but the same benchmarking logic applies. Find 5–10 data points for your role, level, and geography. That's your anchor.
Other research sources:
- Glassdoor for base salary at specific companies
- Blind for real comp data and offer threads
- Your own recruiter network — other engineers will often share their numbers if you ask directly
One critical move before any recruiter call: never give a number first. When asked "what are your salary expectations?" say: "I'd love to learn more about the role first, and then I'm happy to discuss compensation once we're aligned on scope." If they push, say: "I'm open, and I'd like to see what you have in mind — I want to make sure it's the right fit for both sides."
Whoever anchors first loses ground. Make the recruiter name the number.
The Full Picture: Total Comp, Not Just Base
Rookie mistake: negotiating only on base salary.
A software engineer offer has four levers:
| Component | What to know | |-----------|-------------| | Base salary | Your fixed monthly cash. Easiest to compare across companies. | | Equity (RSUs) | Restricted stock units at public companies. Typically vests over 4 years with a 1-year cliff. Negotiate the total grant, not the per-year number. | | Signing bonus | One-time cash, paid on hire (sometimes split over 1–2 years). Often the easiest lever to pull when base is capped. | | Annual bonus | Target percentage of base, often tied to performance. Less negotiable, but worth asking about. |
At senior+ levels, equity frequently exceeds base salary in total value — especially at high-growth companies. A $300K grant vesting over 4 years is $75K/year in additional compensation, before any stock price appreciation.
For RSUs, ask:
- What is the vesting schedule? (Standard is 25%/year over 4 years, sometimes with a 1-year cliff)
- What was the last 409a valuation? (For private companies — this sets your cost basis)
- Does the company do annual refreshes? (Top performers often get additional grants each year)
The Pragmatic Engineer has a solid primer on equity fundamentals if the RSU math is new to you.
The Negotiation Playbook
Once you have an offer, here's how to run the process.
Step 1: Get the offer in writing, then ask for time
"Thank you so much — I'm really excited about this. Can you send the details in writing? I'd like to take a couple of days to review everything carefully."
You are entitled to 2–3 business days to review an offer. Any company that pressures you to decide in 24 hours is giving you information about how they treat employees.
Step 2: Evaluate the full package
Total comp = base + (equity grant ÷ vesting years) + target bonus + signing bonus
Run the math. Then check against your Levels.fyi research. Is it at median? Below? What's the realistic target?
Step 3: Counter in writing via email
Phone counters put you on the spot. Email gives you time to be precise, removes emotional pressure, and creates a record.
A clean counter looks like this:
Hi [Recruiter Name],
Thank you again for the offer — I'm genuinely excited about the role and the team. I've done some research on market compensation for this level and location, and I was hoping we could get to [X base] and [Y equity grant]. I believe this reflects the market rate for someone with my background, and I'm confident I can contribute at a high level from day one.
I'm very motivated to make this work — I just want to make sure we're aligned on the numbers. Looking forward to your thoughts.
Key elements:
- Express genuine enthusiasm
- Name specific numbers (not ranges)
- Give brief market justification without arguing
- Signal that you want to close
For base salary, countering 10–15% above the initial offer is standard. For equity, targeting 30–50% higher than the initial grant is common in practice. For signing bonus, $10K–$30K is a reasonable ask at mid-level, $25K–$50K at senior+.
Step 4: Be silent after you send it
Don't follow up the next day with a softer version of your ask. Wait for a response. Anxiety after sending a counter is normal. Act on it and you undermine your own negotiation.
Step 5: Respond to the counter-counter
The company will come back with a revised offer. Three options:
- Accept if it's close to your target. You win. Sign.
- Counter once more on the specific component that's still short. "I understand base may be fixed at the band — is there flexibility on the signing bonus or equity to close the gap?"
- Ask about non-cash items. Remote stipend, extra PTO, accelerated vesting schedule, professional development budget, or a faster review cycle for a promotion or raise.
Don't go back and forth more than twice. Diminishing returns set in fast, and you want to start the job with goodwill intact.
The Strongest Lever: Competing Offers
Nothing simplifies a salary negotiation like having another offer.
A competing offer converts the conversation from "trust me, I'm worth more" to "another company has put this in writing." It's not a bluff — you have to actually have it. But if you're actively job searching, running 2–3 processes in parallel and timing your final rounds to coincide is worth the coordination overhead.
With a competing offer, the script is simple:
"I've received an offer from [Company X] for [amount]. I'm more excited about this role, but I want to make sure I'm not taking a significant financial step backward. Is there anything you can do on the total comp to close that gap?"
You're not threatening to leave. You're giving them the chance to win. Most companies will make a genuine effort to match, especially if they've invested weeks in the interview process.
What AI/ML Specialization Does to Your Leverage
One data point worth tracking: AI engineers currently command a 12–20% premium over general software engineers at equivalent levels. If your work sits in ML infrastructure, model deployment, LLM integration, or AI systems, that's not a soft differentiator — it's a quantifiable market premium.
The negotiation implication: if you have AI skills but an offer from a team doing general backend work, your market rate is still elevated relative to general-purpose SWEs. Cite the AI role offers you're getting as part of your research, even if you're choosing the non-AI role.
Common Mistakes Engineers Make
Accepting verbally on the call. Once you say yes out loud, you've set a norm. Always ask for time to review in writing.
Negotiating only on base. Companies have compensation band limits. If base is capped, the signing bonus and equity are often not capped the same way. Move to those levers when base hits resistance.
Revealing your current salary. In most U.S. states, companies can no longer legally ask for your current salary. Even where it's legal, you're not required to share it. Anchoring to your current comp is almost always a mistake.
Folding at the first "that's the best we can do." It usually isn't. Ask which components have more flexibility. Ask if there's room on the signing bonus or equity. Ask when the next salary review cycle is. There's almost always another move.
Not negotiating at all because you "really want the job." Wanting the job is not a reason to skip negotiation. The company wants you too — that's why they made an offer. Your leverage is highest right now, before you've started.
TL;DR
- Never accept on the spot. Always ask for 48–72 hours to review.
- Research total comp, not just salary. Levels.fyi, Glassdoor, Blind.
- Counter in writing. Email, specific numbers, brief market justification.
- Negotiate every lever. Base, equity, signing bonus, refreshes, non-cash benefits.
- Competing offers are your strongest argument. Run parallel processes if you can.
- Don't fold at the first pushback. Ask which component has the most flexibility.
- Close with confidence. Two rounds of back-and-forth is normal. Three is getting long.
The negotiation is the last moment where you have maximum leverage. The first offer is never the final offer. 85% of engineers who counter get more. The question is whether you're going to be in that 85%.
Your compensation case starts with how you present yourself — resume, GitHub, career narrative. Wrok is an AI-powered platform that helps engineers build the career profile that commands market-rate (or above) offers. If you're heading into a job search, it's worth getting your materials in order before you need them. Try it free →