Stanford's April 2026 Canaries Refresh: The 26-29 Dev Is the Arbitrage
Stanford's Canaries Dashboard refreshed through April 2026. The 22-25 cohort cratered, but the 26-30 slice is the real mispriced supply for sourcers.
Stanford's Digital Economy Lab pushed a fresh cut of its Canaries Dashboard about two weeks ago, extending the balanced ADP payroll sample through April 2026. The headline everyone keeps quoting is the cliff: 22-25 year-old software developers are still falling off it. The number nobody is pricing is the bucket sitting right above them.
If you are sourcing engineers in 2026 off the same Boolean strings you wrote in 2023, you are paying senior rates for a market that has quietly re-segmented under you. The arbitrage is the 26-29 cohort, and the dashboard refresh is the cleanest evidence yet that it exists.
What actually changed in the April 2026 refresh
The dashboard is built on a balanced sample of 25,000 firms that, in November 2022, employed 4.6 million workers matched to occupation codes, all running through ADP payroll. The April 2026 update keeps that panel intact and adds the latest months, which matters because it kills the "this is just a noisy quarter" objection that hung over the late 2025 readings.
The pattern held and widened. In the most AI-exposed occupations (software developers, customer service, accounting clerks), the dashboard shows large declines for the 22-25 cohort, modest declines for the next-youngest groups, and continued expansion for everyone 30 and over. The underlying Brynjolfsson, Chandar, and Chen paper pegs the relative employment decline for early-career workers in the most AI-exposed roles at 16% even after controlling for firm-level shocks. For software developers specifically, the 22-25 cohort is down nearly 20% from its late 2022 peak.
The counter-trend is what makes this interesting. ADP shows employment for workers 30 and over in the highest AI-exposure categories grew between 6% and 12% from late 2022 to May 2025. So the aggregate AI-exposed employment number is down a barely-there 0.2% year over year, while less-exposed work is up 0.1%. The age cut is doing all the work. If you read headlines, you saw nothing. If you read the dashboard, you saw a generation get rerouted.
The cohort label nobody quotes
Stanford's cohort buckets are: Early Career 1 (22-25), Early Career 2 (26-30), Developing (31-34), Mid-Career 1 (35-40), Mid-Career 2 (41-49), Senior (50+). Almost every piece of commentary anchors on Early Career 1, because the chart bar is dramatic and the "AI ate the juniors" story writes itself.
Early Career 2 is the one that should be on every sourcer's whiteboard. The dashboard shows this group with only "modest declines," which sounds like a non-event until you realize what it actually means: they are a shrinking supply being priced as if they are abundant juniors. The 22-25 group accounts for just 7% of employment in the sample at baseline. The 26-30 bucket is where the real volume lives, and it is the volume that already has two to seven years of production experience banked from a pre-freeze hiring environment.
These people were hired before the AI-driven slowdown that, per Stanford's own causality hedge, only becomes statistically robust after 2024. They shipped code into real codebases when teams were still staffing normally. The cohort behind them did not get that runway.
Why the experience curve matters in 2026
We have been here before. After 2008, hiring freezes carved a hole in the experience curve, and by 2012 companies were paying premiums for engineers with three to five years of tenure because almost none had been onboarded as juniors during the recession. Matt Garman at AWS has said the quiet part out loud: companies freezing junior hiring now are building the same pipeline gap, and it will bite in 3-5 years.
If that thesis is right, the engineer you hire today at a 2018-2021 graduation year is a 2028 senior at a 2026 mid-level price. SignalFire's State of Talent report found entry-level hiring at the 15 biggest tech firms fell 25% from 2023 to 2024. The 26-29 cohort that survived those cuts is now disproportionately concentrated outside Big Tech, sitting at Series B/C startups, regional consultancies, and second-tier platforms that nobody's ATS is configured to search.
Why your Boolean string is now actively self-defeating
Here is the second-order problem. The candidates know the market has trained recruiters to use "junior" as a negative keyword. DEV Community advice circulating among 2024-2025 grads is explicit: "Remove 'junior' from your LinkedIn headline, your resume, your intro email. Right now. Not because you should lie about your experience. But because the label triggers an automatic filter in most recruiters' heads."
So the candidates strip the label. The recruiters keep filtering for it (or against it). The result is that title-based Boolean strings have decoupled from the actual population they are meant to retrieve. "Software Engineer II" now spans graduation years 2017 through 2023. "Frontend Developer" with no seniority modifier is the default for everyone who read the same DEV post.
Title-based Boolean has decoupled from the underlying population. Graduation year is the only honest filter left.
The honest filter in 2026 is graduation year and tenure-since-first-engineering-role, not title. 2018-2021 grads are today's 26-29 cohort. That cut surfaces the people who learned to ship before Copilot was table stakes, who got real code review from humans on real PRs, and who are now sitting one rung below market because their LinkedIn says "Software Engineer" with no II, III, or Senior on it.
This is why we built Refolk: you describe the person in plain English ("US-based backend engineers, graduated 2018-2021, currently at Series B or C startups, shipped production Python or Go") and get a ranked shortlist that ignores title noise. The 26-29 arbitrage is a cohort query, not a keyword query, and cohort queries do not fit in a LinkedIn Recruiter filter pane.
What to actually do with this in your pipeline
Three concrete moves, in order of how fast you can ship them.
1. Rewrite the JD so it does not auto-reject the cohort
If your job description says "5+ years of experience" or "Senior Software Engineer," you are pricing yourself out of the 26-29 pool. Most of them have 3-6 years of real tenure but their last title bump got eaten by the 2023-2024 leveling freezes at their employers. Drop the seniority modifier from the title. Write the requirements as outcomes ("has owned a service in production for 12+ months") rather than years. You will get a wider top of funnel and a cheaper close.
2. Source on graduation year, not job title
Pull a list of 2018-2021 CS, math, and physics grads from your target geographies. Cross-reference against current employer size (you want sub-500-person companies, because that is where the SignalFire-displaced cohort landed). This is a one-paragraph Refolk query or a two-week Boolean exercise that still misses half the population because of the title-stripping behavior above. The median US software engineer salary sits around $130K per year per Indeed; the 26-29s in this cut are clearing in the $115K-$135K band, well under what a true senior would cost.
3. Anchor on augmentation-heavy specialties
The Anthropic Economic Index taxonomy that the Stanford paper leans on splits AI exposure into augmentation (AI helps the human do the work faster) and automation (AI replaces the task). Infrastructure, security, and data engineering skew augmentation. Pure front-end CRUD skews automation. If you are betting on the 26-29 cohort to be a 2028 senior, bias your sourcing toward the augmentation-heavy specialties where their experience compounds rather than erodes. OpenAI's recent move to start hiring junior software engineers even as Meta cut its AI division is a useful split-market data point: the labs hiring juniors are doing it for augmentation roles, not automation-exposed ones.
The credibility hedge that strengthens the thesis
Stanford is careful to note that the dashboard measures correlation, not causation, and that the AI signal only becomes statistically robust after 2024. Nela Richardson, ADP's chief economist, put it well at the dashboard launch: "AI hits at the task level. You really have to have the microscope ready on data."
For a recruiter, that hedge is a feature. It means the 26-29 cohort was hired before the AI-attributable hiring shift started, so whatever you believe about LLMs eating junior work, this group accumulated their first 3-6 years of experience in the old regime. They are a fixed-supply asset. Every quarter that passes without entry-level hiring recovering makes them rarer, not more abundant.
The 71.7% figure is the one to keep in your head when a hiring manager asks why you are pushing a non-Senior candidate at 2026 prices. The people who learned to ship before that benchmark went vertical are the last cohort to do so without AI as a crutch. That is not a moral argument, it is a sourcing argument: their skill stack was assembled under different conditions and cannot be reconstituted by hiring 2024-2026 grads later.
The window
Canaries Dashboard refreshes roughly quarterly. The next update will land in summer 2026 and almost certainly show the same pattern, at which point this stops being arbitrage and starts being consensus. The recruiters who move first get the 26-29s at mid-level comp. The recruiters who wait for a Bloomberg article get them at Senior comp, if they get them at all, because by then OpenAI, Anthropic, and every late-stage infra startup will have figured out the same cohort math.
If you want to see the supply against your specific filters before the next refresh lands, the fastest path is a plain-English query against Refolk and a comparison of the 2018-2021 grad count to the 2022-2025 count in your target geography. The ratio is usually shocking, and the comp delta between the two cohorts is usually larger than the productivity delta. That gap is the trade.
FAQ
Isn't the Canaries Dashboard just correlation, not causation?
Yes, and Stanford says so explicitly. The AI signal is only statistically robust after 2024 once you include the broadest controls. For sourcing purposes that hedge actually helps: it means the 26-29 cohort accumulated their early-career experience under pre-AI hiring conditions, which is exactly what makes them a non-replicable supply now. You do not need causation to act on the cohort gap, you just need the gap to be real, and the April 2026 refresh confirms it is.
Why focus on 26-29 instead of 30-34, where employment is actually growing?
The 30-34 bucket is growing because demand is real, but those candidates are already priced as mid-career and have established comp expectations. The 26-29 cohort sits in the "modest decline" zone of the dashboard, which means employers are still treating them as fungible juniors even though the underlying supply is contracting. That mispricing is the entire trade. Once you cross into Developing (31-34), the market knows what they are worth.
How do I actually search by graduation year if LinkedIn does not expose it cleanly?
LinkedIn's education fields are inconsistently filled and the seniority filter is a blunt instrument. The workaround is to source on inferred graduation year by combining degree, school, and first-job start date, then cross-reference against current title and employer size. That is a multi-step query most ATS tools cannot express. Natural-language sourcing tools like Refolk handle it as a single prompt, which is the main reason we keep recommending the cohort cut over the title cut.
What about candidates who never went to college? Does the graduation-year proxy break?
Partially. For bootcamp grads and self-taught engineers, use "years since first engineering job title" instead of graduation year. The cohort logic still holds: anyone who started their first engineering role between 2018 and 2021 got the same pre-freeze runway, regardless of how they got there. If anything, the self-taught 26-29s are even more underpriced because they get filtered out of degree-gated searches by default.