Software Developer Salary Range: Building a Compliant Band (SOC 15-1252)
Software developer roles span a wide wage band. Here's how to build a defensible range by state using BLS OEWS data for SOC 15-1252.
Rovaryn Digital · June 19, 2026

Why a Software Developer Salary Range Is Harder to Post Than It Looks
It is Wednesday afternoon and your job posting for a mid-level software developer goes live on Friday. Your legal team has flagged that you have employees in California and Washington State. Your HR generalist pulls up a job-seeker salary estimator, gets a wide crowd-sourced number, and types it into the posting template. No audit trail. No SOC code. No documented methodology. No record of which data vintage was used.
That scenario — common at companies with 10 to 100 employees — is exactly what pay-transparency regulators are designed to surface. California's SB 1162 allows civil penalties of $100–$10,000 per violation, and each non-compliant posting on each platform may be counted separately (California Legislative Information, 2022; Employment Law Aid, 2026). Washington State's Equal Pay and Opportunities Act, updated as of July 27, 2025, carries statutory damages of $100–$5,000 per applicant plus attorney fees for employers with 15 or more employees (Epstein Becker Green, 2025). Confirm current thresholds and penalty amounts with the California DIR and Washington L&I before acting — these rules are updated regularly.
The fix is not expensive software. It is a documented, repeatable methodology anchored to authoritative wage data. This guide shows you, step by step, how to build a defensible software developer salary range from BLS OEWS data for SOC 15-1252 — the right starting point for any pay-transparency-law posting.
By the end, you will have a clear process for turning a national benchmark into a jurisdiction-ready band, plus the documentation habits that hold up when an attorney asks for your methodology.
What the BLS OEWS Data Actually Says for SOC 15-1252
The Bureau of Labor Statistics Occupational Employment and Wage Statistics (BLS OEWS) program produces employment and wage estimates for more than 800 occupations annually, drawn from a sample of roughly 1.1 million establishments (BLS, May 2025). It is the federal government's authoritative source for market-rate wage benchmarking — public, free, updated yearly, and legally defensible as a documented methodology anchor.
The SOC (Standard Occupational Classification) code 15-1252 covers software developers — the occupation that designs, builds, and tests software applications and systems. When you cite this code in your compensation documentation, you are tying your range to a defined, auditable occupational category rather than a job title that varies from employer to employer.
National figures for SOC 15-1252 (BLS OOH, May 2024 reference):
| Percentile | Annual Wage |
|---|---|
| 10th percentile | $79,850 |
| Median (50th percentile) | $133,080 |
| 90th percentile | $211,450 |
Source: U.S. Bureau of Labor Statistics, Occupational Outlook Handbook, May 2024. Confirm the current figures at bls.gov/oes — the May 2025 OEWS estimates were released May 15, 2026.
A few definitions to anchor what these figures mean:
- Percentile — the wage below which a given share of workers in that occupation and geography earn. The 10th percentile ($79,850) means 10% of software developers nationally earn less than that figure; the 90th percentile ($211,450) means 10% earn more.
- Median (50th percentile) — the midpoint of the wage distribution. Half of all software developers nationally earned above $133,080 and half below it as of May 2024.
- Market median — when compensation professionals refer to "paying to market," they typically mean anchoring to this 50th percentile figure for a defined geography and occupation.
The spread from the 10th to the 90th percentile — $79,850 to $211,450 — is not your posting range. It is the national distribution across all experience levels, industries, and geographies. Your posting range will be a narrower band calibrated to the specific role and location. The next two sections explain how to do that calibration.
Translating National Figures Into a Jurisdiction-Ready Software Developer Pay Range
A national median is a starting point, not a finish line. The software developer pay range you post must reflect where the work is actually performed, because wages vary substantially by geography. The BLS OEWS publishes state-level and metro-level estimates for SOC 15-1252 at bls.gov/oes — these are the figures to pull for your jurisdiction-specific posting.
Step 1 — Anchor to the correct geography. Pull the state-level (or metro-level, where available) OEWS median and percentile data for SOC 15-1252. State figures are available as a free download from the BLS OEWS research estimates page. For multi-state remote roles, you may need to document the adjustment logic for each relevant jurisdiction — a point covered below.
Step 2 — Understand geographic adjustment. High-cost metro areas typically show median wages meaningfully above the national figure; lower-cost states typically show medians below it. Using the national median as a proxy for a San Francisco or Seattle posting without adjusting overstates your floor in low-cost markets and understates it in high-cost ones. The BLS state and metro data quantify this difference directly, so no estimation is required — you just pull the right row from the dataset. For a deeper look at how geography shifts a band, see our guide to geographic pay differentials explained.
Step 3 — Set your range spread. Range spread is how wide the band is, typically expressed as a percentage of the midpoint (or in some frameworks, as a percentage of the minimum). A narrower spread (say, 40–50%) suits a tightly scoped individual-contributor role with a clear seniority ceiling. A wider spread (80–120%) accommodates a role where the incumbent might progress from junior to staff level over several years. For an individual-contributor software developer role posted under a transparency mandate, a spread in the 40–80% range is common — but the defensible choice depends on your internal leveling framework, not on an industry average. Document your rationale.
Step 4 — Calculate min, midpoint, and max. With a midpoint and a spread, the arithmetic is straightforward. Here is a worked example using the national BLS median as the anchor:
Worked example — illustrative only; use your state-level BLS figure.
- Chosen anchor (midpoint): $133,080 (BLS national median, SOC 15-1252, May 2024)
- Target spread: 50% of midpoint
- Half-spread: $33,270
- Range minimum: $133,080 − $33,270 = $99,810
- Range maximum: $133,080 + $33,270 = $166,350
- Posted range (rounded): $99,000–$167,000
The midpoint of a salary range is the reference wage around which the band is constructed — typically aligned to your target market percentile. When an employee earns the midpoint, their compa-ratio (their actual salary divided by the range midpoint, expressed as a percentage) equals 1.0, or 100%. A new hire at the minimum would have a compa-ratio below 1.0; a tenured high performer near the maximum would be above 1.0. These metrics matter for pay-equity analysis and for documenting that your ranges are applied consistently.
For the full methodology walkthrough — including how to choose a target percentile, how to handle leveled roles (junior / mid / senior), and how to build an audit-ready documentation trail — see our detailed guide on how to build a salary range.
Posting a Tech Salary Range in Transparency-Law States
Most software developer roles today attract candidates — and may have remote employees — across multiple states. Several of the highest-concentration tech-hiring states now have active pay-transparency posting mandates. Here is a summary of the requirements most likely to apply to a tech salary range posting, with penalties as reported in our verified-data library. Confirm current requirements with the issuing authority before posting — effective dates, employee thresholds, and penalty amounts change.
California (SB 1162, effective Jan 1, 2023) Employers with 15 or more employees (at least one in CA) must include a salary range in every job posting. Civil penalties range from $100 to $10,000 per violation; each posting on each platform can be a separate violation (California Legislative Information, 2022; Employment Law Aid, 2026). California Labor Code §432.3 also requires employers to maintain job-title and wage-rate history records (Employment Law Aid, 2026). Verify current requirements with the California DIR.
Washington State (Equal Pay and Opportunities Act, amended effective July 27, 2025) Employers with 15 or more employees must disclose a wage scale or salary range plus a general description of benefits and other compensation. Statutory damages: $100–$5,000 per applicant, plus attorney fees; L&I civil penalties up to $500 for a first violation / up to $1,000 for subsequent violations (Epstein Becker Green, 2025). For the full Washington picture, see our guide to the Washington pay transparency law. Verify current requirements with Washington L&I.
Colorado (Equal Pay for Equal Work Act, amended Jan 1, 2024) Fines of $500–$10,000 per violation, with each non-compliant posting a separate violation (Colorado General Assembly, SB19-085, 2019). As of July 1, 2024, 1,634 complaints had been filed and $238,000 in fines assessed (Trusaic citing Colorado CDLE, 2024). Applies to employers with at least one Colorado employee. Verify with Colorado CDLE.
New York State (Labor Law §194-B, effective Sept 17, 2023) Private employers with four or more employees must include a salary or salary range in postings for jobs performed at least in part in New York. Penalties escalate: up to $3,000 per violation ($1,000 / $2,000 / $3,000 for 1st / 2nd / 3rd+ offenses) (SixFifty / Trusaic, 2026). Verify with the NY State DOL.
Illinois (HB 3129, effective Jan 1, 2025) Employers with 15 or more employees must include a pay scale and benefits in postings. Penalties escalate $500 / $2,500 / $10,000 (1st / 2nd / 3rd+), with a seven-day cure period (MMR Ltd. citing HB3129, 2025). Employers must retain pay-scale and posting records for five years (Greenberg Traurig / Illinois DOL, 2024). Verify with the Illinois DOL.
Multi-state remote roles trigger the requirements of each state where an employee is located or where the work is performed — not just the employer's home state. If your software developer role is remote-eligible and you have employees in Colorado, California, and Washington, you are subject to all three sets of rules simultaneously, and your documented methodology should reflect that. For a general framework on handling multi-state ranges, the how to build a salary range guide covers jurisdiction stacking.
Documenting Your Software Engineer Salary Band for an Audit
A compliant posting is only half the requirement. Several states — California and Illinois among them — explicitly require employers to retain wage-rate and posting records for defined periods. California's Labor Code §432.3 requires maintenance of job-title and wage-rate history records (Employment Law Aid, 2026). Illinois mandates retention of pay-scale and benefits information for each position for five years (Greenberg Traurig / Illinois DOL, 2024). Even in states without a codified retention requirement, your employment attorney will ask for documentation if a complaint is filed.
Defensible documentation for a software engineer salary band built on BLS OEWS data typically includes:
- The SOC code used (15-1252) and the rationale for the match to your job description.
- The BLS OEWS dataset, geography, and reference year — for example, "BLS OEWS, Washington State, May 2024 estimates, downloaded [date] from bls.gov/oes."
- The target percentile selected as your midpoint anchor, and the business rationale (e.g., "targeting the 50th percentile for a mid-level individual contributor in a competitive Seattle market").
- The range spread chosen and why (role scope, leveling framework, internal equity constraints).
- The min / midpoint / max calculation — the arithmetic shown explicitly.
- The date the range was set and who approved it.
- Any geographic adjustment applied for multi-location or remote roles, with the BLS state/metro figures used.
This documentation does not need to be elaborate. A one-page range-build worksheet, stored alongside the posting record, satisfies most enforcement inquiries and demonstrates that your range was grounded in a consistent, auditable methodology rather than a gut estimate.
Learning to read BLS data efficiently is the prerequisite skill here — if that is new territory for your team, our guide to how to read BLS OEWS data walks through the dataset structure, the difference between OEWS and the Occupational Outlook Handbook, and how to pull percentiles correctly.
Developer Compensation by State: What to Expect When You Pull the Data
When you pull the BLS OEWS state-level data for SOC 15-1252, you will find that developer compensation by state varies considerably from the national median of $133,080 (BLS OOH, May 2024). High-cost technology hubs — major metros in California, Washington, New York, and Massachusetts — consistently show state medians above the national figure. Lower-cost states show medians below it.
The library does not carry pre-pulled state percentile figures for every jurisdiction, so the specific state figures for your posting are ones you will need to pull directly from bls.gov/oes using the most current available release. The May 2025 OEWS estimates — covering reference year May 2025 — were released May 15, 2026 (BLS, 2026); confirm the current release when you access the dataset.
A practical workflow for a multi-state software developer role:
- Download the state-level OEWS estimates for SOC 15-1252 from bls.gov/oes.
- Identify the states where the role will be performed or where existing employees are located.
- Note the 10th, 50th, and 90th percentile wages for each relevant state.
- Decide whether you will set a single range (using the highest-market state as the floor, or using your target market as the anchor with a documented rationale) or separate ranges by location.
- Apply your spread methodology consistently and document the output.
For roles where you are also building ranges for other occupation families — network administrators, operations managers, accounting staff — the occupation salary guides hub links to guides for each SOC code in this series, including the companion network administrator salary range guide for SOC 15-1244.
Build Your Software Developer Salary Range With a Documented Methodology
A software developer salary range built on BLS OEWS data, adjusted for your geography, constructed with a documented spread methodology, and stored with an audit trail is defensible — to a regulator, to an employment attorney, and to the candidate reading your posting.
The manual version of that process — spreadsheet, BLS download, range arithmetic, saved PDF — works. It costs time per range-build cycle and produces documentation that varies in quality depending on who runs the process and whether they remembered to record the data vintage. If your team builds ranges for multiple roles across multiple states on a recurring basis, that friction adds up.
If you want a structured starting point before committing to a subscription, the Salary Range Builder Workbook is a pre-built Excel file that walks through the BLS OEWS anchor-and-spread methodology with built-in formulas, documentation fields, and a range output formatted for pay-transparency-law postings.
When you are ready to automate the process — pulling live BLS data, applying geographic adjustments, generating watermarked PDF documentation, and managing ranges across your full workforce — Salary Range Builder starts at $199/month for the Essentials plan (14-day free trial, no credit card required). See the full feature and plan comparison at /pricing.
Start your free 14-day trial and build your first compliant software developer salary range today — no enterprise contract, no onboarding call, same-day activation.
Get new guides in your inbox
One email when a new article goes live. Unsubscribe with one click.


