The job description is written, the posting form is open, and then comes the field that stops small-company hiring cold: salary range. At a big company, that number arrives from a compensation team with survey subscriptions and a banding philosophy. At yours, it arrives from a slightly panicked conversation that ends with "just put competitive." Which — in a growing list of states — is no longer merely weak. It's noncompliant. Pay-transparency laws now require a good-faith range in the posting itself, and "competitive, DOE" satisfies neither the regulator nor the candidate who reads forty postings a day and treats a missing range as a red flag with a company logo on it.
So the range has to exist, in public, before your first applicant. Here's the method for building one you can defend — to a candidate, to your current team, and to a state agency — without buying a survey subscription or hiring a consultant.
Triangulate from three free sources
The comp team's secret is that market data isn't secret anymore — transparency laws accidentally published everyone's homework. Your first and best source is competitor postings in transparency states: search the role title on any major job board filtered to states where ranges are mandatory, and you're reading real ranges from companies your size hiring the same skills. Ten postings give you a distribution; note the middle, ignore the outliers. Second, the government's own numbers: the BLS wage data for the occupation in your metro gives you percentiles that anchor the board data — free, defensible, and exactly what "good faith" looks like if anyone ever asks how you built the range. Third, aggregator salary sites — useful as a sanity check on the first two, with the standing caveat that self-reported numbers skew toward people motivated to report. Where all three roughly agree, you have a market midpoint. Where they disagree wildly, the role title is ambiguous — tighten what the job actually is before you price it, because you're probably comparing two different jobs wearing one title.
Build the band off competence, not hope
With a midpoint in hand, the band takes twenty minutes and two honest definitions. The minimum is what you'd pay someone who can do the core job on day one with normal ramp-up — not a discount rate for "willing to learn"; that's a different job at a different level, and pricing it into this band is how ranges get uselessly wide. The maximum is what the role is worth fully mastered — the version of this hire who needs no supervision and makes the people around them better. For most individual-contributor roles, that lands the band at roughly the midpoint ±10–15%; senior and leadership roles run wider because mastery varies more. Two disciplines keep it honest: the max is a number you could actually pay without wincing — a max you'd never honor is a lie with a dollar sign — and the band belongs to the role, not the candidate. You'll flex for a spectacular person by rewriting the role consciously, not by quietly stretching the band until it means nothing.
The dodge that fools no one
You've seen the postings that technically comply: "$40,000–$400,000, depending on experience." Regulators in transparency states have started calling ranges like that what they are — evasion — and candidates concluded it long ago. A range wider than about 40% of its own midpoint reads as "we haven't decided what this job is," and it repels precisely the careful, prepared candidates you most want, the ones who research before applying. If you genuinely can't narrow it, that's diagnostic: you're hiring for two different levels and should post two ranges, or you haven't defined the role. The range is a signal of organizational clarity. Send the real one.
The collision check: price the team before you post
Here's the step the panicked version always skips, and it's the one that causes actual damage. The moment a range goes public, your current team reads it — assume this as a law of physics. So before posting, run the ninety-second audit: does anyone currently doing this job, or a bigger one, earn below the minimum you're about to publish? If yes, you've found pay compression before it found you, and you have exactly two honest options: fix the incumbent's pay first, or post a range you can look them in the eye about. The third option — posting and hoping nobody notices — converts a comp problem into a trust problem, and trust problems at a twelve-person company don't stay problems, they become resignations. This check is also the quiet gift of the whole exercise: transparency laws are forcing small companies to discover their own inequities while they're still cheap to fix.
Negotiating inside the band
The posted range changes the offer conversation, mostly for the better — anchoring arguments about whether the number is fair ended when the number went public. What remains is where in the band, and the defensible answer is evidence: placement reflects how much of the mastery picture the candidate demonstrated — in the work sample, in the structured interview, in verifiable scope of past work. "You showed us X and Y, which lands you here; demonstrating Z inside the first year moves you there" is a sentence that survives repetition to teammates comparing notes, because it prices the same evidence the same way for everyone. What placement must never reflect is negotiating stamina — paying boldness instead of competence is how two people doing identical work end up 15% apart, which is the exact liability the transparency laws exist to surface.
Where the tool fits
The mechanics above are a spreadsheet and an honest hour. Where HRByDesign carries the load is everything wrapped around them: the state-by-state rules for what must appear in the posting (which vary more than they should — the pay-transparency guide below tracks them), job descriptions that present the range and the role coherently, and the interview scorecards that generate the evidence you'll price placement against. The judgment — what the role is worth to your company — stays yours. The tool's job is making sure the number you publish sits inside a process that can defend it.
The bottom line
A salary range is a small document with a big blast radius: regulators read it, candidates screen on it, and your own team prices themselves against it. Build it from free triangulated data, bound it with the competence definitions, refuse the wide-range dodge, check for collisions before you publish, and place offers on demonstrated evidence. None of that requires a comp team. It requires one honest hour — which is roughly what the first compression-driven resignation would have cost you per week, forever.
— Tom
Publish a number you can defend
HRByDesign tracks the state-by-state posting rules, builds the JD the range lives in, and runs the scorecards that turn band placement into evidence instead of negotiation stamina.
See how HRByDesign works →