You can't out-pay the AI/ML engineer shortage. Google's published range for a machine learning engineer tops out near $743,000, per self-reported data on Levels.fyi. You can out-execute it. Benchmark compensation before you write the job description, source passive candidates instead of posting, and compress your time-to-offer. Scarcity punishes slow processes far more than it punishes small budgets.

## The AI Talent Gap Statistic Everyone Quotes Doesn't Check Out

If you've searched for AI hiring advice in the past year, you've seen this: 1.6 million open AI roles against 518,000 qualified candidates, a 3.2:1 gap. It doesn't survive a citation check.

Follow the chain. A recruiting blog cites another recruiting blog, which cites a staffing and employer-of-record vendor, which attributes the numbers to a "LinkedIn Global Talent Insights Report" with no URL, no publication date, and no trace it exists. The companion figures fare no better. The widely repeated "AI job postings grew 163%" is attributed to a Gloat analysis that does not contain that number. The "top candidates are gone in 10 days" line traces to a blog post with no stated methodology or sample. AI-specific time-to-fill figures range from 25 days to 114 days depending on which vendor you read, and no two agree.

The shortage is real. Those numbers are not. Here is what actually holds up.

## What the AI/ML Hiring Data Actually Shows

Demand for AI skills is growing several times faster than the supply of people who have them, and that much is documented by sources with published methodologies.

ManpowerGroup's 2026 Global Talent Shortage Survey covered 39,000 employers across 41 countries. Its headline finding: for the first time, **AI skills became the hardest capability to find globally**, overtaking traditional engineering and IT. AI model and application development ranked hardest to fill at 20%, with AI literacy right behind at 19%. (The often-misquoted "72%" from the same survey is the share of employers struggling to fill roles *overall*, and it's down from 74% the prior year. It's not an AI-specific number.)

The posting data agrees. The 2026 Stanford AI Index, built on Lightcast's dataset of billions of US job postings since 2010, found:

| Signal | Figure |
|---|---|
| US job postings mentioning AI skills | 2.5% of all postings, up 55% year over year |
| Growth over the decade | roughly 300% |
| Most-demanded specialized AI skill | Python, in 258,674 postings |
| Agentic AI skills | 0.06% to 0.23% of postings in one year, roughly 90,000 postings |

The decoupling from general engineering is the part that matters most for your req. The Pragmatic Engineer, working from TrueUp data, reports that **AI engineering openings at top companies grew about 60% year over year while general software engineering openings grew about 7%**. LinkedIn's 2026 Jobs on the Rise ranks AI Engineer as the fastest-growing job title in the US.

### The honest supply-side picture

Since the "518,000 qualified candidates" figure is fiction, use the best primary supply signal instead: new AI PhDs awarded in the US and Canada rose **22% between 2022 and 2024**, per the Stanford AI Index. Meanwhile the share of those graduates going into industry rather than academia *fell*, from a peak near 77% to about 63%.

Two clocks, running at very different speeds. Demand for AI skills in postings grew 55% in a single year. The closest proxy for specialist supply grew 22% across two years, with a shrinking slice heading to industry.

We're deliberately not turning that into a ratio. The two figures measure different things over different windows, and manufacturing a decimal from them is exactly how the 3.2:1 number got invented in the first place. The shape is enough: you are hiring into a market where demand is compounding roughly five times faster than the pool.

## Why Post-and-Pray Fails for Scarce Roles

Posting reaches people who are looking. The specialists you want aren't looking, and their current employer is spending real money to keep it that way.

Lightcast analyzed more than 1.3 billion job postings and found that **postings requiring AI skills carry a 28% salary premium, roughly $18,000 more per year**. Read that from the other side of the table: that premium is your target candidate's retention budget, already funded, already paid. Structurally, that is why the person you want will never see your job ad.

This explains the thing that confuses most founders. Your backend req fills fine. Your ML req produces either silence or a flood of unqualified applications. Same job board, same company page, same recruiter. The difference isn't your job description. It's that the backend market has a healthy pool of people between roles, and the AI specialist market largely doesn't.

You'll find plenty of articles quoting precise passive-candidate percentages: 70%, 75%, 87%, 95%. They cite each other, contradict each other, and shift definitions between citations. Skip the number. The structural argument stands on the demand and premium data alone.

## You Can't Out-Pay Big Tech, So Here's What You Can Win

First, the bad news, stated plainly, because pretending otherwise wastes your time. Self-reported packages on Levels.fyi put Google machine learning engineers between $199,000 (L3) and $743,000 (L7), with a median near $302,000. Apple's ML engineer range runs $171,000 to $528,000, median around $386,000. Frontier labs go higher.

A seed or Series A startup is not winning that comparison. Accept it and stop spending energy there.

Three things are genuinely winnable, and all three are process, not budget:

1. **Being first.** The candidate who ignores 40 recruiter messages a month will read the one that clearly understands what they built. First credible contact beats fortieth generic contact.
2. **Having the number ready.** Offers stall when nobody on your side knows what the role is worth. That stall is where scarce candidates get closed by someone else.
3. **Deciding in days.** A five-person startup can go from final interview to signed offer in 72 hours. A company with a hiring committee and a quarterly comp calibration cycle structurally cannot. Big Tech's process is a tax it pays. Most startups accidentally replicate that tax instead of exploiting it.

The rest of this article is the four-step version of that.

## Step 1: Identify Which Reqs Are Actually Scarce

Not every engineering req needs this treatment, and running the scarcity playbook on all of them will exhaust a small team by week three.

A req is scarce when at least two of these are true:

- **Qualified inbound is near zero** after four to six weeks, while your other open roles fill normally.
- **Every strong candidate is holding competing offers** rather than choosing between you and staying put.
- **Compensation comes up in the first conversation**, unprompted, and the candidate's number is above your posted band.
- **Your best applicants withdraw mid-process** rather than being rejected.

If none of that is happening, your funnel works and your problem is somewhere else, probably the job description or your evaluation loop. Fix that instead. This playbook costs real hours, and it should be pointed at the one or two reqs that genuinely need it.

## Step 2: Benchmark Compensation Before You Write the Job Description

If you don't know the number before the req goes live, you'll discover it during negotiation, which is the most expensive possible moment to learn it.

The strongest causal evidence here is NBER Working Paper 34480 (Arnold, Quach and Taska, November 2025), a difference-in-differences study of US state pay-transparency mandates across three datasets. Employers increased the share of postings containing salary information by **30 percentage points**, and wages rose **1.3% to 3.6%**, with the mechanism identified as increased labor-market competition.

Now the part most articles leave out, because it's inconvenient: the same paper found **no effect on the number of postings, employment levels, pay dispersion, or skill and education requirements**. Posting a range does not get you more applicants. Anyone telling you it lifts application volume by 44% is quoting a vendor survey, not a study.

So the case for benchmarking first is not "ranges attract candidates." It's narrower and more useful:

- A published range is now table stakes. Indeed Hiring Lab put the share of US postings listing pay at **57.8%** as of September 2024, up from 52.2% a year earlier.
- A defensible number ends negotiation stalls. "Here is the market median and here is where you sit in it" closes conversations that "let me check with my cofounder" reopens.
- Getting the band wrong wastes the scarcest thing you have. Six weeks of pipeline built against a band that is 20% below market is six weeks you don't get back.

Public AI compensation data spans $150,000 to over $1,000,000, and none of it tells you which band applies to a Series A company in your market. Salary surveys lag by six months or more, which in this market is a different market.

This is where [Kit's compensation research](/blog/compensation-intelligence-embedded-recruiting-workflow) fits. It scrapes live job boards rather than running surveys, and it carries a Machine Learning Engineer role cluster alongside Data Scientist, Data Engineer and 20 others. You get min, max, median, p25 and p75, filterable by region, experience level, employment type and primary technology, so you can pull the Python-weighted senior band rather than an average across everything.

One honesty note, because it matters more than the pitch: the tracked boards are currently JustJoin, NoFluffJobs, BulldogJob, TheProtocol, SolidJobs, Skillshot.pl and BuiltInLA. That's European coverage, weighted toward Poland, plus one US board. It's live data for tracked roles and regions, not a US-wide or global benchmark. If you need boards we don't track yet, subscribers can request them. The US figures in this article come from Levels.fyi and Lightcast, and they are theirs, not ours.

<div class="blog-inline-cta">
  <p><strong>Settle the number before the req goes live.</strong> Pull median, p25 and p75 for the Machine Learning Engineer cluster, filtered by region and seniority, from live job-board data instead of a six-month-old survey. The compensation add-on is $29/month with a 24-hour free trial.</p>
  <p><a href="/users/sign_up">Start your free trial</a></p>
</div>

## Step 3: Source Passively Instead of Posting

Outbound is the only channel that reaches people who are not looking, and the verified mechanics of it favor precision over volume.

The numbers worth operating on:

- **Targeting beats volume.** Belkins studied 16.5 million emails across 93 domains and found one contact per company produced a **7.8% reply rate** versus **3.8%** when contacting 10 or more people at the same company. Cold email averaged **5.8%** replies in 2024, down from 6.8% the year before.
- **Short beats long.** LinkedIn's own analysis of tens of millions of recruiter InMails found individually sent messages got **15% more responses** than bulk sends, messages under 400 characters ran **22% above average**, and messages over 1,200 characters ran **11% below**.
- **One follow-up, not three.** A first follow-up lifted top performers' replies by up to **49%**. The third email drew about **20% fewer** responses than the first.

Personalization is what buys the reply, and it's also the first thing dropped around message 20 when a founder is doing this between customer calls. Kit's [outreach campaigns](/blog/personalized-recruiter-outreach-reply-rates) run a research step on each prospect before drafting, so the personalized version is the default path rather than the disciplined one. Sequences handle the single follow-up. Nothing sends without human approval. And when reply rates fall under 1%, campaign diagnostics flag it as a targeting or messaging problem instead of leaving you to guess for another two weeks.

### Start with the candidates you already rejected

Before you buy a single new prospect list, look at the warmest scarce-role pool you own: people who applied to you, cleared your bar, and were turned down for reasons that had nothing to do with capability. Wrong timing. Headcount froze. A slightly stronger finalist took the seat.

They already know your company, which collapses the entire top of the funnel. Most teams have never looked, because the data sits in an ATS nobody queries after a req closes. We wrote about this pattern in [talent rediscovery](/blog/talent-rediscovery-silver-medalists-ats-mining).

Kit does this as a single cross-domain lookup. `outreach_find_silver_medalist_matches` scans a campaign's prospect list against your account's previously rejected applications and surfaces the overlap. It works because prospects and candidates encrypt and normalize email identically, so the match happens without exposing anything across accounts. It's the one sourcing move in this article that costs nothing and takes minutes, and no competing tool combines the two datasets to do it.

Worth saying plainly: this surfaces personal data from your hiring records to whoever runs outreach. Treat those records with the same care you would want applied to your own.

## Step 4: Compress Time-to-Offer

You cannot know how long the market gives you. You can measure your own stage-to-stage latency, and that is the only number here you control.

For a general benchmark, SHRM's 2025 benchmarking puts average time-to-fill at roughly 42 to 47 days, with screening and interviewing each averaging 8 to 9 days. There is no reliable AI-specific figure, and any article quoting one is quoting a vendor. But a six-week process against a candidate holding three conversations is not competitive, whatever the market average happens to be.

Measure four intervals in your own funnel:

1. Application or reply to first response
2. First response to first interview
3. Last interview to decision
4. Decision to offer delivered

Interval three is almost always the leak, and it's almost never a decision problem. It's two reviewers who haven't submitted feedback. Kit's stage-gated pipelines expose exactly that: pending decisions and outstanding reviews are queryable, so "we're waiting on Sam" becomes visible on day one instead of day nine. Process templates let you stand a scarce-role pipeline up once and reuse it, so req number two doesn't get rebuilt from scratch.

Compression means deleting redundant stages and dead calendar time. It does not mean skipping evaluation. If your loop has two separate system-design conversations covering the same ground, cut one. If it has a take-home that half your interviewers never read, cut it or read it. We've written at length about [structured scorecards](/blog/skills-based-hiring-structured-scorecards); speed and rigor are not opposed, and the fastest processes are usually the ones that decided in advance what they were measuring.

## When Not to Run This Playbook

Three honest caveats, because a strategy that only works when everything cooperates is not a strategy.

**Outbound is sustained work.** Sourcing well is a habit, not a sprint. Teams that half-commit get sub-1% reply rates, conclude "outbound doesn't work," and go back to posting. Budget the hours honestly or don't start.

**Some reqs should not be filled at market price.** If the scarce role's real market rate breaks your compensation band, matching it may distort your entire team's pay structure for one hire. Restructuring the role is often the better answer: a contractor for the initial build, a fractional specialist, or a strong generalist paired with good tooling. That decision is much easier to make when you benchmarked in step two, which is another argument for doing it first.

**Speed is not sloppiness.** If compressing your loop means you stop taking notes, stop comparing candidates against the same criteria, or stop involving the people who will work with the hire, you haven't gotten faster. You've just moved the cost to month four.

## Build a Pipeline for Scarcity With Kit

The AI/ML engineer shortage is real, and the numbers most people quote about it are not. What holds up: AI skills are now the hardest capability to find globally, AI-skill postings grew 55% in a year while the specialist pool grew 22% over two, and AI engineering openings at top companies grew about 60% year over year against 7% for general software engineering. You will lose most head-to-head compensation comparisons against companies paying $300,000 medians.

You can still win, on the ground where process beats budget: know your number before the req goes live, reach people who are not looking, start with the ones who already cleared your bar, and decide in days.

Kit runs all four in one place. Live compensation data for the Machine Learning Engineer cluster, with medians and percentiles by region and seniority. Researched outbound campaigns with human approval and diagnostics that tell you when targeting is off. Silver-medalist matching against your own rejected applications. Stage-gated pipelines that make review latency visible before it costs you the candidate.

If you're hiring for one of these roles right now, the two role-specific companions are worth reading next: [how to hire a machine learning engineer](/blog/how-to-hire-machine-learning-engineer) and [how to hire an AI engineer](/blog/how-to-hire-ai-engineer). For the broader lean-team argument, see [hiring specialists, not generalists](/blog/hire-specialists-not-generalists-lean-teams-2026), and for the equity side of the compensation conversation, [founding engineer salary and equity in 2026](/blog/founding-engineer-salary-equity-2026).

[Start a free trial](/users/sign_up) and pull your first salary band before you write the next job description.
</content>