Most engineers don't negotiate their salary. Not because they don't want more money - but because they don't know what to say, they're afraid of seeming greedy, or they worry the offer will get pulled.
Here's the thing: that single conversation is worth $10,000 to $30,000. Sometimes more. And it takes maybe 15 minutes.
Negotiation isn't some mystical talent you're born with. It's a skill. And like any skill, it gets a lot easier when you have a script to follow. That's what this post is - word-for-word scripts and copy-paste email templates so you can stop leaving money on the table.
Why You Should Always Negotiate
Let's start with the data.
According to multiple salary surveys, roughly 60-70% of people accept the first offer without negotiating. And among those who do negotiate, the vast majority get something better. One study from Salary.com found that failing to negotiate your starting salary can cost you over $600,000 across a 30-year career due to compounding raises.
Here's what you need to understand about how this works from the company's side:
The first offer is never the best offer. Every company builds negotiation room into their compensation bands. The recruiter's first number is almost always at the low or mid range of what's been approved. They expect you to push back. When you don't, you're just leaving budget on the table that was already allocated for you.
Offers don't get rescinded because you negotiated. This is the big fear, and it's almost entirely unfounded. Think about it - a company just spent weeks interviewing you, got multiple people to say yes, and extended an offer. They're not going to throw all that away because you asked for $10k more. The only way negotiation goes wrong is if you're rude, dishonest, or make ultimatums you can't back up. Being professional and asking for more? That's expected.
Negotiating signals confidence. Ironically, most hiring managers actually respect candidates who negotiate. It shows you know your value, you do your research, and you advocate for yourself - all traits they want on their team.
Before You Negotiate: Do Your Research
You can't negotiate effectively if you don't know what you're worth. Gut feelings won't cut it here. You need data.
Where to Get Compensation Data
- Levels.fyi - The gold standard for tech compensation data. Verified offers broken down by company, level, and location. Start here.
- Glassdoor - Useful for broader market data, especially for non-FAANG companies.
- Blind - Anonymous tech worker forum where people share exact compensation numbers. Filter for your role and level.
- Compensation.fyi - Good for startup equity comparisons.
- Your network - If you're comfortable, ask friends and former colleagues at similar companies. People are more open about this than you'd think.
Know Your Range
Based on your research, define three numbers:
- Floor - The minimum you'd accept. Below this, you'd walk away.
- Target - What you'd be genuinely happy with. This should be realistic based on the data.
- Stretch - The upper end of what's reasonable for your level and market. This is your opening ask.
Understand Total Compensation
Base salary is only one piece. Make sure you understand the full picture:
- Base salary - Your guaranteed annual pay
- Annual bonus - Usually a percentage of base (common at larger companies)
- Equity/RSUs - Stock grants that vest over time (typically 4 years)
- Signing bonus - One-time cash to close the deal
- Benefits - 401k match, health insurance, PTO, remote work policy
When you negotiate, you want to think in total comp. A $5k lower base with $30k more in equity over 4 years is a better deal, especially at a growing company.
Know Your BATNA
BATNA stands for Best Alternative to Negotiated Agreement. In plain English: what's your backup plan if this doesn't work out?
If you have another offer, that's a strong BATNA. If you're happily employed and job searching casually, that's a decent BATNA. If you're unemployed and desperate - well, you still negotiate, but you adjust your strategy.
The stronger your BATNA, the more confidently you can push. But even with a weak BATNA, you should still negotiate. The worst they'll say is no.
The Framework: How to Think About Negotiation
Before we get into specific scripts, here are four principles to keep in mind:
1. Never give a number first. Whoever names a number first sets the anchor. If you say $140k and they were prepared to offer $160k, you just cost yourself $20k. Always let them make the first move.
2. Negotiate on total comp, not just base. Base salary often has tighter bands than equity, signing bonus, or other perks. If they can't move on base, there's almost always flexibility somewhere else.
3. Be enthusiastic but firm. The best negotiators make the other side feel good. Express genuine excitement about the role while also being clear about what you need. "I'm really excited about this opportunity AND I'd like to discuss the compensation" is better than "The offer isn't good enough."
4. Use silence as a tool. After you make your ask, stop talking. Seriously. The urge to fill silence is powerful, but the person who speaks first after a request often concedes ground. Make your ask, then wait.
Script 1: When They Ask Your Salary Expectations
This usually comes up during the phone screen or initial recruiter call. It feels casual, but it's a trap. Whatever number you give becomes an anchor - and it almost always hurts you.
The Deflection (Use This First)
"I'm really focused on finding the right role and team fit. I'm flexible on compensation and would love to learn more about the opportunity first. Can you share the range you have budgeted for this role?"
This works about 70% of the time. Most recruiters will share the range if you ask directly.
The Backup (If They Push)
Sometimes recruiters push back: "We really need a number to move forward." Here's your response:
"I understand. Based on my research for this role, level, and market, I've seen ranges from $X to $Y. But honestly, I'm more interested in the total compensation package and the opportunity itself. I'd rather not anchor on a specific number until I know more about the full offer."
Use the high end of what you've seen in your research for $X to $Y. You're not committing to a number - you're citing market data.
If They Absolutely Insist
"If I had to give a range, I'd say $X to $Y for total compensation, but I want to emphasize that the right role and team matter more to me than hitting a specific number. I'm confident we can find something that works for both sides."
Set $X at your target and $Y at your stretch. Never give your floor.
Script 2: Responding to the Initial Offer
This is the big one. You just got the offer - maybe over the phone, maybe via email. Here's exactly what to do.
Step 1: Show Excitement (But Don't Accept)
If they call you with the offer:
"Thank you so much - I'm really excited about this! I've loved getting to know the team through the interview process, and this role is exactly what I'm looking for. I'd love to take a day or two to review everything carefully and come back to you. Could you send me the details in writing?"
Key points: Be genuinely enthusiastic. Ask for it in writing. Buy yourself time. Never accept or negotiate on the spot.
Step 2: Review and Prepare Your Counter
Take the written offer and compare it against your research. Identify where the gaps are. Then send your counter via email - not phone. Email gives you control over your words and gives them time to process without putting anyone on the spot.
Step 3: Send the Counter (Email Template)
Subject: Re: [Company] Offer - [Your Name]
Hi [Recruiter Name],
Thank you again for the offer - I'm genuinely excited about joining
[Company] and working with the [Team Name] team. The role is a great
fit for what I'm looking for, and I can see myself making a real
impact here.
After reviewing the offer and doing some research on market rates
for this role and level, I'd like to discuss the compensation
package.
Based on comparable offers and market data from [Levels.fyi /
similar roles at peer companies], I was hoping we could move closer
to $[Target Number] for base salary. I believe this better reflects
my [X years of experience / specific skill / relevant
accomplishment] and is in line with the market for this level.
I'm also open to discussing other parts of the package - equity,
signing bonus, or other components - if there's more flexibility
there.
I want to reiterate how excited I am about this opportunity. I'm
confident we can find a package that works for both of us.
Looking forward to your thoughts.
Best,
[Your Name]
A few notes on this template:
- Lead with excitement. You want them to feel good about you throughout this process.
- Cite data, not feelings. "Market data shows..." is stronger than "I feel I deserve..."
- Give them options. By mentioning equity and signing bonus, you're opening doors if base is stuck.
- End positive. Keep the tone collaborative, not adversarial.
Script 3: Negotiating with a Competing Offer
Having a competing offer is the single most powerful tool in salary negotiation. But you need to use it carefully - not as a threat, but as context.
The Phone Script
"I wanted to be transparent with you - I've received another offer that I'm also excited about. The compensation on that offer is [higher / at $X level]. I'd really prefer to join [Your Company] because [specific reason - team, product, mission], but I want to make sure the compensation is competitive. Is there room to revisit the package?"
The Email Template
Subject: Re: [Company] Offer - Compensation Discussion
Hi [Recruiter Name],
I hope you're doing well. I wanted to follow up on our conversation
about the offer.
I want to be upfront - I've received a competing offer with a total
compensation package of approximately $[Amount]. I'm genuinely more
excited about [Company] because of [specific reason], and I'd love
to make this work.
Would it be possible to revisit the compensation to be more
competitive? I'm happy to discuss specifics and find a package that
works for everyone.
Thanks so much for your time and support through this process.
Best,
[Your Name]
What If You Don't Have a Competing Offer?
That's fine. Most people don't. Use market data instead:
"I don't have a competing offer right now, but based on my research, the market rate for this role at this level is in the $X to $Y range. I'd love to get closer to that range if possible."
This is honest, professional, and still gives you leverage. You don't need to lie about having other offers. Market data is leverage too.
Script 4: Negotiating Equity and Signing Bonus
Sometimes base salary is genuinely locked. Companies have bands, and the recruiter may not have authority to go above them. That's when you pivot to other components.
The Pivot Script
"I understand the base salary has limited flexibility at this level. I appreciate you being transparent about that. Could we explore other parts of the package? Specifically, I'm wondering if there's room to increase the equity grant or add a signing bonus to bridge the gap."
Why This Works
- Equity often has more flexibility because it comes from a different budget and doesn't affect the team's salary band.
- Signing bonuses are one-time costs, which makes them easier for companies to approve. A $20k signing bonus is way easier to get approved than a $20k base increase.
- Relocation assistance can sometimes be offered even if you're not relocating (or for a shorter move) as a way to add cash to the package.
The Email Version
Subject: Re: [Company] Offer - Package Discussion
Hi [Recruiter Name],
Thanks for the clarity on the base salary range. I completely
understand the constraints there.
I'm wondering if there's flexibility in other areas of the package.
Specifically:
- Equity: Would it be possible to increase the RSU grant from
[current amount] to [target amount]?
- Signing bonus: Could a signing bonus of $[amount] be added to
help bridge the gap?
Either of these would go a long way toward making the total package
work. I'm flexible on the structure - happy to discuss what's most
feasible on your end.
Thanks again for working through this with me. Really looking
forward to potentially joining the team.
Best,
[Your Name]
Script 5: When They Say "This Is Our Best Offer"
You'll hear this sometimes: "Unfortunately, this is the best we can do." Before you accept, test whether it's actually final.
The Gentle Test
"I really appreciate you going to bat for me on this. I understand there are constraints. Before I make my final decision, I just want to make sure - is there truly no flexibility on any component of the package? I want to make sure I've explored everything before I decide."
If they confirm it's final, believe them. But also know that "best offer" on base doesn't mean "best offer" on everything.
Get Creative with Non-Monetary Perks
If the money truly can't move, there's still a lot you can negotiate:
- Start date - A later start date can mean an extra few weeks of PTO at your current job, or time to take a break between roles.
- Extra PTO - Ask for an additional week. This is often easier to approve than cash.
- Remote work days - If the role is hybrid, can you get an extra remote day?
- Title bump - Going from "Software Engineer" to "Senior Software Engineer" costs the company nothing but affects your future earning power.
- Earlier performance review - Ask for a 6-month review instead of annual. This puts you in line for a raise sooner.
- Professional development budget - Conference attendance, courses, certifications.
- Equipment/home office budget - Especially for remote or hybrid roles.
The Script for Creative Negotiation
"I understand the compensation package is at its limit, and I appreciate the effort. Could we look at a few other things? An additional week of PTO, or an earlier performance review at the 6-month mark, would go a long way. And if there's any flexibility on the title - I've seen similar roles at this level listed as [higher title] - that would be meaningful to me too."
Common Mistakes to Avoid
Even with scripts, people trip up. Here are the big ones:
Accepting on the spot. Never do this. Even if the offer is amazing, say "I'm thrilled - let me review the details and get back to you tomorrow." Accepting immediately leaves money on the table and signals you would have taken less.
Apologizing for negotiating. Don't say "Sorry to ask, but..." or "I hate to do this..." You're having a professional conversation about your compensation. There's nothing to apologize for. Be direct and confident.
Negotiating over the phone when you should use email. Phone conversations favor the more experienced negotiator (usually the recruiter). Email gives you time to craft your response, avoid saying something impulsive, and create a paper trail. Use email for anything substantive. Phone is fine for the initial "thank you, I need time to review" conversation.
Focusing only on base salary. Total comp is what matters. A $5k bump in base is worth $5k per year. A $20k bump in equity is worth $20k over your vesting period. A $15k signing bonus is $15k right now. Think in total numbers.
Being adversarial instead of collaborative. The recruiter is not your opponent. They want to close you. Frame everything as "how can we make this work together" rather than "I demand more." The best negotiations feel like problem-solving, not fighting.
Lying about competing offers. Don't do this. Recruiters talk to each other. If you get caught, you lose all credibility and potentially the offer. If you don't have a competing offer, use market data instead.
Negotiating for the sake of it. If the offer is genuinely fair and at the top of your range, it's okay to accept it. Not every offer needs to be countered. Know your numbers and negotiate when there's a real gap.
What to Do After You Negotiate
Get Everything in Writing
Whatever you agree to verbally, make sure it shows up in the official offer letter. Base salary, equity, signing bonus, start date, PTO, title - all of it. If it's not in writing, it doesn't exist.
Reply to the updated offer letter with something like:
"Thanks so much for updating the offer. Everything looks great. I'm excited to formally accept and looking forward to starting on [date]."
Follow Up with Gratitude
After you've accepted, send a quick thank-you to the recruiter and the hiring manager. These people went to bat for you internally. A short note goes a long way:
"Thanks again for working with me on the offer. I really appreciate your support through the process. Excited to join the team!"
Set Yourself Up for the Next Raise
Negotiation doesn't end when you accept the offer. Once you start, keep track of your wins, impact, and market rate. When your first performance review comes around, you'll want data ready to make the case for a raise.
A few things to start doing from day one:
- Keep a brag document. Write down every project you ship, every metric you improve, every time you go above and beyond. You'll forget half of this by review time if you don't write it down.
- Understand the promotion criteria. Ask your manager early what it takes to get to the next level. Then work toward it intentionally.
- Stay aware of the market. Check Levels.fyi every 6 months. If your comp falls behind the market, that's a conversation to have.
The Bottom Line
Negotiation is uncomfortable. That's normal. But 15 minutes of discomfort is worth tens of thousands of dollars over your career.
You don't need to be aggressive. You don't need to be confrontational. You just need to be prepared, be professional, and ask.
The scripts in this post give you the words. The research gives you the data. The rest is just having the conversation.
You've already done the hard part - you got the offer. Now go get what you're worth.