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

This page was wrong until 25 September 2026, and it is corrected at the address that carried the error. It said eleven careers had a measured time to enter, and five cleared both bars. Ten of the eleven were the book’s own inferences, attributed to records that were cited for context and do not state them. The eleventh printed a six-to-twelve-week training programme as six to twelve months. The correction, and what it changes, is at the bottom of this page.

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 looked up an energy grid software engineer, and a government software engineer. Three unrelated industries. The site would not open those pages for me directly, so I read its answers where a search engine shows them, dated across three 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 opened the one page it would show me. 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 16
A time-to-entry figure at grade 2 or better 0
Both 0

I had expected about two-thirds to clear it. 46 of 46 did not. Every one of them failed on time to enter, and thirty on pay.

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 154 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 46
What it pays 30
How you get in at all 24

Twenty-two of the 154 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 none of these computing careers is there a published figure, with a stated method, for how long it takes to enter. 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. Two files, both CC BY, neither needing a signup.

role-index.csv holds the denominator. Its covered_by column names the profile each role title routes to. Ignore the rows reading not profiled and count the distinct names left: 46 careers.

gaps.csv holds the numerators. Every gap carries the career it belongs to. Count the distinct careers where what is pay: 30. Do the same for entry time: 46. Against 46 that leaves 16 and none clearing each bar.

Now take both of those lists away from the roster. Nothing remains. That is what “both” means, and you can falsify it in a few minutes with a text editor.

The book’s own download adds figures.csv, which goes one step further. Its in_source column says, for every figure, whether the number is in the record it cites. Where it reads no, the book worked the figure out for itself, and such a figure never counts towards either bar.

The book’s own profile table is not published, because that table is the product. It is also not needed here. The roster it holds is the same 46 you just counted, name for name, and a gate checks that on every build.

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. 46 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 every computing career in this book, 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. I read the three specialist figures second hand, through search results, and only the general page directly. Treat it as a method to repeat rather than a fact to take from me. That is the whole point of it.

The correction

Until 25 September 2026 this page’s table read 17, 11 and 5, and it named the five careers that cleared both bars. The time-to-enter figures behind ten of those eleven were marked in the book’s own data as inferred rather than read from the record they cited. The gate that counted the bars never read that mark, so each inference kept the grade of a record that did not contain it. The eleventh took a training programme of six to twelve weeks and printed it as six to twelve months.

The book had already applied the right rule once, to one career, and called the pattern an inference wearing a survey’s grade. It now applies it to every figure, and the build refuses the pattern. The correction is in the book’s revision log, edition 1.0.1.

Part I 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.