Salary & Pay

How to Negotiate Your Salary as a Software Engineer

Engineering offers have more moving parts than base pay, and the window to change any of them is narrow — here is how to use it without stalling the deal.

Featured image for "How to Negotiate Your Salary as a Software Engineer"

Negotiating as a software engineer comes down to three things: knowing the published pay range for your work in your location, asking only after a formal offer is in hand, and naming a specific number out loud. The U.S. Bureau of Labor Statistics put the median annual wage for software developers at $135,980 in May 2025 — that is the median, not the average — with the lowest 10 percent under $82,460 and the highest 10 percent over $214,670, so the spread you negotiate inside is wide.

Most engineers never open the conversation: a Robert Half survey of more than 2,700 workers in 27 U.S. cities (2018) found 39 percent tried to negotiate a higher salary on their last job offer.

When to Negotiate

Three moments make asking normal rather than awkward. The percentage ranges below are negotiation rules of thumb, not published survey figures — check them against wage data for your own metro before you rely on them.

1. At the job offer stage. This is your strongest position: the employer has already chosen you. CareerOneStop (U.S. Department of Labor) advises waiting to raise salary until you receive an offer, and Robert Half's senior executive director said the same in 2018 — negotiate no part of the package until the formal offer arrives. Rule-of-thumb ask: 5–15 percent above the first number, at the top of that range when the offer sits below the typical range for your location. CareerOneStop also notes that future increases are typically based on starting pay, so a higher start compounds for years.

2. At the annual or semi-annual review. Leverage is weaker, because budgets are set in advance and your manager may be splitting a fixed pool. Rule-of-thumb ask: 3–5 percent inside a normal merit cycle, 8–12 percent if you are arguing a market correction with published data rather than a merit bump. Confidence tracks that gap — 54 percent of workers surveyed felt comfortable negotiating pay in a new job, against 49 percent who felt confident asking for a raise in their current role (Robert Half, 2018).

3. After a promotion, certification or real change in scope. On-call, tech lead duties or a new certification create an off-cycle trigger. Rule-of-thumb ask: 10–20 percent when the title or scope formally changes, because you are being repriced into a different band. BLS Modeled Wage Estimates put the national hourly wage for software developers at $47.16 at entry level and $79.01 at experienced level (2023) — the career band is wide, and repricing moments are where you capture it.

Willingness to ask also varies by city: New York (55 percent), Dallas (51 percent) and San Francisco (50 percent) were the most likely to ask for more pay among the 27 cities surveyed (Robert Half, 2018).

Before You Ask: Checklist

Do all of these before the conversation, not during it.

  • Pull the median annual wage for software developers in your metro area from the BLS Occupational Employment and Wage Statistics release and write the release year beside it. The national median of $135,980 (U.S. Bureau of Labor Statistics, May 2025) does not apply uniformly — metro estimates sit above and below it.
  • Add the national entry and experienced hourly figures as a second reference: $47.16 and $79.01 per hour (BLS Modeled Wage Estimates, 2023). If you want annual equivalents, state the assumption — at 40 hours a week for 52 weeks, $47.16 × 2,080 = $98,092.80 and $79.01 × 2,080 = $164,340.80.
  • Check your industry. The median annual wage was $164,550 in software publishers versus $132,050 in computer systems design and related services (BLS, May 2025).
  • Write two numbers on paper: your target and your walk-away. If you cannot say the walk-away out loud without flinching, it is not your walk-away.
  • List every component you might trade — base, bonus target, equity grant and vesting, sign-on, remote status, on-call pay, title, start date — and decide which two you would swap for base.
  • Write three bullet points of evidence: a system you shipped, a cost or latency number you moved, an on-call or hiring load you carry.
  • Practise the conversation out loud with a trusted friend or mentor; Robert Half's senior executive director recommended exactly this in 2018.
  • Prepare a fallback in case base is capped. CareerOneStop names asking for an early salary review as the move when an offer sits well below the typical range, and advises getting any accepted offer in writing.

Negotiation Scripts

Swap the figures below for the ones you pulled for your own metro and industry.

Script 1: The offer is below your researched range

After the recruiter states the number

"Thank you — I'm glad to get this, and I want to work on this team. Before I respond, could I take 24 hours to look at the full package?" "I've checked the published wage data, and the national median for software developers was $135,980 in May 2025 (U.S. Bureau of Labor Statistics). For this scope, that's the base I'm targeting. If we can get there, I'm ready to sign this week." Then stop talking. Let them answer first.

Script 2: Asking for a raise at review

Opening the review conversation

"I want to talk about compensation for the coming year. Last two quarters I owned the payments migration and cut deploy failures from weekly to about one a quarter. The median for software developers in software publishers was $164,550 in May 2025 (U.S. Bureau of Labor Statistics) and my base sits well under it, so I'm asking for a market adjustment of 8 to 10 percent." "What would it take to get there, and when would that decision be made?"

Script 3: They say base pay is capped

When the answer is 'the band won't go higher'

"Understood that the band is fixed. Two options, then. Either a sign-on bonus that covers the gap this year, or we write a salary review into the offer letter at six months, with the target set at the $135,980 median (U.S. Bureau of Labor Statistics, May 2025). Which is easier on your side?" "Whichever we agree on, could you send it to me in writing?"

Step-by-Step Negotiation Process

  1. Research your location first. Find the typical pay range for the job in your location — CareerOneStop's core advice — using the BLS median for your metro alongside your industry's median ($164,550 in software publishers versus $132,050 in computer systems design and related services, BLS May 2025). Write the range down with its date.
  2. Say nothing about numbers until the offer is formal. CareerOneStop advises waiting until you have an offer. If asked early: "I'd rather look at the whole package at offer stage — what range has the team budgeted for this role?"
  3. Buy time when the offer lands. Express appreciation and strong interest, then request at least 24 hours before responding (CareerOneStop). Use it to compare the base against your written range.
  4. Make one specific ask, out loud, with a number. Not "is there flexibility" — name the figure, then stay silent until they respond.
  5. Answer pushback by naming an alternative. If the block is budget or band, move to a sign-on, an equity adjustment, or an early salary review — the last is what CareerOneStop recommends when an offer sits well below the typical range. Ask which is easiest to approve.
  6. Close on a decision and a date. "If we can agree on that base, I'll sign by Friday." Then get the agreed offer in writing (CareerOneStop) before you resign anything.
  7. Close cleanly if you decline. Thank the employer and ask to be kept in mind for future openings (CareerOneStop); engineering hiring circles are small.

Frequently asked questions

What if they say the budget is fixed?

Treat base as one lever of several. Say: "If base is capped, can we do a sign-on that covers the gap, or write a six-month salary review into the letter?" CareerOneStop names an early salary review as the move when an offer sits well below the typical range for your location — and because future increases are usually based on starting pay (CareerOneStop), a dated review clause matters more than it looks.

Can I negotiate if I'm a junior engineer with no experience?

Yes, and there is room inside the entry band: BLS Modeled Wage Estimates put the national hourly wage for software developers at $47.16 at entry level against $79.01 at experienced level (2023). Keep the ask modest — 5–8 percent above the first offer is a common rule-of-thumb opener for a first role — and anchor it to the published figure for your metro, not to your rent.

Will asking for more make them pull the offer?

Recruiters expect the conversation: 39 percent of workers tried to negotiate on their last offer (Robert Half survey of more than 2,700 workers in 27 U.S. cities, 2018). Protect yourself by sequencing it — wait for the formal offer (CareerOneStop), state strong interest first, ask for 24 hours, then make one number the ask rather than reopening five items at once.

Does switching companies beat negotiating internally?

Industry is often the bigger lever. The median annual wage was $164,550 in software publishers versus $132,050 in computer systems design and related services (U.S. Bureau of Labor Statistics, May 2025) — about $32,500 apart before you negotiate anything. Internal merit raises more often land in the 3–5 percent rule-of-thumb range, which is why a step change usually means changing industry, not team.

Should I tell them my current salary?

Whether an employer may even ask depends on your state and city, and the rules differ — check your state labor department before the call. Either way you can redirect: "I'd rather work from the range for the role — the national median for software developers was $135,980 in May 2025 (U.S. Bureau of Labor Statistics), and that's what I'm targeting for this scope."

Sources

  1. U.S. Bureau of Labor Statistics — Software Developers, Quality Assurance Analysts, and Testers : Occupational Outlook Handbook (2025)
  2. Robert Half — Starting Salary: Negotiable or Not? (2018-02-05)

Written by

Theo Niswander

Theo writes about the mechanics of job searching — resumes, interviews, negotiations — and how to make them less miserable. He's drawn to the small, overlooked moments that decide whether someone gets hired.