Most developer offers don’t fail on budget alone. They fail on process, timing, and how pay is explained. If I want to close more engineering hires, I need to speak in total compensation, use current market data, find out how to align job offers with developer goals before the offer, handle competing offers without blowing up pay bands, and stay close after the verbal yes.
Here’s the short version:
- Developers compare total comp, not just base pay. That means base, bonus, equity, sign-on, and benefits need to be shown side by side in plain dollar terms.
- Old pay data hurts close rates. If bands lag the market by 8%–12% by Q3, a normal internal offer can look weak to a candidate using Levels.fyi or Blind.
- Not every stalled deal is about money. Around 40% of offer declines tie back to things like role scope, manager fit, remote rules, title, and process speed.
- Counter-offers are common. About 50%–70% of accepted candidates get one, so I need a plan before it happens.
- The verbal yes is not the finish line. Failing to maintain momentum here is a leading cause of the ghosting epidemic in tech recruiting. Weak follow-through after acceptance gives doubt time to grow.
A few numbers stand out:
- 43% of declined offers come from stale or misread compensation data, not a hard budget mismatch.
- Candidates who feel pushed to fight for pay report 23% lower commitment at six months.
- Many counter-offer takers still leave within 18 months.
The main takeaway: I should treat salary negotiation as a closing system, not a one-off money conversation. The teams that win move fast, explain pay clearly, stay inside defined bands, and keep the candidate warm from first call to signed offer.

Problem 1: Recruiters negotiate base pay while developers evaluate total compensation
When a candidate says the offer feels low, they usually aren't looking at base salary in isolation. They're stacking the entire package against market data from sites like Levels.fyi and Glassdoor . So your job isn't to argue for the base number. Your job is to close the offer with the right mix of cash, equity, and timing.
That means you need to negotiate from the full package, not just one line item.
Here’s how each part tends to behave in a negotiation:
| Compensation Component | Employer Cost | Room to Move | How Easy to Compare | What It Tells Them |
|---|---|---|---|---|
| Base Salary | High (fixed, recurring) | Low - strict bands | Very easy | Stability & core market value |
| Annual Bonus | Variable | Low - fixed policy | Medium - needs context | Performance-driven culture |
| Equity (RSUs/Options) | Non-cash | High | Hard - speculative | Long-term ownership & upside |
| Signing Bonus | One-time | High | Very easy | Urgency & commitment to hire |
That’s why strong recruiters negotiate the structure of the offer, not just salary.
In practice, the easiest way to create room is to shift away from base and toward parts with more flex.
Start with these levers: signing bonuses and equity often give you more room than base because they come from different budgets. Signing bonuses also often include a clawback if the developer leaves within 1 to 2 years, so say that upfront. No one likes finding that out later.
How to present compensation in numbers developers can compare
Make the full package easy to line up side by side. Show each part in dollar terms.
Use this verbal offer script:
Based on what you said matters most, here's the full package: base salary, an annual bonus, a signing bonus, equity, and benefits. I can also walk you through the equity's current value and likely upside so you can compare the whole offer.
Scripts for responding to base salary objections
When base is fixed, the move is simple: shift the conversation to the part that still has room.
When base is at the top of the band but a signing bonus is available:
I hear you - I want to make sure this feels right. The base is at the top of our band for this level, so I can't move it without changing the role itself. What I can do is increase the signing bonus to bridge that gap. If we can add more upfront cash, that helps close the year-one difference without changing the ongoing structure. Does that work?
When equity value needs more context:
I want to make sure the equity is clear: here's what the grant is worth today, and here's the likely upside we should compare against. I don't want you judging the offer on grant size alone.
When cash is genuinely fixed and non-cash items are the only flex:
I've pushed on the cash side as far as I can. What I can offer is a title bump, extra PTO, or a flexible start date. I know that's not the same as dollars in your account, but I want to make sure you're set up well here from day one.
Next, the benchmark behind the offer matters just as much as the offer itself. Understanding the state of developer trust can help you frame these benchmarks more effectively.
Problem 2: Weak salary benchmarks produce offers that feel arbitrary or uncompetitive
Once the package is clear, the next step is simple: does the number line up with the market rate for the role? If not, even a decent offer can feel random. And if you can't explain how you got there, the candidate will assume you guessed.
The fix starts with effective developer sourcing before compensation even comes up in the process.
Which benchmark inputs matter most for developer roles
Not every senior engineer role should pay the same. Before you quote a number, confirm the basics: role level, specialty, location, remote policy, company stage, and how current your data is.
The table below shows 2026 U.S. median base salaries across common engineering roles :
| Role | Junior (0–3 yrs) | Mid-Level (4–9 yrs) | Senior (10+ yrs) |
|---|---|---|---|
| Frontend Developer | $107,000 | $144,750 | $173,750 |
| Backend Developer | $120,000 | $162,500 | $187,250 |
| DevOps / SRE | $153,750 | $172,500 | $198,500 |
| ML / AI Engineer | $136,620 | $180,900 | $238,000 |
| Security Engineer | $120,360 | $158,100 | $204,400 |
| Data Engineer | $112,400 | $150,700 | $196,000 |
Location and remote policy can shift pay by a lot, so you need a clear compensation philosophy before the offer goes out. You also need to update bands often. If you only refresh once a year, you can end up 8%–12% below market by Q3 . Candidates checking live data will spot that gap fast.
With those inputs in place, set the band before the candidate starts pushing against it.
How to build a negotiation band before the candidate asks
Use at least three sources together. A paid survey like Radford or Mercer gives you structural anchors. Levels.fyi shows the live upper end. Your internal offer history shows what actually gets signed .
For software engineering roles, Levels.fyi should carry about 40% of the weight because candidates use it to size up their own market value .
Once you have the data, split the band into three zones:
- Developing: 80%–90% of midpoint
- Fully Performing: 90%–110%
- Advanced: 110%–120%
Engineering bands should usually span 30%–40% from minimum to maximum so you have room for differences in skill and output .
| Source | Data Freshness | Methodology | Best Used For |
|---|---|---|---|
| Levels.fyi | Real-time | Crowdsourced, verified | Setting the ceiling; Big Tech and AI roles |
| Radford / Mercer | 9–12 month lag | Employer-reported, statistically clean | Structural anchors; board and internal equity defense |
| Glassdoor, Salary.com | Medium | Self-reported, noisy | Company-specific sentiment and mid-market validation |
| Job Listings (Indeed, ZipRecruiter) | High | Active posting budgets | Often drags low - reflects budget, not closed offers |
| Internal Offer History | Highest | Actual signed offers | Most accurate for your specific close rate |
Set your floor, target, and walk-away point before final interviews, not after. Get the hiring manager, finance, and compensation team lined up early. Last-minute exceptions are one of the fastest ways to slow down a close.
If a candidate's market rate lands above your band, treat that as a band-update problem, not an internal-equity argument.
Problem 3: Negotiations stall when recruiters miss what developers actually care about
If the salary band is right and the offer still gets stuck, the problem usually isn't pay. It's fit.
When the number is fair but the candidate still hesitates, you're often looking at a priority mismatch, not a budget issue. Put simply: the recruiter is negotiating the wrong thing. About 40% of offer declines come from non-money factors such as employer brand, process speed, manager trust, and role clarity . So when recruiters focus on compensation but miss the candidate's actual decision criteria, deals fall apart.
How to identify deal-breakers before the offer stage
The best time to spot friction is before the offer goes out. During late-stage discovery, ask candidates to rank compensation, scope, flexibility, title, and growth .
Two questions tend to cut through the noise fast.
First: "What would a perfect counter-offer from your current employer look like?"
That answer tells you what actually matters most - scope, title, or cash.
Second: "What should your manager stop, start, or keep doing?"
That question can bring hidden blockers to the surface, especially around manager trust or team quality .
Scripts for adjusting the right lever without increasing total cost
Once you know the real priority, you can adjust the right lever without changing base pay. The table below shows which changes tend to matter most and what they usually cost :
| Lever | Specific Adjustment | Impact on Total Cost |
|---|---|---|
| Title / Level | Bump from Senior to Staff or add "Lead" / "Founding Engineer" | No immediate cash cost |
| Early Review | Written 6-month performance and compensation review with a step-increase target | No immediate cash cost |
| Learning Budget | $3,000–$10,000/year for conferences, certifications, or courses | Low (pre-allocated) |
| AI Tool Access | Stipend for tools like Cursor or Claude (~$200/month) | Low |
| Home Office Setup | One-time hardware stipend of $1,000–$3,000 | Low (one-time) |
| Start Date Flex | Four-week delayed start or extended start date | Minimal immediate cost |
| Manager Access | Guaranteed 1:1 time with CTO or senior technical leadership | No immediate cash cost |
A couple of scripts are worth having ready.
For title and scope:
"Based on your experience with [specific tech], we've calibrated this role as a Staff title. While the base is fixed at the top of our band, this level gives you direct ownership over [system architecture] and a seat in the technical steering committee."
For flexibility:
"I can move quickly if we can confirm two in-office days max and no relocation requirement for this role."
This is where vague remote language can kill momentum, which is why having a tech recruiting cheatsheet for clear communication is essential. Candidates want clear, written terms on in-office days, travel, and relocation. If those details stay fuzzy, trust drops fast.
And if the band is already maxed out, a written six-month compensation review with a specific increase target can still move the deal .
That same kind of diagnosis matters even more once a competing offer or remote-pay expectation shows up.
Problem 4: Competing offers and remote-pay expectations push recruiters into reactive decisions
Once you know what matters to the candidate, the next stress point usually shows up fast: a competing offer or a remote-pay objection. That’s when teams get jumpy. They rush to match the number, make a promise they can’t support, or toss out their pay philosophy altogether.
That instinct usually backfires.
In busy tech hiring markets, 50% to 70% of candidates who accept an offer receive a counter-offer from their current employer . And 80% to 90% of candidates who accept that counter-offer leave within 18 months anyway . Those numbers help you separate a short-term counter from the reason the person started looking in the first place.
A recruiter playbook for handling competing offers without overpaying
When a candidate says they have another offer, don’t counter right away. Start by figuring out what’s actually on the table. Ask for the details: base salary, bonus, equity, and timing. That isn’t about pressure. It’s about making a fair comparison.
A bigger base with a small sign-on bonus is not the same as a lower base with stronger equity. On paper, both can look close. In practice, they can lead to very different outcomes.
Three situations tend to come up most often:
- Scenario 1: Real gap → Use a one-time signing bonus or equity refresh instead of lifting base pay. A base increase carries forward into future raises and bonus math .
- Scenario 2: Vague competing offer → Ask for a redacted offer letter or, at minimum, a breakdown of the package. That keeps both sides from negotiating around half-known details .
- Scenario 3: Timing play → Bring the conversation back to why the candidate entered your process. Ask plainly whether this is about compensation or confidence.
It also helps to bring up the counter-offer before it lands. You can say:
"There's a good chance your current employer will come back with a 10% to 20% raise and vague promises about a promotion. That's a normal response. But it's worth asking yourself why they didn't make that move earlier."
That kind of framing does two things at once. It prepares the candidate, and it shifts the conversation away from panic. Instead of reacting to a bigger number, you’re helping them look at the whole picture.
The table below shows how common counter-offer responses stack up across the hiring factors that matter most:
| Response Strategy | Employer Cost | Candidate Impact | Brand Risk | Closing Likelihood |
|---|---|---|---|---|
| Hold Firm | Low | High (may feel undervalued) | Low | Moderate |
| One-Time Sign-on Bonus | Low (one-time) | Positive (feels heard) | Low | High |
| Match Total Comp | High (recurring) | Mixed (may suspect lowballing) | Medium | High |
| Level / Title Bump | Low (cash) / High (future) | Very high (career growth) | Medium | Very High |
How to explain your remote compensation philosophy clearly
Remote pay is where hiring talks can shift from practical to philosophical in a hurry. And vague answers make things worse.
Spell out your approach before the candidate has to pull it out of you.
If your company pays by local market rates, say it plainly:
"We benchmark to the local-market median for your location. For your location, that puts the band at [$X–$Y]."
That’s a clear, data-backed position. What breaks trust is saying “we adjust for cost of living” and then not being able to explain the method or the size of the adjustment.
If your company uses role-based pay, where compensation stays the same no matter where the candidate lives, present that up front as part of the offer. Not as a side note buried late in the process. Either model can work. What fails is being slippery about which one you use.
Clear pay rules cut down offer-stage friction. Then the next risk shows up: losing momentum after verbal acceptance.
How a warm candidate experience reduces negotiation friction
Competing offers and remote-pay pushback are tougher when the candidate doesn’t trust the process yet. If a developer reaches the offer stage already doubtful - because early calls felt more like filtering than a real conversation - then every pay discussion turns into a credibility test.
A warm, candidate-led outreach approach changes that. When someone chooses to engage, they tend to bring less guard-up energy into the offer stage. They’re more likely to ask questions than draw hard lines.
Problem 5: Candidates drop out after verbal acceptance because post-offer follow-through is weak
A verbal yes is just a checkpoint. The stretch between acceptance and a signed offer is where notice periods, internal sign-off, and counter-offers can still knock the hire off course. In plain terms, those days after verbal acceptance are a process issue, not a paperwork issue. Managing this effectively requires a structured hiring checklist to ensure no steps are missed.
A post-offer communication plan that keeps candidates engaged
Send a written recap within one hour. That gives the candidate the final terms in writing before the formal offer letter shows up. Include base salary, equity details such as strike price, vesting, and current valuation, bonus structure, start date options, and any specific commitments made on the call .
Within 24 hours, the hiring manager should send a direct congratulatory note. A peer-level message helps too. It adds a human touch and can strengthen emotional commitment .
Your follow-up rhythm should match the candidate's notice period. More time before resignation usually means more room for doubt, delay, or a counter-offer.
| Notice Period Length | Counter-Offer Risk Level | Recommended Action |
|---|---|---|
| 1–2 Weeks | Low | Standard welcome and onboarding prep |
| 3–4 Weeks | Moderate | Hiring manager touchpoint; share technical roadmap |
| 4+ Weeks | High | Weekly check-ins; invite to virtual team events/lunches |
Set check-ins ahead of time, send onboarding materials early, and introduce key teammates before day one. If equity is part of the package, add a 20-minute call with finance to walk through dilution and exit math. That one step can clear up confusion before it turns into hesitation.
For more on why post-offer silence often points to unresolved concerns rather than indifference, see Candidate Ghosting: Symptom, Not Disease.
Scripts for counter-offer prevention and notice-period check-ins
Once the cadence is in place, use plain, direct language. Before resignation, talk through the counter-offer that may be coming. Then tie each check-in back to the candidate's original reason for leaving.
If a candidate says their current employer made a move, bring the discussion back to the reason they wanted to leave in the first place. Ask whether the counter-offer fixed the lack of growth they mentioned or just added money to the same setup .
If they say they need more time, get specific. Is the issue risk, personal concerns, or confusion around equity? Then book a follow-up within 24 to 48 hours .
Resignation prep script:
"There's a good chance your current employer will respond with a raise and vague promises about a promotion. Before that happens, it's worth being clear with yourself: does that change the reason you decided to make this move?"
Notice-period check-in script:
"I wanted to check in and make sure everything still feels right. Is there anything from our last conversation that you want to revisit or talk through?"
Conclusion: A decision framework for closing developer offers consistently
Flex when the gap is under 10% and the role still lines up with the candidate's goals. Hold firm when the candidate is salary-shopping, the ask would break internal equity, or your offer already gives them something their current employer can't match: major equity upside, a clear path to Staff or Tech Lead, or a high-impact technical challenge tied to what they said they wanted .
Candidates who get a strong, straightforward offer upfront report 23% higher organizational commitment at six months than those who had to negotiate up from a lowball . That's the return on a disciplined offer process: not just a signed letter, but a developer who starts day one already bought in.
FAQs
How should I explain equity to developers?
Treat equity like a clear contract term, not a promise of cash in your pocket.
That distinction matters. Equity might turn into money later, but it can also end up being worth little or nothing. So the goal is to explain it plainly: what type of equity it is, how it vests, what it costs, and what would need to happen for it to have value.
Start with the instrument itself. Is the grant made up of ISOs, NSOs, or RSUs? Each works differently.
- ISOs are incentive stock options, which are usually offered to employees and come with tax rules tied to exercise and holding periods.
- NSOs are non-qualified stock options. They’re more common in some cases and have different tax treatment.
- RSUs are restricted stock units. These are not options with a strike price in the same way; they turn into shares when vesting conditions are met.
Then spell out the vesting schedule in plain English. In many cases, that means four-year vesting with a one-year cliff. So the person earns nothing in the first 12 months if they leave before the cliff. After that first year, a larger chunk vests at once, and the rest usually vests monthly or quarterly over the next three years.
If you want people to trust the offer, give them the numbers behind it. That includes:
- the current 409A valuation
- the strike price
- the company’s total shares outstanding
- the expected dilution over time
- a few possible exit scenarios
Those details help someone do the math instead of guessing. For example, the 409A valuation gives a sense of the current fair market value used for option pricing. The strike price shows what someone would pay to exercise an option. Total shares outstanding helps them understand what percentage of the company the grant may represent, not just the raw share count. Expected dilution shows that ownership can shrink as new shares are issued in later funding rounds or grant cycles.
Exit scenarios matter too. Don’t hand-wave this part. Walk through a few sample outcomes, such as an acquisition or IPO, and show what the equity could look like at different company values. Just as important, say out loud that these are scenarios, not forecasts.
You should also explain how annual refresher grants work. If your company uses them, say when they’re reviewed, what factors affect them, and whether they’re tied to performance, level, market data, or retention goals. If refresher grants are not automatic, say that clearly. People would rather hear the plain truth than find out later that “annual equity” was never part of the deal.
Good equity communication is simple: define the grant, show the mechanics, and give enough detail that a candidate or employee can judge the offer with open eyes.
What if a candidate wants more than our pay band allows?
Be clear about how your pay bands work and why they’re in place. Don’t dump that issue on the candidate or make it sound like everyone else on the team is being paid too little.
If it helps, offer other options, like a higher signing bonus. And if the gap still doesn’t close, take a step back and check whether your bands are out of line with market data. Then shift the conversation to the parts of the role that also matter: growth, mission, scope, and career trajectory.
How do I keep a verbal yes from falling apart?
Focus on pre-closing through steady alignment, not the signed document. The goal isn’t to rush paperwork. It’s to sort out open questions around money, equity, and motivation before the formal offer goes out.
Use the offer call as a decision-making conversation, not a sales pitch. Talk through concerns directly. Bring up competing offers head-on. Then ask for a verbal commitment.
If the candidate hesitates, don’t send the paperwork yet. That usually means something still isn’t settled. Keep working through the deeper issue first, whether that’s compensation, role scope, timing, or doubt about the move itself.