Most Engineers Leave $20K-50K on the Table
The single most expensive mistake in a software engineer's career isn't picking the wrong tech stack or joining a company that folds. It's accepting a compensation offer without negotiating. Virtually every offer from a company with more than 50 employees has room to move. Recruiters expect you to negotiate. They have a range approved before they ever call you. When you accept the first number, you're anchoring your comp at that company for years — raises and equity refreshers are calculated as percentages of your current compensation. A $15K difference at signing compounds to $100K+ over four years.
This isn't career coach platitude. I've seen engineers get $30K base bumps, doubled signing bonuses, and accelerated vesting schedules by sending a single well-crafted email. I've also seen engineers torpedo their negotiations by doing it wrong — negotiating too early, bluffing about offers they don't have, or focusing exclusively on base salary while ignoring the components that actually move the needle at senior levels.
This guide covers the mechanics: when to negotiate, how to research your number, how to structure the ask, and how to handle the common pressure tactics companies use. No fluff, no "just believe in yourself" — concrete steps and email scripts you can adapt.
Researching Your Number: Where the Real Data Lives
You cannot negotiate effectively without data. "I want more money" is not a negotiation position. "Based on market data for L5 backend engineers in the Bay Area, the median total comp is $340K, and your offer of $290K is below the 25th percentile" — that's a position.
Here's where to get reliable compensation data, ranked by usefulness:
levels.fyi
This is the gold standard for tech compensation data. User-submitted verified offers broken down by level, company, location, and year. You can filter by specific roles (frontend, backend, ML, iOS) and see base, stock, bonus, and total comp separately. The data skews toward larger tech companies but has increasingly good coverage of mid-size companies and startups. Always filter by the most recent 12 months — comp data from 2023 is irrelevant in 2026.
Glassdoor and Blind
Glassdoor is useful for companies not well-represented on levels.fyi, particularly non-tech companies with engineering teams (banks, retailers, healthcare). Take the numbers as directional, not precise — self-reported data without verification skews in both directions. Blind is more raw and honest. Engineers on Blind post actual offer letters, share negotiation outcomes, and will tell you bluntly if a company is lowballing. Search for your target company and read the last 6 months of comp threads.
H1B Salary Data
If you're targeting a specific company, the H1B salary database (h1bdata.info) gives you exact base salaries that companies have reported to the Department of Labor. These are legal filings — companies can't inflate or deflate them. The limitation is that H1B data only shows base salary, not total comp. But it gives you a hard floor. If a company is paying H1B engineers $185K base for the same role they're offering you at $160K, you have a strong data point.
Recruiter Back-Channels
If you know any technical recruiters personally — even at other companies — they can often tell you the general band for a given company and level. Recruiters talk to each other. They know what the market is paying. A five-minute conversation with a recruiter friend can save you hours of research.
Before you start any negotiation, you should know three numbers: the 25th percentile (floor — don't accept below this), the median (reasonable target for a standard negotiation), and the 75th percentile (stretch target if you have strong leverage like competing offers or rare skills).
Building Your Comp Research Sheet
Create a simple spreadsheet with one row per data source and columns for base, equity, bonus, and total comp. When you have 5-8 data points from different sources, the pattern becomes clear. Outliers stand out immediately — that one Blind post showing $500K for an L4 is probably a mispost or a quant role. The cluster of data points around $300-340K is your real range. Show this spreadsheet to your recruiter if they push back. Nothing kills the "that's above market" objection faster than a well-sourced data table.
One more thing: compensation varies dramatically by location, even within the same company. A Google L5 in Mountain View earns roughly 30-40% more than the same level in Austin or Raleigh. If you're negotiating for a remote role, clarify which location band they're using — some companies pay based on HQ location, others adjust to your local market. This single detail can swing your offer by $50K or more.
Understanding Total Compensation: It's Not Just Base Salary
Junior engineers negotiate base salary. Senior engineers negotiate total compensation. The difference matters enormously, because at the senior level and above, equity and bonuses can represent 40-60% of your total comp. Here's how each component works and what's actually negotiable.
| Component | What It Is | Negotiability | Key Details |
|---|---|---|---|
| Base Salary | Fixed annual cash compensation | Moderate | Most rigid component. Companies have bands per level. Typical movement: $10K-30K. Moving above band max usually requires re-leveling. |
| Equity / RSUs | Stock grants vesting over time | High | Usually most negotiable component at larger companies. Standard vesting: 4-year schedule with 1-year cliff. Can often get 20-50% more RSUs than initial offer. |
| Signing Bonus | One-time cash at start | High | Easiest component to increase. Doesn't set a precedent for future comp. Common range: $10K-100K+ depending on level. Often has clawback clause if you leave within 12 months. |
| Annual Bonus | Yearly performance-based payout | Low | Usually a fixed percentage of base (10-20% at most companies). Target bonus isn't very negotiable; actual payout depends on performance and company results. |
| Other Perks | Relocation, WFH stipend, PTO | Variable | Relocation packages can be substantial ($15K-50K+). Some companies offer extra PTO, home office budgets, or learning stipends. Always worth asking. |
Key insight: When a recruiter says "we can't move on base salary," your response should be "I understand. Let's look at the equity grant and signing bonus." Companies that are rigid on base often have significant flexibility on stock and signing bonuses because those don't change their long-term salary band structure.
Vesting Schedules: The Detail That Changes Everything
The standard RSU vesting schedule is a 4-year grant with a 1-year cliff. That means you receive nothing for the first 12 months, then 25% vests on your one-year anniversary, and the remaining 75% vests monthly or quarterly over the next three years. Some companies front-load vesting (Amazon famously does 5/15/40/40), which means your year-1 and year-2 comp will look dramatically different from year-3 and year-4.
When comparing offers, always calculate annualized comp for each of the first four years, not just "total comp." An offer with a $50K signing bonus and back-loaded vesting might pay you $280K in year one but $320K in year four. Another offer with no signing bonus but even vesting might pay $300K consistently. The right choice depends on your timeline and risk tolerance.
Also factor in stock price risk. RSUs at a public company are relatively safe — the stock may fluctuate but it has a real market price. Equity at a pre-IPO startup is essentially a lottery ticket. A $200K equity grant at a startup valued at $2B could be worth $2M if they IPO at $20B, or worth exactly $0 if they don't. When comparing a startup offer against a public company offer, discount the startup equity by 50-80% in your mental math unless you have genuine conviction about the company's trajectory. This isn't pessimism — it's base-rate thinking. Most startups don't reach IPO.
When and How to Negotiate: Timing Is Everything
The biggest tactical mistake engineers make is negotiating at the wrong time. Here are the rules:
Never negotiate before you have a written offer. If a recruiter asks "What are your salary expectations?" during a phone screen, do not give a number. Say: "I'd rather focus on the interview process first and discuss compensation once we've established mutual fit. I'm confident we can find a number that works for both of us." This is standard. Recruiters hear it daily. It does not hurt your candidacy.
Never negotiate on the phone when you first receive the offer. The recruiter will call you, deliver the numbers, and then wait in silence. This silence is designed to pressure you into reacting. Your response should be: "Thank you, I'm really excited about this opportunity. I'd like to take a couple of days to review the full package. Can you send me the details in writing?" That's it. No counter-offering on the spot. No "that seems low." No emotional reaction at all.
Negotiate via email, not phone. Email gives you time to craft your words. It creates a written record. It removes the pressure of a real-time conversation where you might say something you regret. The only exception is if you have an established relationship with the recruiter and genuinely prefer the phone — but even then, follow up with an email summarizing what was discussed.
The ideal negotiation window is 2-5 business days after receiving the written offer. Less than two days looks like you didn't consider it seriously. More than a week signals low interest or indecision. If you need more time because you're waiting on another offer, say so directly (more on this below).
Leveraging Multiple Offers Without Bluffing
Competing offers are the single most powerful negotiation tool. Nothing motivates a company to increase their offer like the concrete threat of losing you to a competitor. But there's a right way and a wrong way to use them.
The right way: Be transparent about the situation without revealing specific numbers (unless strategically beneficial). "I've received a competing offer from [Company] at a higher total compensation. I'd prefer to join your team because of [genuine reason], but I need the compensation to be closer to reflect the market. Can we revisit the equity component?"
The wrong way: Making up offers you don't have. Recruiters talk to each other — especially within the same tier of companies. If you claim to have a Google offer and the recruiter's former colleague is on Google's recruiting team, you will be caught. And when you're caught, the offer gets rescinded. I've seen it happen.
How to create leverage: The best negotiators don't wait for offers to appear. They engineer the situation. When you start interviewing, apply to 4-6 companies simultaneously and try to align your final rounds within the same 2-week window. This creates natural deadline pressure and maximizes the chance of having multiple offers at the same time. It's more work upfront, but it's the single most effective strategy for maximizing compensation.
If you only have one offer, you can still negotiate effectively. Your leverage then comes from market data, your specific skills, and the cost to the company of restarting their search. Filling a senior engineering role takes 3-6 months and costs $30K-50K in recruiting fees. Companies would rather pay you an extra $20K than restart that process.
When to Reveal Your Other Offers
Timing the reveal matters. Don't mention competing offers until you have a written offer from the company you're negotiating with. Mentioning it during the interview process comes across as presumptuous and can bias the interviewer against you. Once you have the offer in hand, mention the competing situation in your counter email or on the first call where you discuss numbers.
You don't have to reveal the specific company unless it helps your case. Saying "I have a competing offer from a Series D startup" is fine. Saying "I have a competing offer from Google" is more powerful if it's true, because it signals that a company with a rigorous hiring bar has validated your skills. But never name a company you don't actually have an offer from — the reputational risk is catastrophic.
One subtle tactic: if your competing offer is from a company the recruiter considers a direct talent competitor, lead with that. Recruiters have internal playbooks for specific companies. Hearing "I have an offer from [direct competitor]" triggers a different response than "I have an offer from a company you've never heard of." They know exactly what that competitor pays and they'll match or beat it to avoid losing the deal.
Handling Exploding Deadlines and Pressure Tactics
Some companies give you 48 hours or less to decide. This is a pressure tactic. Here's the reality: exploding deadlines are almost always negotiable. A company that spent three months and $30K+ recruiting you is not going to rescind the offer because you asked for five extra days.
If you receive a tight deadline, respond with: "I take this decision seriously and want to make sure I'm fully committed when I accept. Would it be possible to extend the deadline to [date]? I want to give your offer the consideration it deserves." Most companies will extend. If they won't extend at all — that's a signal about what it's like to work there.
Other pressure tactics to watch for:
- "This is the best we can do." — It almost never is. This just means the recruiter needs to go back to the hiring manager or comp team for approval, and they'd rather not. Push politely: "I understand the constraints. Could we look at a signing bonus to bridge the gap?"
- "If you don't decide by Friday, we'll move on to our next candidate." — This is a bluff 90% of the time. Their next candidate is weeks away from an offer if they even have one. Don't panic.
- "We don't negotiate — our offers are fair from the start." — A few companies genuinely operate this way (some smaller startups, some companies with public comp bands). Most companies that say this will still negotiate on signing bonus or equity even if base is truly fixed.
Email Scripts That Work
These are templates you can adapt. Don't copy them verbatim — adjust the tone and specifics to match your situation.
Script 1: Initial Counter (After Receiving Written Offer)
Subject: Re: [Company] Offer — [Your Name]
Hi [Recruiter],
Thank you for the offer. I'm genuinely enthusiastic about joining [Company] — the [specific team/project/mission] is exactly where I want to be.
After reviewing the package and comparing it with market data for [level/role] engineers in [location], I'd like to discuss the compensation. Based on my research, the median total comp for this role is in the [$X-$Y] range. I believe my experience with [specific relevant skill or accomplishment] positions me well within that range.
Would it be possible to adjust the equity grant to [target number] shares and the signing bonus to [$X]? I'm flexible on how we get to a number that reflects the market — happy to discuss.
Looking forward to hearing your thoughts.
[Your Name]
Script 2: Requesting More Time
Subject: Re: [Company] Offer — Timeline
Hi [Recruiter],
Thank you again for the offer. I want to be transparent — I'm in the final stages with one other company and expect to have a decision from them by [date]. I want to give [Company] the full consideration the opportunity deserves, and I'd like to make a fully informed decision.
Would it be possible to extend my decision deadline to [date, typically 5-7 days out]? I'm not using this time to shop the offer — I want to make sure that when I accept, I'm fully committed.
Thanks for understanding.
[Your Name]
Script 3: Accepting the Offer
Subject: Re: [Company] Offer — Accepted
Hi [Recruiter],
I'm happy to confirm that I'm accepting the offer. Thank you for working with me on the compensation — I appreciate the team's flexibility.
Please send over any paperwork you need signed, and let me know next steps for onboarding. I'm looking forward to getting started on [start date].
[Your Name]
Common Mistakes That Cost Engineers Money
1. Negotiating Before You Have Leverage
Don't bring up compensation before you've completed the interview process and received an offer. Every conversation about money before the offer stage weakens your position. During interviews, your only job is to make them want you badly enough that the hiring manager will fight to get your comp approved.
2. Not Having Competing Offers
This is less a mistake and more a failure to prepare. If you're interviewing at one company and nowhere else, you've eliminated your strongest negotiation lever. Even if you have a strong preference for one company, interview at two or three others. The time investment pays for itself many times over.
3. Accepting the First Number
The initial offer is the starting point, not the final answer. Companies build negotiation room into their offers. The first number is typically 10-20% below what they're willing to pay for a candidate they've decided to hire. Not negotiating is leaving that margin on the table.
4. Negotiating Only Base Salary
At companies where equity is a meaningful part of comp (most mid-size and large tech companies), base salary is the least flexible component. It's bounded by level bands and requires HR approval to exceed. Equity and signing bonuses have much wider ranges and are often within the hiring manager's discretion. Focus your negotiation energy where there's actual room to move.
5. Being Adversarial
Negotiation is not a fight. The recruiter is not your adversary — they want you to accept. An adversarial tone ("This offer is insulting," "I expected much more") makes the recruiter less willing to advocate for you internally. Frame everything positively: "I'm excited about the role. Can we close the gap on comp so I can say yes with full enthusiasm?"
6. Not Practicing the Conversation
Even if you negotiate via email, you'll likely have at least one phone call about comp. If you haven't practiced articulating your ask out loud, you'll stumble, hedge, and undercut yourself. Run through the conversation with a friend, or use a tool like Hoppers AI mock interviews to practice high-pressure conversations and get feedback on your delivery. Confidence in these moments comes from repetition, not talent.
If you're preparing for the interviews that will generate these offers, solid preparation is foundational. Our guides on Google software engineer interviews and company research for interview prep cover what you need to know before walking into the room. And for behavioral rounds — which are often where you build the rapport that translates into comp flexibility — mastering the STAR method makes a measurable difference.
Negotiation is a skill, not a personality trait. The engineers who negotiate well aren't more aggressive or more charismatic. They're better prepared, better informed, and more practiced. Every point in this guide is something you can learn and execute, regardless of how uncomfortable negotiation feels today. Start with the data, write the email, send it. The downside is almost always zero. The upside compounds for years.