All guides

How to negotiate a software engineer job offer

The time to negotiate a software engineer job offer is after you have it in writing and before you accept it. Thank the recruiter, ask for a day or two, then make one clear counter: a specific number, the reason for it (market data, a competing offer or the scope of the role), and what would make you sign.

Ask about base salary first, then signing bonus, equity, level and start date. A polite, specific counter rarely puts an offer at risk; the usual worst case is a no.

By PickedJobs · Updated · Live figures from 62,231 open jobs, as of (method)

1. Get the whole offer in writing

Before you negotiate anything, make sure you know every part of it:

  • Base salary and the bonus target, if any.
  • Equity: number of shares or RSUs, the vesting schedule (four years with a one-year cliff is common), and for options the strike price and how long you have to exercise after leaving.
  • Signing bonus, and whether you repay it if you leave within a year.
  • Level and title, start date, remote or office policy, and paid time off.

2. Find the range

Many listings now publish a salary range: 36% of open tech jobs on PickedJobs do. The range is the company's own statement of what the role pays, so it's your best anchor. Then compare it with the market:

Software engineering listings with a yearly US-dollar salary
LevelMedian baseMiddle halfListings
Mid-level$179,500$150,000–$225,0003,698
Senior$193,700$168,000–$220,0005,371
Staff / lead$234,950$201,500–$270,0003,624

The full breakdown, by level and specialty, is in software engineer salary by level.

3. Decide your number before the call

Pick three numbers: what you'll ask for, what you'd happily accept, and the point where you'd walk away. Ask slightly above the one you'd happily accept, so a compromise still lands where you want. If the offer is already at the top of the posted range, ask about level, equity or a signing bonus instead.

4. Make the counter

Keep it short, warm and specific. For example:

“Thanks again, I'm excited about the team and want to make this work. Based on the posted range and what senior backend roles are paying, I was hoping for a base of $X. If you can get there, I'm ready to sign this week.”

The salary negotiation email generator drafts this for you and shows how far your ask is above the offer.

5. Use real leverage only

  • A competing offer. The strongest reason. Share the numbers if you're comfortable; never invent one.
  • Your current pay, if the offer doesn't beat it. In many US states and cities, employers aren't allowed to ask for your salary history, but you can share it if it helps.
  • Scarce skills the listing asks for and you clearly have.

6. If base won't move

Companies often have more room on one-off money than on salary bands. Ask about a signing bonus, extra equity, a higher level (which raises every future raise), a later start date, or an extra week off between jobs. Compare the options in total with the job offer comparison calculator.

7. Close it properly

When you agree, ask for the revised offer in writing before you accept, and only then resign. Our guide to how much notice to give when resigning covers the next step.

Frequently asked questions

Can a job offer be withdrawn for negotiating?

It's rare when the counter is polite, specific and reasonable. The usual worst case is that the company says the offer is final. Avoid ultimatums you don't mean and claims you can't back up.

How much should I ask for?

Anchor on data rather than a percentage. A number near the top of the posted range, or around the 75th percentile for your level, is easy to defend. With a competing offer, ask the company to match or beat its total.

Should I negotiate by email or on the phone?

Either works. Email gives you time to choose your words and leaves a record; a call can move faster. Many people talk it through on a call and then confirm the numbers by email.

Can I negotiate if I don't have another offer?

Yes. Market data, the posted range, your current pay and specific skills the team needs are all reasons. You don't need a competing offer to ask.

All guides