How to negotiate your first developer offer — without losing it
The biggest single move you'll make on year-one comp is the 30 minutes between getting the offer and accepting it. Don't skip it.
The mental model
Companies expect candidates to negotiate. Recruiters have a band — a range your role can pay. The first number they offer is rarely the top of that band; it's usually 60–75%, leaving room. Saying yes immediately doesn't get you 'extra goodwill'. It just costs you money.
Junior developers especially are scared the offer will be rescinded if they push. In ten years of hiring, we've never seen a reasonable counter rescind an offer. We've seen plenty of juniors leave $8–15k/year on the table because they didn't ask.
The three numbers to know before you talk
Walk into the conversation with these three numbers — write them down somewhere you can see them on the call.
- Your minimum acceptable. The number below which you'll walk. Be honest with yourself.
- Your target. The number you'd be genuinely happy with. Usually 10–20% above the first offer.
- Your dream. The number you'd be surprised but ecstatic to get. Anchor here, not at target.
What to negotiate (in priority order)
Base salary compounds — every raise, every bonus, every future job uses it as the anchor. Optimize it first.
- Base salary. The single most important lever. Even a $5k bump compounds for years.
- Signing bonus. One-time, but real cash. Recruiters often have authority to add this without re-approving base.
- Equity / RSUs. Material at mid+ comp bands. At junior level, often token amounts — don't over-rotate.
- Start date. A 2–4 week delay is often free — companies usually accommodate.
- PTO. Hard to negotiate above company defaults. Skip unless it's a real dealbreaker.
- Title. Worth negotiating only if it affects your future. 'Software Engineer' beats 'Junior Software Engineer' on a resume.
The script (it's shorter than you think)
Don't try to be clever. Use this template; recruiters are used to it.
'Thanks for the offer — I'm really excited about [specific thing about the company]. I want to be straight with you: based on the role and what I've seen for [related roles], I was hoping the base could be closer to $[target]. Is there room to revisit?'
Then stop talking. Let the silence sit. The recruiter's job is to find a number that works; they'll come back with something.
What you do not say
These phrases tank negotiations. Each of them sounds reasonable in your head and reads as 'easy to push down' to the recruiter.
- 'I just need a job.' Makes you look desperate; cuts your leverage to zero.
- 'Anything is fine.' Same problem. Even a small ask is better than no ask.
- 'I have another offer at $X.' Don't lie. If you do have another offer, name it and the company. If you don't, don't invent one.
- 'I'm worth $X.' Frame in terms of market rate, not self-worth. 'Market for this role with my profile' is the phrase.
Counter-offer mechanics
Most counter-offers happen over email or a 15-minute follow-up call. The recruiter will usually say one of three things:
- 'Let me check.' Excellent — you've found the band edge. Wait 24–72h, you'll usually get a partial bump.
- 'That's outside our range.' Ask what the range is. They might tell you. If yes, target the top.
- 'We can do $X (between original and target).' Take a beat — say 'thanks, let me think on it overnight.' Often a second pass nets another small bump.
Special case: first-job nerves
If this is your first developer role and you genuinely don't know what's reasonable, do this homework — it takes 30 minutes:
- levels.fyi or salary.com — search the company + role + your city. Median for 'New Grad SWE' or 'Junior Software Engineer' is your anchor.
- Ask r/cscareerquestions or local dev Slack with the role + city + offer. People answer.
- If the offer is at or above market median, your negotiation room is smaller (~5–10%). If it's below, much larger (~15–25%).
A worked example
First offer: $78k base, $5k sign-on, 0 equity. Market median for the city + role: $88k.
Counter (verbatim): 'Thanks Alex — I'm really excited about the team. Looking at what I've seen for similar roles in [city], I was hoping the base could be closer to $92k. Is there room?'
Likely outcome: a follow-up offering $86k base, sign-on bumped to $7k. Improvement: +$8k base (compounds) + $2k cash. Worth roughly $40k+ over 5 years in compounded raises.
Ready to build the portfolio this guide talks about? Browse Project Studio — interview-grade builds with milestones and rubrics.
Get one Python lesson + one career idea every Friday
No spam, no "buy our course now". Three bullets, every Friday. Unsubscribe with one click.