You got the offer. You're excited. And then the recruiter asks: "Does that work for you?"
Most engineers say yes immediately. Not because the offer is perfect, but because negotiating feels confrontational, ungrateful, or risky.
Here's the truth: companies expect you to negotiate. The first offer is almost never the best offer. And saying yes too fast doesn't make you a team player - it just means you left money on the table.
I've been on both sides of this. As a hiring manager at AWS, I saw the comp bands. There was almost always room to move. The candidates who negotiated professionally didn't lose their offers - they got better ones.
Why Engineers Don't Negotiate
Let's be honest about what's really going on:
- "They might rescind the offer." This almost never happens. Companies invest thousands in the hiring process. They're not pulling the offer because you asked for $10k more.
- "I don't want to seem greedy." Negotiation isn't greed. It's a normal part of the process. Recruiters know this.
- "I don't know what to say." This is the real blocker. So let's fix it.
Understanding Total Compensation
Before you negotiate, you need to understand what you're negotiating. Base salary is just one piece.
The four components:
| Component | What It Is | Negotiable? |
|---|---|---|
| Base Salary | Your guaranteed annual pay | Yes, usually within a band |
| Equity/RSUs | Stock grants vesting over 3-4 years | Yes, often the most flexible |
| Signing Bonus | One-time payment | Yes, especially at senior levels |
| Annual Bonus | Target percentage of base | Rarely - usually a fixed % |
Key insight: If the company can't move on base salary (common at big tech - they have strict bands), they can often add equity or a signing bonus instead. Always negotiate total comp, not just base.
The Golden Rule: Never Give a Number First
When a recruiter asks "What are your salary expectations?" early in the process, do not give a specific number. Once you say a number, you've set a ceiling.
What to say instead:
"I'm focused on finding the right role and team fit. I'm confident we can work out compensation if there's a mutual match. Can you share the range for this level?"
If they push:
"I'd rather learn more about the role and leveling before discussing specific numbers. What's the budgeted range for this position?"
Most companies will share the range. Many states now require it by law. Once you know their range, you know the playing field.
How to Negotiate: Scripts That Actually Work
Step 1: Express Excitement (Genuinely)
When you receive the offer, don't negotiate on the spot. Thank them and ask for time.
"Thank you so much - I'm really excited about this role and the team. I'd love a couple of days to review the full details. Can you send the offer in writing?"
This is not a stalling tactic. It's professional and expected. No reasonable company will have a problem with this.
Step 2: Do Your Research
Before counter-offering, gather data:
- Levels.fyi - The gold standard for tech comp data
- Glassdoor - Helpful for non-FAANG companies
- Blind - Anonymous, sometimes bitter, but has real numbers
- Your network - Ask friends at similar levels (people share more than you'd think)
Know the range for your role, level, and location. This turns your ask from "I want more" to "the market supports this."
Step 3: Make Your Counter
Here's the script. Adapt the specifics, but keep the structure:
"I'm really excited about this opportunity and I can see myself doing great work with this team. After reviewing the offer and doing some market research, I was hoping we could discuss the compensation.
Based on similar roles at [comparable companies] and my experience with [relevant skill/impact], I was hoping for a base closer to [X] and would love to explore the equity component as well.
Is there flexibility to adjust the package?"
What makes this work:
- Starts with genuine enthusiasm
- References data, not feelings
- Gives a specific number (aim 10-15% above the offer)
- Opens multiple levers (base AND equity)
- Ends with a question, not a demand
Step 4: Handle the Response
If they come back higher (but not at your ask): This is normal. They're meeting you partway. Decide if you want to push once more or accept. One more round is fine. Three rounds starts to feel adversarial.
If they say "this is our best offer": Believe them, mostly. You can still ask: "If base is firm, is there any flexibility on the signing bonus or equity refresh?" Sometimes money moves between buckets.
If they need time: That's fine. "Take your time - I want this to work for both of us" shows maturity.
Competing Offers: Your Strongest Leverage
Nothing moves a number like another offer. But use this carefully.
Do:
- Mention that you're in a parallel process: "I'm also in final stages with [company]. I'd love to make a decision soon."
- Share the other offer's total comp if it's genuinely higher
- Give them a deadline (reasonable - 3-5 business days)
Don't:
- Fabricate an offer. Recruiters talk to each other. Getting caught kills your reputation.
- Use an offer from a wildly different company as leverage (a startup offer won't move Google's needle)
- Play companies against each other in an auction. One round of "can you match this?" is fine. Going back and forth five times is not.
Negotiation at Different Levels
New Grad / Entry Level
Less room to negotiate, but it's still worth trying. Focus on:
- Signing bonus (this is often the most flexible for new grads)
- Start date (an extra month between jobs has real value)
- Relocation assistance
Mid-Level (3-7 years)
You have leverage now. Focus on:
- Base salary within the band
- Equity grants
- Level (getting leveled up is worth more than any salary bump)
Senior+ (7+ years)
Everything is negotiable. Focus on:
- Total comp package as a whole
- Equity refresh schedule
- Scope of role and title
- If you're comparing offers, this is where competing offers have the most impact
The Level Conversation
This is the most overlooked negotiation: your level.
Getting leveled as L5 vs L4 (or equivalent) can mean a $50-100k difference in total comp. And once you're in, re-leveling takes 1-2 years.
If you think you're being underleveled:
"Based on my experience leading [project/team] and my [X years] in similar roles, I believe L5 might be a better fit. Can we discuss the leveling decision?"
This is a bigger deal than any salary negotiation. Fight for the right level.
What Not to Do
- Don't apologize for negotiating. "Sorry to ask, but..." undermines your position. You're not being rude. You're being professional.
- Don't use personal reasons. "I need more because my rent is high" isn't a business argument. Stick to market data and your value.
- Don't negotiate over email if you can avoid it. Phone or video lets you read tone and adjust. Email can come across as cold or demanding.
- Don't ghost. If you decide to decline, tell them. The tech world is smaller than you think.
- Don't forget about non-monetary perks. Remote flexibility, PTO, learning budgets, and team choice all have real value.
After You Negotiate
Get everything in writing. Verbal agreements don't count.
Review the final offer letter carefully:
- Vesting schedule for equity (1-year cliff is standard)
- Bonus target and payout structure
- Start date
- Any contingencies (background check, etc.)
Then accept, celebrate, and move on. Don't keep shopping after you've accepted. Your word matters in this industry.
It Gets Easier
The first time you negotiate, it feels terrible. Your hands might shake. You might rehearse your script 20 times. That's normal.
By the third or fourth time, it's just a conversation. And the cumulative impact of negotiating every offer over a career is potentially hundreds of thousands of dollars.
You've already done the hard part - passing the interviews. Don't leave money on the table at the finish line.
Practice salary negotiation with AI-powered mock sessions at gitGood. Build the confidence before the real conversation.