The average software engineer leaves $50,000–$100,000 on the table over their career by not negotiating. Not because offers are fair — they're intentionally anchored low — but because most people freeze when they get an offer and say 'that sounds great.' This guide gives you the exact scripts, the timing, and the data to negotiate confidently.
The Fundamental Truth: Every Tech Offer Is Negotiable
Hiring managers do not extend offers at the maximum their company can pay. They extend offers at a number they think you'll accept, or slightly above. The budget range for most roles is typically 15–30% wide — meaning a job that offers $120K could potentially offer $140K to the right candidate who pushes back professionally. This is not cynicism; it's how compensation bands work at every company.
The fear of 'losing the offer' by negotiating is almost entirely unfounded. In 20+ years of aggregate recruiter data, offer rescissions due to salary negotiation are extraordinarily rare — the company has already invested weeks recruiting you, running you through interview rounds, and getting internal approvals. They're not going to start over because you asked for more.
Research First: Know Your Number Before Any Conversation
Never enter a salary conversation without anchoring on market data. Primary sources: Levels.fyi (most accurate for US big tech, has global data), LinkedIn Salary (good for broader market), Glassdoor (often undercounts because only dissatisfied people post), Payscale (useful for global/non-US markets). For startup equity: Carta's compensation benchmarks and AngelList salary data.
Build a range, not a point: find the 25th, 50th, and 75th percentile for your role, location, and experience level. Your ask should be at the 75th percentile or above — you negotiate down, not up. If you anchor at the 50th percentile, you'll end up at the 25th. The market data is your justification, not your gut feeling.
The Scripts: What to Say at Each Stage
When asked for salary expectations early in the process: 'I'd prefer to learn more about the full scope of the role before discussing compensation. Could we revisit this once we're both confident it's a mutual fit?' This delays anchoring until you have maximum leverage (after an offer).
When you receive the offer, don't respond immediately: 'Thank you so much — I'm really excited about this role. Can I take a couple of days to review the full details and get back to you?' This is always the right move. Never negotiate in the same breath as receiving the offer.
The negotiation call: 'I've been really excited about this opportunity since we first spoke. After reviewing the offer and doing some market research, I was hoping we could get to [target number]. Based on [your experience with X] and [market data showing Y], I believe that's in line with what this role commands in the current market. Is there flexibility there?'
When You Have a Competing Offer (The Strongest Position)
A competing offer is the most powerful negotiation lever in existence. If you have one: 'I've received another offer for [amount] from [company type, doesn't have to be specific]. You're my first choice — I'd love to make this work. Is there any flexibility to get closer to that number?' This framing does three things: communicates competing interest (creates urgency), affirms your preference (keeps the relationship warm), and makes a specific ask.
Even an offer from a company you'd never take is leverage. An offer from a direct competitor to the company you're negotiating with is maximum leverage — companies strongly prefer to not lose candidates to competitors and will often match or beat an offer from a direct rival.
Beyond Base Salary: The Full Compensation Picture
Base salary is only part of total compensation. At larger companies, stock (RSUs at public companies, options at startups) can equal or exceed base salary over a 4-year vest. The joining/signing bonus (often $10K–$50K for senior roles at big tech) is frequently more negotiable than base salary because it comes from a different budget. Performance bonus structure (percentage, target, and payment frequency) matters for mid-to-senior roles.
Benefits with real dollar value: home office stipend ($1K–$3K at remote-first companies), learning/conference budget ($1K–$5K/year), equity refresh schedule, and health insurance quality. When base salary is truly capped ('our band ends at X'), pivot to: 'Is there flexibility on the signing bonus or equity grant?' Companies often have more room in these buckets than in base salary.
Negotiating a Raise at Your Current Company
The single best time to negotiate an internal raise is: when you've just delivered a major impact (shipped a project, saved costs, led a team), during performance review cycles (company has budget allocated), or when you have an external offer (this remains the most powerful lever internally too).
The internal negotiation script: 'I've been thinking about my compensation as I look ahead to the next year. Based on the work I delivered on [project] and [market research showing X for my role/level], I think there's a gap between my current comp and where the market is. I'd like to discuss getting to [number].' Follow up in writing after the conversation — it shows seriousness and creates a paper trail.
If the answer is no: get a specific timeline for when it could be revisited, and start interviewing externally. The external offer either converts to an internal raise or confirms it's time to move. Statistically, switching companies for a raise produces 10–20% increases while internal raises average 3–5% — the math strongly favors job movement for compensation growth.