Tech Offer Negotiation: The Complete Playbook to Maximize Your Compensation

I’ve been on the hiring side of software engineering offer calls more times than I’d like to count, at companies ranging from 40-person startups through large public tech companies. In that time, I can recall exactly three candidates who declined to negotiate at all. Two of them came back months later with market data and asked for a raise. One of them just left for a better offer somewhere else. Nobody lost their offer for asking.

Not negotiating is still the default for a surprisingly large share of engineers. The Stack Overflow 2024 Developer Survey found that roughly 41% of developers did not negotiate their most recent job offer. That’s a lot of money permanently left on the table.

Start with what the market actually pays

You cannot negotiate well without data. “I think I deserve more” is not a negotiating position. “Based on comparable roles at companies of similar size and stage, the market rate for this level is $X to $Y” is a negotiating position.

Levels.fyi is the best starting point for anything at a named tech company. It has verified TC data broken down by company, level, and location. The H-1B salary disclosure database (public record from the Department of Labor) is useful for confirming what companies actually pay for specific roles, not what they tell Glassdoor. LinkedIn Salary insights are directionally useful, though the data is self-reported and tends to skew slightly toward people who are happy with their compensation.

Cross-reference at least three sources before you walk into a negotiation. If two of them are in rough agreement and one is an outlier, the outlier usually reflects a specific seniority tier or a high cost-of-living location. Adjust for that.

How to handle the initial offer call

When the offer comes verbally, thank the recruiter, express genuine interest in the role, and ask for the written offer with 48 to 72 hours to review it. That request is normal and expected. Nobody is going to rescind an offer because you asked to sleep on it.

In those 48 hours, run the numbers. Build a spreadsheet if you’re that kind of person. Total comp includes base salary, equity (vesting schedule, current valuation or stock price, grant size), annual bonus structure, benefits (health insurance quality matters more than people think), and anything like remote flexibility or sign-on bonuses. Two offers with identical base salaries can differ by $30K or $40K in total annual value once you run through those components.

The counter-offer script that actually works

Vague counter-offers lose. “Could you do better?” gives the recruiter nothing to work with and usually gets a minor bump or a no. A specific counter with a stated reason gives the recruiter something to take to the comp team.

The structure that works: express that you want the role, state your counter number, give one or two grounding reasons (market data, competing offer, specific experience), and then stop talking. Something like:

“I’m excited about this role and I want to make it work. Based on what I’ve seen on Levels.fyi for similar roles at this level, and given that I’m bringing [specific experience], I’d want to see the base come up to $175K. Is there flexibility there?”

State the number. Stop. Don’t pre-emptively soften it. Don’t immediately offer to “negotiate.” Let them respond.

Equity is not just a number

This is where a lot of engineers undervalue their offers, particularly at private companies. A $500K RSU grant over four years sounds substantial. But whether it’s actually worth anything depends on: the current 409A valuation vs. the last preferred stock round price, the company’s trajectory, typical discount to preferred for common stock, and whether double-trigger vesting applies.

At public companies, RSUs are simpler to value: use the current share price, subtract expected taxes, and that’s roughly what each year of vesting is worth. At startups, I’d apply a real haircut for illiquidity and execution risk before comparing to a competing public-company offer. A $200K public company RSU grant is often worth more in expected value than a $500K early-stage startup RSU grant, depending on the company. That’s not a universal rule, but the base rate on startup exits is lower than the pitch decks imply.

Competing offers are your best tool

If you have multiple offers, you can use them. Not as a threat, but as honest information. “I have another offer at $X and I’m trying to decide. If you could get to $Y, this would be an easy choice for me.” That framing works because it’s true, it gives the recruiter a specific target, and it doesn’t feel adversarial.

You don’t need a competing offer to negotiate. But having one shifts the conversation considerably. Teams at Google, Meta, Stripe, and similar companies can often move on equity grants even when base salary is locked to a band, so it’s worth asking specifically what’s flexible when base isn’t. Often it’s the sign-on bonus or the equity refresh schedule that has more room than the base.

What happens when they say no

Sometimes the answer is genuinely no. Comp bands are real. Budget constraints are real. The recruiter isn’t always making it up when they say there’s no room. If the first counter gets a firm no, you can ask: “Is there flexibility on equity or sign-on that might close the gap?” If that’s also no, you have to decide whether the offer as-given works for you.

What almost never happens is an offer getting rescinded because you asked. I’ve been part of enough hiring processes to say with reasonable confidence that a professional counter-offer does not put the job at risk. The cost of starting the process over for them is higher than accommodating a reasonable ask.

Craqly can help you rehearse the negotiation conversation before the real call, including practicing how to state your counter clearly without over-explaining it. The words you use matter more than most engineers expect.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top