Grade One

Professors are measured by rank. Software engineers by one occupation code.

Here is an exercise that takes about a minute. Do it in another tab before you read the rest of this page.

Ask a large salary site what a precision agriculture software engineer earns in the United States. Write the number down.

That is what I did while researching a book on computing careers. Then I asked the same site about an energy grid software engineer. Then a government software engineer. Three unrelated industries, checked in three different months of 2026.

The site gave the same answer to all three. $147,524 a year. Not a similar number. The identical number, down to the last dollar. The middle band was identical too, $120,000 to $173,000 in every case.

Then I asked it a fourth question. What does a software engineer earn in the United States?

$147,524. Middle band $120,000 to $173,000.

A specialist figure that equals the general figure is not a specialist figure.

I cannot tell you what the site is doing internally, and I will not pretend to. What I can say is narrower and enough: the number it printed for precision agriculture software is no evidence that it measured precision agriculture software. The whole reason to look up a narrow job is to learn how it differs from the ordinary one, and on that question the figure is silent in a way that looks like an answer.

So I went looking for pay figures that were not doing that

I set the rule before the research and did not move it afterwards. A pay figure counted if it came from grade 3 or better on this book’s scale, and a time-to-entry figure from grade 2 or better.

Grade 1 is a body that measures things itself, publishes its method, and has nothing to sell you: government statistics offices, and academic surveys with published methods. Grade 2 is a large survey with a published method and a stated sample, run by somebody who does have a view. Grade 3 is a record of money that actually moved, checked by somebody with a reason to check: a wage filing signed under penalty of perjury, payroll data, an offer letter checked against a submission.

So the bar is not “somebody looked at a payslip”. Government statistics clear it comfortably, and they are the top of the scale rather than an exception to it.

Then I applied it to forty-six computing careers.

Careers, out of 46
A pay figure at grade 3 or better 17
A time-to-entry figure at grade 2 or better 11
Both 5

I had expected about two-thirds to clear it. 41 of 46 did not.

The obvious objection, which is right and does not rescue it

The Bureau of Labor Statistics publishes wages for software developers. It is graded 1 here — the best grade on the scale — and it is a real measurement of a real population. In May 2025 it counted 1,687,890 of them and published the distribution: $82,460 at the 10th percentile, $105,210 at the 25th, $135,980 at the median, $171,980 at the 75th, $214,670 at the 90th.

That is excellent data. It is also not a figure about a backend engineer, and the Bureau says so itself. The caveat on that record reads:

A SOC code holds everyone the survey classifies into it at every seniority and every specialism: 15-1252 folds backend, frontend, mobile, embedded, machine learning and platform engineers into one estimate.

There is no occupation code for a backend engineer. There is none for a site reliability engineer, a platform engineer, or a machine learning engineer either. To hand a backend engineer a pay figure from this source, you would give them a number covering 1.7 million people at every seniority and every specialism, and present it as though it described their job.

That is the thing the salary site did with precision agriculture. It is not better when a government statistic is the raw material, so this book does not do it. Where only the occupation-wide figure exists, the profile prints it with a dagger as a market reference and it does not count towards the bar.

Which is the actual difference

Not quality. Granularity.

The Computing Research Association has run an annual survey of doctoral computing departments for fifty-five editions, and 134 departments answered its most recent salary round. It reports medians by rank — assistant, associate, full, teaching — and splits public institutions from private ones.

So this book can say that a teaching professor in a United States public computer science department had a median nine-month salary of $108,176, effective 10 July 2025, and name the survey, the sample and what it leaves out. The all-institutions figure for the same rank is $114,344, and the difference between those two numbers is the kind of thing you can only see when somebody publishes at that grain.

Academia is measured at the level people actually work at. Software engineering is measured at a level that folds six specialisms and every seniority into one estimate. Both numbers are good. Only one of them answers the question a reader is asking.

And nobody runs a census of backend engineers. The organisations big enough to run one are selling training, placement, recruitment, or the survey.

What that adds up to

Evidence does not follow the money, or the headcount, or how much the work matters. It follows whether an institution exists whose job is to count you at the grain you work at.

Universities are counted that way because academia audits itself in public. Most other computing work is counted, if at all, either at the level of an occupation code that contains half the industry, or by somebody selling something that depends on the answer.

What was missing, counted

The absences were written down rather than filled in. There are 138 of them. The three largest categories are the three questions anyone choosing a career asks first.

Could not be established Careers affected
How long it takes to get in 35
What it pays 29
How you get in at all 24

Twenty-two of the 138 are marked closeable. A published source exists and nobody has compiled it. The rest are open questions about the world.

The first row is the one to sit with. For most computing careers there is no published figure, with a stated method, for how long it takes to enter them. That is the number every bootcamp and conversion course quotes implicitly when it tells you how many weeks it lasts.

Check the counts yourself

These numbers are the page’s own arithmetic, so do not take them from me. gaps.csv is CC BY and needs no signup. Every gap carries the career it belongs to.

Count the distinct careers on rows where what is pay: 29. Do the same for entry time: 35. Against 46 careers that is 17 and 11 clearing each bar.

Then check the five named above — industrial research scientist, Salesforce administrator, teaching-focused faculty, the doctorate-to-tenure-track path, the funded doctorate as a route abroad. None of them should appear in either list. That is what “both” means, and it is the one figure on this page you can falsify in a minute with a text editor.

One limit, stated plainly: the public export ships the gap register but not the full profile list, so you can reproduce 29, 35 and the five, and you cannot yet rebuild the roster of 46 from the download alone. That is a gap in what is published here rather than in the finding, and it is a fair thing to hold against the page until it is fixed.

Why print a failure rate

Because a book that reports what it found, and never what it looked for and could not find, looks exactly like a book that did not look.

The bar was fixed before the research. 41 of 46 failing it is a fact about the field rather than an embarrassment to trim. It also means something narrower than it may sound: those careers failed this book’s standard, not every standard. Plenty of people know roughly what a backend engineer earns. The claim is only that no source states it at that grain and shows its method.

That is still the useful direction. When somebody tells you it takes six months to become an X, you can ask whether any published source with a stated method says so. For most computing careers, none does.

Where this came from

Every count above is recomputed from the shipped data on each build, and the build refuses to publish a figure it cannot recompute. The gap register is browsable and downloadable as CSV and JSON under CC BY. The 200 graded source records are in the free source bibliography.

The wage distribution is oews-2025, graded 1. The academic figures are cra-taulbee-2026, graded 2 rather than 1 because it is a voluntary survey of departments that choose to answer. It covers doctoral-granting departments in the United States and Canada only, and its destination figures leave out graduates who did not report. That is a real hole and it is recorded as one.

One caution about the exercise at the top. The general software engineer page was the only one of the four I could open and read directly. Treat it as a method to repeat rather than a fact to take from me. That is the whole point of it.

The method is free to read, all six chapters, including the grading scale and this exercise.

If a figure here is wrong, the address is here, and the correction will be printed on this page.