The US tech job market in August 2026, read from 457,191 job postings
We run a service that applies to jobs for people, so we already read a lot of job postings. 457,191 of them are live in the US right now, pulled straight from 64,697 companies' own career pages. We had never actually sat down and counted what they ask for.
Most of that is not tech. It's a general job board — nurses, retail associates, physical therapists. 22,362 postings fall into the eleven technical roles below, just under 5% of the total.
So we did. Every month from now on, at /reports.
Here is what August looks like.
The number nobody puts in the headline
Between 0.7% and 4.9% of technical postings are open to someone at entry level, depending on the role.
Not 30%. Not 15%. For backend engineer it's 0.7%. Software engineer, the biggest category by a mile at 11,664 live postings, is 3.1%.
Every career guide tells students to build projects and polish a résumé. Fine, do that. But the thing actually limiting a new graduate isn't effort or résumé quality. It's that out of 11,664 open software engineering jobs, 360 will consider you at all.
That changes what you should do. It's a volume problem before it's a quality problem, and the ratio is bad enough that applying to fifteen carefully chosen roles is not a strategy, it's a rounding error.
Data scientist is the exception worth knowing about. 4.9% entry level, the highest of any role we track. Data analyst is next at 3.6%, and it has the lowest median pay at $127k. If you're trying to get in the door, those are where the door is widest.
Which skills postings mention
One thing to get straight before the table, because it changes how you should read every number in it.
We count skills as mentioned, not as required. The extraction gives us one list per posting and doesn't separate "5+ years of Python required" from "Python a plus". Both land in the same bucket. So when we say 67% of ML engineer postings name Python, that is not 67% requiring it, and we're not going to pretend otherwise. Making the stronger claim would need a different extraction, and we don't have one yet.
It's still the useful number. Just read it as how often something comes up, not as a gate.
Top five skills per role, by share of postings that name them:
| Role | Live | Most-asked skills |
|---|---|---|
| Software Engineer | 11,664 | python, c++, aws, distributed systems, typescript |
| DevOps / SRE | 2,057 | kubernetes, terraform, python, aws, ci/cd |
| Security Engineer | 1,468 | incident response, python, aws, cloud security |
| Data Scientist | 1,461 | python, machine learning, sql, statistics |
| Data Analyst | 1,184 | sql, python, data analysis, tableau |
| Data Engineer | 1,145 | sql, python, data modeling, etl, dbt |
| Full-Stack | 872 | react, typescript, python, javascript |
| AI Engineer | 791 | python, llm, machine learning, rag |
| ML Engineer | 764 | python, machine learning, pytorch, deep learning |
Python is in the top two for eight of the eleven roles. It shows up in 5,083 postings overall, twice as often as anything else.
The AI engineer list is the one that surprised us. rag appears in 27.5% of AI engineer postings and prompt engineering in 19.2%. Two years ago neither was a thing you could put on a résumé. Now roughly one in four AI engineering jobs names retrieval augmented generation specifically.
Worth saying plainly: a skill in 5% of postings is not a prerequisite, it's a differentiator. Learn the top of the list first. We put the full ranked list on each role page rather than a curated top ten, because where a skill sits on that curve is the actual useful information.
Pay, and why our numbers look high
Median disclosed pay, all levels:
| Role | Median | Postings disclosing |
|---|---|---|
| ML Engineer | $225,000 | 13.1% |
| AI Engineer | $225,000 | 15.8% |
| Software Engineer | $192,500 | 18.1% |
| Data Scientist | $191,500 | 15.1% |
| Data Engineer | $168,000 | 11.2% |
| Data Analyst | $126,500 | 14.0% |
Look at the right-hand column before you quote the left one.
Only about one posting in seven states a salary at all. That minority isn't a random sample. It leans heavily toward states with pay transparency laws, and toward companies well funded enough to advertise a number they're happy about. Our corpus also skews senior. For ML engineer, 40% of postings are senior and another 22% are staff.
Other published figures put ML engineer around $133k. We're not saying they're wrong. We're measuring a different thing: what employers publish, not what the average job pays. If you're negotiating, the $190k to $255k middle half is a reasonable anchor for a senior role at a company that discloses. It is not what a first job pays.
For what it's worth, entry level software engineer, where we have enough disclosed salaries to say anything at all, has a median of $131,500 and a 10th percentile of $80,000. That's a real spread and it's the honest picture.
For most roles we don't publish an entry level band, because there weren't 30 postings with a disclosed salary to build one from. We'd rather leave it blank. A median built on four rows renders exactly like a real one, and you'd have no way to tell.
Where the jobs are
San Francisco and Silicon Valley together take 37.1% of ML engineer postings. For AI engineer it's 32.4%, with New York second at 15.8%.
Remote is near the top of the list for almost every role. 17.2% of ML engineering postings, 15.9% of data science, 24.8% of backend.
One caveat on that, because we checked it against Indeed Hiring Lab and we don't match. They put fully remote tech roles at around 8% in Q1 2026. We're more than double that. Some of it is real, our corpus is read from tech employers' own career pages and those skew remote-friendly compared to a general job site. Some of it is probably us, reading "remote-friendly" in a description as remote where they'd count only fully remote listings. Treat our remote numbers as an upper bound until we've pinned it down. About 40% of postings never state an arrangement at all.
The concentration matters most for the AI roles. If you want to do AI engineering and you don't want to be in the Bay Area or New York, you're competing for a much smaller pool than the headline count suggests.
Sponsorship, which nobody publishes at posting level
39.4% of ML engineer postings are at companies that show up in US government H-1B approval records for the last three fiscal years. Data scientist 29.4%, AI engineer 28.1%. At the other end, data analyst is 16.2%.
We had these numbers higher in an earlier draft, and the correction is worth explaining because it's the kind of thing that's easy to get away with.
Our database has two sponsorship flags. One means the employer appears in the government filings. The other means a job description said the company sponsors, with nothing behind it. We were adding them together and describing the total as "verifiable history from public filings". For AI engineer that turned 37.1% into 43.4%, and the extra six points were not verifiable at all.
They're separate now. Between 0.9% and 4.8% of postings per role sit in that second bucket, and we report it as what it is: the employer says so, we couldn't confirm it. Sometimes that just means they file under a different legal name.
Either way it's a fact about the company, not a promise about the role. A company that sponsored last year can absolutely decline to sponsor this job.
Still, if you need sponsorship, this flips the order of operations. Filter by employer first, then look at their openings. Applying broadly and asking about visa status in the third interview is how people burn two months.
One more thing on that, and it's bigger than we expected. Security clearance requirements run from 1.8% of backend postings up to 15.3% of DevOps and SRE roles. Security engineer is 14.8%. Software engineer, 13.7%.
Clearance means US citizenship in practice. So for infrastructure and security work, roughly one posting in seven is closed to you no matter how sponsorship-friendly the company is, and that's on top of the entry level filter. Worth screening out at the start rather than at the final stage.
We checked ourselves against people who do this properly
You shouldn't take a number from a company that also sells you something. So here's ours next to sources you can check.
Indeed Hiring Lab published seniority data for Q1 2026. They put entry level at 4.5% of software development postings. We get 3.1% across every posting we hold.
Those are two completely different pipelines. They read their own job site, we read employer career pages directly. They define entry level as zero to one years of required experience, we read it off the job title. Landing within a point and a half is about as good as external validation gets for a number nobody else publishes, and entry level is the case a job title captures best — a role open to a new graduate nearly always says so in the title.
We had a second comparison here and we've had to withdraw it. An earlier version claimed our senior-and-above share was 69.0% against their 69.3% and called it corroboration. That figure came from the subset of postings whose full descriptions we'd read, where a model can tell that a bare "Software Engineer" is really a mid or senior role. Now that we count every posting, seniority comes from the title alone and 40.8% of titles carry no level word at all, so our senior share reads 53.4% and simply isn't measuring the same thing any more. We'd rather say that than quietly keep the flattering number.
The Bureau of Labor Statistics puts the 10th percentile for software developers at $79,850. Our entry level 10th percentile came out at $80,000. Different populations, near identical answer.
And where we don't agree, which matters more:
BLS puts the median software developer wage at $133,080. We said $192,500. That's 45% higher and it isn't a contradiction, it's a different measurement. They survey what developers across the entire country actually earn, every industry, every company size. We read the midpoint of an advertised range, from the one posting in six that states one, at employers clustered in pay transparency states, in a corpus that skews senior. Their number is also from May 2024.
If you want to know what the job pays, believe BLS. If you want to know what a well funded company will advertise for a senior role right now, that's ours. Don't mix them up, and be careful quoting our median in a negotiation without saying which one it is.
How we counted, and what we got wrong first
Everything above comes from postings read directly from employers' own career pages. Not from a jobs aggregator. That matters more than it sounds: one role reposted across five job sites is one posting to us, five to a scraper. Duplicate inflation is most of why job market numbers disagree with each other.
A model reads each full description once and pulls out the structured facts it states. Skills, years, seniority, pay range, work arrangement. We keep the facts, not the text.
Three things were wrong in the first draft and we caught them before publishing:
An entry level ML engineer median of $163,000, computed from exactly one posting. We now publish nothing below 30 disclosed salaries.
"Associate Director of Data Science" was being counted as junior, because the code checked for the word "associate" before it checked for "director". On its own that dragged an entry level median up to $250,000.
And our own compliance check flagged every AI lab in the dataset as a policy violation, because their names collide with terms we're not supposed to publish. They're employers. They're supposed to be there.
We mention these because the same class of error is sitting in other people's numbers, quietly. A median built from one row looks identical to a median built from a thousand.
Read the rest
Eleven roles, each with the full skill ranking, seniority breakdown, pay percentiles, locations, who's hiring, and sponsorship data. Plus 140 individual skill pages, so you can check what learning Rust or dbt or Terraform would actually qualify you for before you spend three months on it.
All eleven reports, updated monthly.
Free to read, free to cite. If you use the numbers, link the month. Hiring data without a date on it is worse than none.