Where software developer pay goes furthest

Adjusting state median pay for state prices scrambles the middle of the software-developer ranking—but it does not automatically knock every expensive tech hub off the top.

A software engineer working across three computer screens

The familiar cost-of-living story says a smaller salary in a cheap state can beat a larger salary in an expensive one. That is true often enough to be useful, but not often enough to assume. For software developers, California’s wage premium is large enough that the state remains first even after its overall price level is applied.

Below, we join the Bureau of Labor Statistics May 2025 annual median wage for software developers with the Bureau of Economic Analysis 2024 all-items Regional Price Parity for each state. The adjusted figure expresses each median in national-price dollars:

price-adjusted pay = state median wage ÷ (state RPP ÷ 100)

The top eight after adjusting for prices

Adjusted rankStateMedian wagePrice levelAdjusted payNominal rank
1California$174,410110.7$157,5521
2Massachusetts$165,210105.8$156,1534
3Washington$166,540107.0$155,6452
4New York$166,180107.9$154,0133
5North Carolina$134,71094.3$142,85312
6Missouri$126,12090.8$138,89927
7South Carolina$129,45093.7$138,15423
8Oregon$142,720103.4$138,0275

BLS Occupational Employment and Wage Statistics · OEWS · May 2025 · rel. May 15, 2026 · Official data

BEA Regional Price Parities · SARPP · 2024 · rel. February 19, 2026 · Official data

California, Massachusetts, Washington, and New York occupy the first four positions. Their prices are above the national level, but their median software wages are high enough to survive the adjustment. North Carolina then breaks the coastal pattern: it rises from 12th in nominal pay to 5th in adjusted pay.

The bigger story is the rank movement

Missouri has a $126,120 nominal median, only 27th among states with published estimates. Its 90.8 price level lifts the national-price equivalent to $138,899, good for 6th. Alabama moves even farther: from 34th nominally to 9th after adjustment.

The reversal can be just as sharp. The District of Columbia’s $136,880 nominal median ranks 9th. After its 109.9 overall price level is applied, the adjusted figure is $124,550 and the rank falls to 39th.

Rank movement is not destiny. It shows how statewide pay and statewide prices interact. It does not show whether a specific employer pays above the median, whether a developer can work remotely, or what housing costs in the city where the job sits.

Why a median is better than an average here

Software compensation has a long upper tail. Senior roles, specialized skills, bonuses, and equity can make an average look unlike the offer most workers receive. The OEWS median identifies the middle annual wage estimate for the occupation and geography. It does not include self-employed workers and it is not a total-compensation measure.

It also is not a career ladder. The state median does not represent “mid-level,” and the 90th percentile does not automatically represent “senior.” Industry, employer, specialty, experience, and location all shape where a worker lands in the distribution.

Where the statewide adjustment becomes too broad

Software jobs cluster in particular metros. A statewide wage paired with a statewide price index is geographically coherent, but it can smooth over a high-paying, high-cost city and lower-cost areas with fewer software jobs. The calculation is best used to discover states worth examining, not to choose between two actual offers.

Remote work adds another complication. An employer may use national bands, location-based bands, or an office-based salary regardless of residence. If the wage does not come from the local labor market, replace the state median with the offer itself and keep the relevant destination price level.

A better way to use the ranking

  1. Use the state table to find places where occupational pay and broad prices combine well.
  2. Compare the offer with the state’s wage percentiles, not just its median.
  3. Move down to the metro price level when the job is tied to a particular office.
  4. Replace broad housing data with current listings that match the household.
  5. Add taxes, benefits, bonus reliability, equity, and commuting before deciding.

The result is more interesting than “tech hubs are too expensive” or “cheap states always win.” Some wage premiums survive local prices; others do not. The useful comparison is the one that performs the adjustment rather than guessing its outcome.