Quick answer
This pay measure shows no sign of a squeeze at the bottom of software pay. Between two BLS snapshots, May 2022 and May 2025, the lowest-paid tenth of software pay outside California rose 17%, against 12% at the 75th percentile. That could mean higher pay or fewer low-paid jobs, and it says nothing about hiring.
Key takeaways
- What was measured: hourly pay at the 10th and 75th percentiles in four software occupations, from two BLS OEWS snapshots (May 2022 and May 2025). No public dataset measures AI agents.
- Outside California the lowest tenth of software pay rose +17% against +12% for the 75th percentile. Without web developers there is no clear difference.
- A rising 10th percentile can mean higher pay or fewer low-paid jobs among those who remain. The measure cannot tell which and says nothing about hiring.
- California is described, not tested: software developers there rose +8.1% at the 10th percentile and +5.6% at the 75th.
Is pay at the bottom of software jobs being squeezed?
This pay measure shows no sign of a squeeze at the bottom of software pay, though it is a weak proxy for what people usually mean. The measure is hourly pay at the 10th and 75th percentiles in four software occupations, from two published BLS wage snapshots, May 2022 and May 2025. No public dataset measures AI agents as such.
Outside California, the lowest tenth of software pay rose +17% between snapshots, against +12% at the 75th percentile. The 10th percentile is the wage that separates the lowest-paid tenth of everyone in the occupation from the rest, not the pay of new developers. A rising 10th percentile can mean higher pay or fewer low-paid jobs among those who remain; this measure cannot tell which, and it says nothing about hiring.
What do the pay figures show?
Outside California, the lowest tenth of software pay rose faster than the 75th percentile; whether that differs from five non-software white-collar occupations depends on the table. Figures are averages across occupation-and-state pairs, nominal (not adjusted for inflation).
| Group | Lowest tenth of pay | 75th percentile |
|---|---|---|
| Four software occupations, outside California | +17% | +12% |
| Five non-software white-collar occupations, outside California (a yardstick, not a control) | +15% | +13% |
| California software developers | +8.1% | +5.6% |
If you hire or are choosing a career, this measure gives no sign of a squeeze at the bottom and cannot speak to hiring. To judge an offer, compare it with the current BLS table.
The yardstick is accountants, marketing analysts, customer service representatives, management analysts and HR specialists. Minimum-wage increases raise low percentiles, especially for customer service. In the metro table software's lowest tenth gained more on its 75th percentile than the yardstick occupations' did; in the state table the difference is not clear. This comparison can detect differences larger than about 3 points and cannot detect smaller ones.
The software result depends on web developers. Without them, the software gap between the two growth rates is +2.6%, with a range of -0.4% to +5.7%, which means no clear difference. We added this check after the analysis. For the other three occupations the data show no clear difference and no lag.
What about California?
In California, software developers' 10th percentile went from $46.73 to $50.51 an hour (+8.1%), while their 75th percentile went from $98.63 to $104.17 (+5.6%). California ranks 23 of 49 states on this gap, where rank 1 is the state whose lowest tenth lagged its 75th percentile most. This is a description, not a test, and the direction was visible before we fixed the method.
Web developers differ. Their 10th percentile went from $24.54 to $21.63 an hour (-11.9%), while their 75th percentile went from $63.17 to $76.46 (+21.0%). So the gap between the two growth rates was -27% (rank 1 of 43). That -27% compares two growth rates; it is not the fall in the 10th percentile. It is one state and one small occupation (about 8,950 jobs in 2022, with a published relative standard error). Its 25th percentile and median also rose, BLS does not publish the noise in percentile wages, and it is not evidence of a pattern or that web developers' pay is falling generally.
What did we measure, and how?
We compared the same percentiles across two BLS OEWS releases for four occupations: programmers, software developers, quality-assurance testers and web developers. We expected AI agents to be squeezing pay at the bottom of programming work, and checked whether this proxy agreed. Changes are between two snapshots, not for the same workers. BLS does not encourage the use of OEWS data for time-series analysis, and each set combines six semiannual panels collected over three years.
We call the 75th percentile the top because the 90th can be replaced by a # symbol above a ceiling, and the ceiling differs between releases. 1 of 4 California software 90th percentiles was top-coded in 2022, none in 2025. For San Jose developers the 75th percentile was top-coded in 2022, so no comparison was possible.
Technical detail (skippable): a 95% interval is the range of values consistent with the data. We used 425 occupation-and-state pairs outside California (177 software, 248 comparison) and 2,582 metro pairs in 360 metros. For software the 10th-minus-75th growth gap (a difference between two growth rates, not wage growth) is +4.5% (95% CI +1.3% to +7.7%; p = 0.007, Holm-adjusted p = 0.022), with 177 software pairs acting like about 156 because pairs in one state move together (design effect 1.13). Against the yardstick (comparison occupations' gap minus software's gap; negative means software's lowest tenth grew faster relative to its own 75th percentile), the state table gives -2.6% (95% CI -5.7% to +0.7%; adjusted p = 0.115), while the metro table gives -2.1% (95% CI -3.6% to -0.6%; adjusted p = 0.022). The model flagged uneven spread and 22 influential pairs; we used errors that tolerate both.
What can the data not show?
They cannot show hiring, job levels, or why pay moved.
- Self-employed and freelance developers are not in OEWS, and US territories are excluded.
- The window is May 2022 to May 2025 only.
- Metro areas were redefined in 2024, so only metros with identical codes are matched.
- Who stays in an occupation changes, so the percentiles describe a shifting group.
- These are associations between two snapshots; nothing here identifies AI.
How can you check it yourself?
Download the May 2022 and May 2025 state and metro files from the BLS OEWS tables page and look up occupation codes 15-1251 to 15-1254.
What should you read next?
For employment, not pay, see two pieces on employment by age: junior developer jobs by age band and entry-level jobs and AI.
Analysis by Deivy Hernandez, from public data files.
FAQ
What should I look at if I want to know about junior hiring or pay?
This pay measure cannot tell you. For employment, see our pieces on junior developer jobs by age band and on entry-level jobs and AI. They measure employment by age, not pay.
Why use the 75th percentile as the comparison point?
BLS can replace a very high wage with a # symbol once it passes a ceiling, and the ceiling differs between releases, so the 90th percentile is less dependable as a top. We fixed the 75th as the top before looking at results.
Are web developers being paid less in California?
This study cannot say that. California web developers' 10th percentile wage went from $24.54 to $21.63 between the two snapshots, but it is one occupation in one state, and its higher percentiles rose.
Are the figures adjusted for inflation?
No. All wages are nominal. Inflation affects both percentiles but is not removed from any figure shown.
