How Much Should You Counter a Software Engineer Job Offer? (Exact Numbers by Level)
A data-backed guide to counter-offer amounts for software engineers, broken down by level (L3 to L7), company tier, and leverage. Includes real examples, scripts, and the math behind every number.
You have the offer in writing. The recruiter wants a response by Friday. And you are sitting there Googling the only question that actually matters right now: how much should you counter?
Here is the short answer, and then we will get into the details.
For a typical software engineer offer, counter between 10% and 20% above the base salary, and push total compensation (TC) up by 15% to 30% when you include sign-on bonus and equity adjustments. Your exact number depends on three things: your level, the company tier, and how much competing leverage you have.
That is the headline. The rest of this guide is the math, the tables, the scripts, and the honest trade-offs behind it. We have helped over 1,200 tech professionals run this exact calculation, and the patterns are consistent enough that you can price your counter in about fifteen minutes once you know what to look at.
The Short Answer, Visualized
If you just want a number and a reason, use this table as a starting point. Adjust up or down based on your leverage (more on leverage below).
| Level | Title examples | Typical counter on base | Typical counter on TC | Realistic TC gain |
|---|---|---|---|---|
| L3 / New Grad | SDE I, Associate SWE | 8% to 12% | 10% to 15% | $8K to $25K |
| L4 / Mid | SDE II, Software Engineer | 10% to 15% | 15% to 22% | $20K to $55K |
| L5 / Senior | Senior SWE, SDE III | 12% to 18% | 18% to 28% | $40K to $95K |
| L6 / Staff | Staff Engineer, Principal SDE | 15% to 22% | 20% to 35% | $75K to $180K |
| L7 / Principal | Principal, Distinguished | 18% to 25% | 25% to 45% | $150K to $400K+ |
A few notes before anyone emails us. These are base-case ranges. They assume you have at least one competing data point (a second offer, a recent interview loop that went deep, a current comp stub showing a recent raise cycle, or clear Levels.fyi medians above the initial number). Without any leverage at all, you should shade toward the lower end. With two competing offers from peer-tier companies, you can often beat the upper end.
Jonathan, a Staff Software Engineer who used our playbook at Reddit, negotiated $102K above his initial offer. Andrew, another Staff Engineer at ParTech, added $100K to what the company already called a “good offer.” Tony, a Senior Data Scientist at Amazon, closed $75K above the initial number using our exact scripts. Those are not outliers for L5 and L6 roles. They are what happens when the counter is priced correctly.
Why “How Much” Is the Wrong First Question
Most candidates start by asking how much to counter. That is backwards. The counter number is an output, not an input.
The real inputs are:
- The market price for your exact level and location (what Levels.fyi and H1B Salary Data say the median and 75th percentile look like).
- Your BATNA, which is negotiation jargon for the best alternative you have if this deal falls apart. Another offer is the strongest BATNA. An active final-round loop is the second strongest. A current job you would happily stay at is the third.
- The flex this specific company has at this specific level. Some levels at some companies have bands twice as wide as others. Meta E5 has more room than Google L5 at most locations. Stripe has more room than Shopify. A Series B startup has less cash flex than a late-stage unicorn but more equity flex.
Once you have those three inputs, the counter number writes itself. You pick the number that is slightly above the 75th percentile of market, inside the likely band, and close to or above what your BATNA would pay. If that number also lands 10% to 20% above the initial offer, you are in the standard zone. If it lands higher, you need strong BATNA to justify it. If it lands lower, you probably should not counter at all and should instead push non-cash levers (start date, PTO, title, bonus structure).
Counter Offer Percentage by Company Tier
Company tier matters because band widths differ. A 20% counter at a bootstrapped 40-person startup might be fantasy. The same 20% at Amazon L5 is routine.
| Company tier | Examples | Base flex | Sign-on flex | Equity flex |
|---|---|---|---|---|
| FAANG + peers | Google, Meta, Amazon, Apple, Netflix, Microsoft | 5% to 12% | $20K to $100K+ | 20% to 50% |
| Tier 2 / late-stage unicorns | Stripe, Databricks, Airbnb, Uber, Snowflake, Coinbase | 5% to 15% | $10K to $50K | 15% to 40% |
| Established public tech | Salesforce, Oracle, IBM, SAP, Adobe | 3% to 10% | $5K to $30K | 10% to 25% |
| Mid-stage startup (Series B to D) | Varies widely | 3% to 10% | $5K to $25K | 25% to 75% |
| Seed / Series A | Varies widely | 0% to 8% | $0 to $15K | 30% to 150% |
| Non-tech / traditional | Banks, consulting, retail tech | 2% to 8% | $0 to $20K | N/A or small |
A pattern that surprises most first-time negotiators: at big tech companies, base salary is the hardest lever to move and equity is often the easiest. Recruiters are tightly boxed on base because raises roll off base every year. They have far more discretion on sign-on (a one-time cost) and equity (which vests over four years and partly masks the true dollar impact).
If the recruiter says “the base is fixed,” they are usually telling the truth. But they are almost never telling you the sign-on or equity is fixed, even if they imply it.
The Three Data Points You Need Before Picking a Number
Before you say a single number, get these three pieces of information. Most candidates skip step one entirely and wonder why they left money on the table.
1. The 75th percentile of market for your level and location
Go to Levels.fyi. Filter by the exact company (or peer companies if the target is not listed), your level, and your metro. Look at the 75th percentile of total compensation, not the median. Your target number should land close to that 75th percentile.
Why the 75th percentile? Because the median is what someone who took the initial offer without negotiating accepted. The 75th percentile is what someone who negotiated reasonably well ended up with. That is where you want to be.
2. Your BATNA (be honest about it)
Write down what you would do if this offer disappeared tomorrow. Not what you would threaten to do. What you would actually do. The honest answer calibrates how aggressive you can be.
- Two competing offers at peer-tier companies: aggressive counter, upper end of ranges above.
- One competing offer of similar quality: standard counter, middle of the ranges.
- One competing offer that is clearly worse: moderate counter, lean on non-cash levers.
- No competing offers, but a strong current job: moderate counter.
- No competing offers, no current job: conservative counter, focus on sign-on and non-base levers.
We have seen many candidates bluff a competing offer that did not exist and get caught. Recruiters sometimes call the bluff by asking to see a redacted offer letter. Do not bluff. Use what you actually have. You will be surprised how much leverage even a modest BATNA provides when you use it honestly.
3. Band flexibility signals from this specific recruiter
Recruiters leak information constantly if you listen for it. Things that signal wide band flex:
- They volunteered equity or sign-on numbers before you asked.
- They used phrases like “we have some room on this” or “what would make this work for you.”
- They asked what other companies you are talking to (they are trying to calibrate a counter).
- The offer deadline is more than a week out.
Things that signal narrow band flex:
- “This is our best and final.”
- “Our comp is algorithmic, we cannot adjust it.”
- They refused to put the offer in writing for more than 24 hours.
- The deadline is 48 hours or less.
The first set means you can aim high. The second set means you should focus on one or two specific items rather than a broad counter.
Real Examples: How Much Real Software Engineers Countered
Abstract percentages are useful. Real numbers are more useful. Here are specific counters that worked, annotated with the leverage that made them work.
Jessica, Junior Front-End Developer at Microsoft, +$42K. New grad offer. She had one other final-round loop at a smaller company, which was enough BATNA to counter the Microsoft base by 8% and push sign-on from $15K to $35K. Total TC impact was about $42K over year one. A new grad countering hard is the exception, not the rule, but it works when the data supports it.
Tony, Senior Data Scientist at Amazon, +$75K. Amazon is famous for salary caps that push compensation into sign-on and equity. Tony countered by shifting most of the upside into year-one sign-on and a bumped equity grant, rather than fighting the base cap. That is the correct play at Amazon L5 and L6. Fighting base at Amazon is like trying to squeeze water from a stone.
Jonathan, Staff Software Engineer at Reddit, +$102K. Staff level at a public company with real equity upside. Jonathan had a second offer from a peer company, which put the counter at the top of the L6 range. The counter moved base modestly, sign-on significantly, and equity by roughly 30%. Most of the $102K came from the equity adjustment compounded over the grant period.
Andrew, Staff Software Engineer at ParTech, +$100K. The company opened with what they called a strong offer. Andrew countered anyway, with a specific justification tied to market data for his level in his metro. The counter moved base, added a performance bonus structure, and increased sign-on. Lesson: “good offer” is almost always 10% to 20% below “best offer” at staff level.
Edward, Senior Backend Engineer at StackAdapt, +18%. Mid-sized ad-tech company. Edward did not have another offer in hand, but he had recent comp data from two friends at peer companies plus Levels.fyi benchmarks. The 18% improvement came mostly from base and sign-on, with a modest equity bump. This is a clean example of what you can do with data-driven leverage alone.
These are five cases. Every single one involved a specific counter tied to a specific justification. Nobody walked in saying “I want more money.” They walked in saying “based on this data, this is the number that makes sense.”
How to Actually Deliver the Counter
Picking the number is the math. Delivering it is the craft. Here are three scripts we have seen work, calibrated to different leverage levels.
Script 1: You have a competing offer
“Thanks again for the offer. I am genuinely excited about the team and the work. I do want to be transparent. I have another offer on the table with a total comp that is meaningfully higher, and I would like to see if we can close the gap. Specifically, I was hoping we could move base from $X to $Y, bring sign-on up to $Z, and add [number] more RSUs. If we can get close on those, this is where I want to be.”
Why this works: you led with enthusiasm, stated the BATNA without threatening, and gave specific numbers. The recruiter now has a concrete ask to take to the hiring manager and comp committee.
Script 2: You have strong data but no competing offer
“I appreciate the offer and the time the team put into this. I have been doing my homework on market comp for this level, and based on data from Levels.fyi and a couple of peers at similar companies, the range for this level in this metro skews higher than the initial number. I would like to propose base of $Y, sign-on of $Z, and an equity refresh closer to [target]. I want to make this work. What kind of flexibility do you have?”
Why this works: you did not claim a competing offer you do not have. You cited sources. You asked for flexibility rather than demanding. Recruiters respect the homework, and they often come back with 60% to 80% of the ask.
Script 3: You are a new grad or have thin leverage
“Thank you for the offer. I am really excited about the role. Before I accept, I wanted to ask if there is any flexibility on the sign-on bonus or the initial equity grant. I know base can be hard to adjust for new grads, so I wanted to focus on those two areas if possible.”
Why this works: new grads who push hard on base sometimes get refused flatly. New grads who ask specifically about sign-on and equity often get meaningful movement. You are meeting the recruiter where their flexibility actually lives.
In all three scripts, notice what is missing. No threats. No ultimatums. No “take it or leave it.” Recruiters respond to partners, not adversaries. The best negotiators we have seen are almost disarmingly pleasant. They just happen to come prepared with specific numbers and specific justifications.
When to Counter Above 20 Percent (And When Not To)
Countering above 20% on base is unusual. It can work in a few specific cases:
- The initial offer is genuinely lowball. Check Levels.fyi. If the offer is at or below the 25th percentile for your level, a 20%+ counter is often justified.
- You have two or more offers at peer-tier companies with meaningful TC differences. The highest becomes your anchor.
- The role has significantly expanded scope versus what you interviewed for. This is rare, but it happens.
- You are being leveled down. Sometimes the offer comes in at L4 when the scope is clearly L5. The right move is to push for a level bump, not just a comp bump. A level bump usually represents 25% to 40% in TC.
Do not counter above 20% in these cases:
- The initial offer is already at or above the 75th percentile for your level.
- You have no BATNA and the company knows it.
- The recruiter has clearly communicated a hard cap and explained why.
- You are at a Seed or Series A startup where cash is genuinely constrained.
A very aggressive counter in the wrong context can cause offer stalling or, in rare cases, rescission. In over a decade working with candidates and recruiters, we have almost never seen a good-faith negotiation rescinded. We have seen aggressive counters with no supporting justification cause recruiters to slow-walk the process and sometimes lose executive sign-off. Know which situation you are in.
The Mistakes That Cost Engineers Tens of Thousands
We see these patterns every week. Any one of them can cost $20K to $200K over the life of the offer.
Mistake 1: Accepting verbally before seeing the written offer. Once you say yes on a call, the recruiter stops fighting for your number. Always ask for the offer in writing before giving any indication of acceptance.
Mistake 2: Giving a number first. If the recruiter asks what you are looking for, deflect. “I would love to understand the full package first before discussing specific numbers.” The first number on the table anchors the entire negotiation. Let them put it there.
Mistake 3: Countering only base. Base is the hardest lever. Sign-on and equity are where the movement usually lives. A smart counter touches all three.
Mistake 4: Using a deadline you did not set. If the recruiter says “we need an answer by Friday,” ask for more time. Almost every deadline is soft. “I want to give this the consideration it deserves. Can we push to next Wednesday?” is a sentence that has literally saved candidates tens of thousands of dollars.
Mistake 5: Burning bridges by threatening. “If you cannot match this, I am taking the other offer” puts the recruiter on the defensive. “I would really like to work here, and I want to see if there is a way to close this gap” puts them on your side. Same leverage. Very different reaction.
Mistake 6: Forgetting the refresh. Your initial equity grant is only part of the story. At most big tech companies, annual refresh grants make up 30% to 50% of your long-term comp. Always ask what the typical refresh looks like at your level. Companies that refuse to discuss it are signaling something.
Mistake 7: Not negotiating relocation, PTO, start date, or title. These are free moves. The recruiter often has unilateral authority over them. Even if you cannot get more cash, you can usually get a better start date, a title bump, or extra PTO. Amanda, a Product Manager we worked with, closed almost $60K across three offers partly by stacking these non-cash wins alongside cash moves.
Frequently Asked Questions
Is countering 20% too much?
For most software engineer offers at FAANG, tier-2 tech, and late-stage unicorns, 20% on base is aggressive but not unreasonable. On total compensation, 20% to 30% is the standard band at L5 and above. The number is only “too much” if you cannot justify it with market data or a competing offer.
How long should I take before countering?
Ask for the offer in writing, then take two to five business days to review and respond. Faster than two days and you look desperate. Slower than a week and the recruiter starts to worry. If you need more time because you are waiting on another offer, be transparent about it. Most recruiters will extend deadlines to avoid losing you to a competitor.
Should I always counter every offer?
Almost always yes. Even a polite counter with minimal leverage typically nets $5K to $15K of movement, and often more on sign-on or equity. The only time not to counter is if the offer is already above the 90th percentile for your level and you have no competing data. Even then, asking about sign-on or PTO costs you nothing.
What if the recruiter says “this is our best and final”?
Almost nobody says best and final on the first pass. When they do, test it politely: “I understand. Is there any flexibility on sign-on or the initial equity grant specifically?” If they say no to everything, you have your answer and you can decide. If they say yes to one of them, best and final was not actually best and final.
Can the company rescind the offer if I counter?
In good faith, with reasonable asks, and without threats or bluffs, rescission is extremely rare. We have seen it a handful of times across thousands of negotiations, and in every case the candidate did something genuinely unprofessional (lied about a competing offer, demanded an immediate answer, used confrontational language). Professional negotiations do not get rescinded. They just get resolved.
What about stock options at startups, not RSUs?
Stock options at early-stage startups are a different math problem. The counter usually focuses on the option count, the strike price, and the acceleration terms on a liquidity event. Base salary is typically less negotiable because cash is constrained. If you are negotiating with a Seed to Series B startup, push for a larger option grant and single-trigger or double-trigger acceleration on change of control rather than a higher base.
Is it okay to counter with exact numbers instead of a range?
Yes, and it is usually better. Exact numbers signal that you have done the math. Ranges signal that you are hoping. Say “I was hoping we could get base to $215K and sign-on to $50K” rather than “I was hoping for something in the $210K to $220K range for base.”
How much does negotiating actually matter long term?
More than almost any other career move. If you accept an offer $30K below what you could have gotten, that gap compounds. Raises and future offers are benchmarked against your current comp. Over a 10-year career, a single missed negotiation can cost $300K or more. That is why the math on spending a weekend preparing for this conversation is so lopsided. A few hours of work can change the shape of your financial life for a decade.
Before You Hit Send
If you are about to send your counter, run through this short checklist:
- You know the 75th percentile of market for your exact level and metro.
- Your counter number lands close to or slightly above that 75th percentile.
- You have at least one justification for the number (competing offer, market data, recent comp history).
- You are asking for base, sign-on, and equity together, not just base.
- Your message leads with enthusiasm and ends with collaboration, not a threat.
- You have a specific number in mind for each lever, not a range.
- You are prepared for the recruiter to come back with 60% to 80% of your ask.
If all seven are true, you are ready. The rest is pushing send.
Most candidates we have worked with net between $15K and $100K above their initial offer, with outliers well beyond that at staff and principal levels. The difference between the candidates who net $15K and the ones who net $100K is not talent or luck. It is preparation. Everything in this guide is the preparation.
If you want the complete set of scripts, including the exact wording for follow-ups, the equity counter, the relocation counter, and the “push past best and final” script, that is what SalaryScript is built for. Over 1,200 tech professionals have used it to negotiate better offers at Google, Meta, Amazon, Microsoft, Reddit, Stripe, and hundreds of other companies. The average reader nets between $30K and $100K above their initial offer.
But even without any product at all, the framework in this article is enough to move your offer meaningfully. Do the homework, pick the number, send the counter. The worst case is they say no to part of it. The best case is the difference between this offer and the life you actually wanted.
Related reading: The Complete FAANG Salary Negotiation Guide and How to Negotiate Your Salary After Receiving a Job Offer.
Ready to negotiate your next offer?
SalaryScript gives you the exact scripts, strategies, and frameworks used by FAANG insiders to add $30K–$300K to tech offers.
Get SalaryScript