Somewhere between drafting the job ad and hitting publish, the question comes up: do we show the salary? Someone talks it down — “we’d lose negotiating leverage,” “the team will see it,” “competitors will copy us.” The range gets cut, the ad goes out, and six quiet weeks later the market seems empty. It isn’t. You filtered it out yourself.
The numbers on this are unusually one-sided. In LinkedIn’s survey of US members, 91% said that seeing a salary range in a posting affects their decision to apply — candidates ranked pay information nearly as decisive as the responsibilities of the role itself. And the market has moved: as of September 2024, 57.8% of US postings on Indeed showed some pay information, up from 52.2% a year earlier (Indeed Hiring Lab). Hiding the number no longer reads as standard practice. It reads as a choice.
This guide takes the question seriously anyway: what hiding the range actually does to your pipeline, the classic owner objections and why they don’t survive contact with the math, how to build a range that’s credible rather than decorative — and the growing list of states where the debate has already been settled by law.
Paste your job ad into tensionscore: the free report flags a missing or off-market salary among its red flags and gives you a recommended range for your role, calibrated on US market benchmarks.
See my free diagnosisWhat hiding the range actually does to your pipeline
Start with who’s reading. The developer you want already has a job. They aren’t spraying applications; they’re glancing at postings between two commits, and they’ll only engage if something clearly beats their current situation. For that reader, a missing salary isn’t a neutral omission — it’s the fastest available reason to scroll past. In LinkedIn’s data, 91% of US respondents said a salary range affects whether they apply at all.
Silence also carries a message you didn’t intend. A developer reading “competitive salary” concludes one of two things: the company pays below market and knows it, or the company plans to calibrate the offer to whatever the candidate dares to ask. Neither interpretation makes them want to invest three rounds of interviews to find out which one it is.
And that’s the real mechanism: a hidden range doesn’t avoid the salary conversation, it moves it to the most expensive possible moment. You run a screen, a technical interview and a team meeting, then discover in the final call that you’re $30,000 apart. The candidate resents the wasted evenings, your team resents the wasted hours, and candidates burned this way tell other developers. The range would have settled it in five seconds, for free.
The classic objections, dismantled one by one
“We’d lose negotiating leverage.” Against whom? The candidates who skip range-less postings never enter the negotiation at all — you’re preserving leverage over an empty room. And showing a range is not showing a number: you still negotiate within it, based on what the interviews reveal. What actually erodes your leverage is a three-month-old vacancy that every candidate can see on your careers page.
“Our own team will see it.” They already can. Your developers browse levels.fyi and Glassdoor like everyone else, and they field recruiter messages with ranges attached every week. If publishing an honest market range for a new hire would shock your existing team, you don’t have a transparency problem — you have a pay-gap problem, and it’s cheaper to fix it on your own schedule than to have it discovered for you.
“Competitors will use it against us.” Your competitors can price a developer role with the same public benchmarks you can; your range tells them nothing they don’t already know. The only party genuinely kept in the dark by a hidden salary is the candidate — the one person whose decision you’re trying to win.
How to build a range that’s credible (not decorative)
A range only works if the reader believes it. Start from market benchmarks rather than from your budget: in tensionscore’s national benchmarks, a front-end, back-end, full-stack or mobile developer earns roughly $65k to $105k base as a junior, $95k to $138k at mid-level and $125k to $175k as a senior, with DevOps and data higher; our salary pages break it down by role. A mid-level full-stack developer, for example, runs about $102k to $132k nationally. Adjust for location — major metros like the Bay Area, New York and Seattle about 25% above the national level, fully remote roles about 5% below — and for the specific technology you need.
Then keep it honest in both directions. A range spanning $60,000 (“$90k–$150k DOE”) is read as no range at all: a strong candidate assumes the real budget is the bottom number and the top is bait. Aim for a spread of roughly 15 to 20 percent between floor and ceiling, and only publish a ceiling you would actually pay for a candidate who checks every box, because the best applicants will anchor there and ask what it takes.
Finally, sanity-check the top of your range against what it really costs you. Base salary is only part of the bill: once employer payroll taxes and benefits are added, tensionscore budgets about 1.3 times base, so a $130k ceiling means around $169,000 of fully loaded annual cost. Run that multiplication before you publish, not during the offer call.
- Anchor on public benchmarks for your stack, level and location — not on last year’s budget line.
- Keep the spread around 15–20%: a $60k-wide range reads as bait.
- Only publish a ceiling you’d genuinely pay; the best candidates will anchor on it.
- Budget the fully loaded cost (about 1.3 × base) before committing to the top of the range.
In a growing list of states, it’s no longer your call
Colorado moved first: since January 2021, every posting for a job performable in the state must include a pay range. California and Washington followed in January 2023, New York statewide in September 2023, and the list has kept growing — Hawaii, the District of Columbia and Maryland in 2024, Illinois and Minnesota in January 2025, then New Jersey, Vermont and Massachusetts over the course of 2025 (GovDocs). Virginia joined on July 1, 2026, and Maine on July 29, 2026 for employers with 10 or more employees, per the state’s Department of Labor; Delaware’s law is scheduled to take effect in September 2027 (GovDocs). The thresholds are low: 15 employees in California, Washington or Illinois, four in New York, a single employee in Colorado.
The remote wrinkle matters for SMBs everywhere. If your posting is remote and could be filled from Colorado, or reports into a New York office, it can fall under those laws even though your company sits in a state with no requirement of its own. Multi-state employers overwhelmingly land on the simplest policy — one rule, a published range on everything — because maintaining two versions of every job ad costs more than the transparency does.
So the compliance argument is really a tiebreaker. If you hire remotely, as many SMBs hiring developers now do, the question is no longer whether you’ll publish ranges. It’s whether you start now, deliberately and well calibrated, or later, in a hurry, because a statute forced your hand.
Where does your job ad stand today?
If you’ve read this far, the hard part isn’t the principle — it’s the number. Publishing a range means committing to one, and most owners genuinely don’t know whether $115k for their mid-level full-stack role is generous, stingy or simply beside the point for their region and stack.
That’s exactly what the tensionscore tool answers. Paste your job ad and you get a tension report in 30 seconds: a difficulty score out of 10, the estimated time-to-hire, the true cost of the first year, the red flags — a missing salary being one of the loudest — and a recommended range calibrated on US market benchmarks. The engine is deterministic and built on public sources: no figure is invented.
And if the diagnosis shows that a market-rate range simply doesn’t fit your budget right now, that’s information too. It may mean adjusting the role’s seniority (see junior, mid-level or senior developer), or covering the need another way while you recalibrate — an external developer from the neodev collective can keep the roadmap moving alongside your hiring, not instead of it.
Key takeaways
- 91% of US candidates say a salary range affects their decision to apply (LinkedIn); a hidden salary filters out the strongest profiles before you ever see them.
- Hiding the range doesn’t avoid the salary conversation — it moves it to the most expensive moment, after three interviews, when you discover you’re $30k apart.
- The classic objections don’t hold: you can’t negotiate with people who never applied, your team already reads levels.fyi, and competitors already know the market.
- A credible range is anchored on public benchmarks, spans roughly 15–20%, and has a ceiling you’d actually pay — budgeted at about 1.3 × base once employer costs are added, the multiplier tensionscore uses.
- More than a dozen jurisdictions — Colorado, California, New York, Washington and, since mid-2026, Virginia and Maine among them — now require pay ranges in postings, and remote roles can pull you into their scope wherever you’re based.