The data
Every posting looks different. The asks aren't.
We coded every posting we read against 60 technical skills. Across the whole market, only 5 skills clear half of postings. 20 never reach 15%. Companies aren't asking for everything. They're asking for the same short list, almost everywhere.
That list is finite, and it's learnable. The only real question is which version of it your target job uses, and the order to learn it in.
n=253 · read in full · whole-market shares shown · measured 2026-07-24
Which short list? Depends on the job you're chasing.
AI Engineer and ML Engineer share a core of evaluation discipline, Python and production reliability, then diverge completely. One integrates and orchestrates models; the other trains and serves them. Apply to both with one resume and you read as underqualified to both.
We measured both markets separately, so you don't have to guess which list is yours.
both markets measured separately, same 85-item taxonomy · AI n=178 vs ML n=144 · measured 2026-07-24
View as table
| Skill | AI Eng | ML Eng |
|---|---|---|
| LLM API integration | 75.3% | 13.2% |
| Python | 70.2% | 77.1% |
| Agentic systems / agent architecture / orchestration | 68.5% | 25.7% |
| Scalability / throughput / latency optimization | 61.8% | 66.7% |
| Model evaluation & eval discipline | 59.0% | 59.0% |
| Reliability / production-grade / fault tolerance | 51.1% | 31.2% |
| RAG — retrieval-augmented generation | 43.3% | 14.6% |
| Security, privacy & compliance | 42.1% | 20.1% |
| Prompt engineering / design / optimization | 40.4% | 13.2% |
| General monitoring / logging / alerting / SRE | 38.2% | 50.0% |
| Guardrails / AI safety / hallucination mitigation / red-teaming | 32.6% | 23.6% |
| Software engineering fundamentals | 29.8% | 29.9% |
| Testing — unit, integration, e2e, TDD | 29.2% | 32.6% |
| MLOps — deployment, serving, versioning, registry | 25.3% | 68.1% |
| Fine-tuning / PEFT / LoRA / RLHF / distillation | 24.7% | 26.4% |
| Data pipelines & ETL | 24.7% | 60.4% |
| Systems languages — Java, C++, Go, Rust | 24.2% | 37.5% |
| Classical ML / statistics | 15.2% | 43.1% |
| PyTorch / TensorFlow / JAX / Transformers | 14.0% | 56.2% |
| MCP (Model Context Protocol) | 12.4% | 3.5% |
| GPU / CUDA / inference optimization / vLLM | 11.8% | 36.1% |
| Synthetic data / dataset curation / labeling | 9.0% | 27.1% |
| Deep learning & transformer architecture knowledge | 7.9% | 43.8% |
| Recommendation / ranking / search relevance | 3.9% | 23.6% |
| Computer vision (CV-specific, non-LLM) | 1.7% | 27.8% |
Measured again · 2026-07-27
Measured again, three days later, by job title this time.
Three days after the first measurement we went back for 493 more live postings, this time by job title: AI Engineer, GenAI Engineer, Agentic AI Engineer, Senior AI Engineer, LLM Engineer. Every full description pulled from the hiring systems companies actually post to, and read whole. Each role family is measured with its own skill list, so the numbers are shown per role, never blended.
Where tracked, production deployment of AI runs 72% (AI Engineer, n=102) to 90% (Senior, n=100) . Having shipped is effectively the job description.
| Skill · % of postings | AI Engn=102 | GenAIn=100 | Agenticn=111 | Seniorn=100 | LLMn=80 | Pooled |
|---|---|---|---|---|---|---|
| Python | 59% | 76% | 60% | 69% | 79% | 68% |
| Agents / agentic systems | 71% | 72% | def.† | 76% | 39% | 66%* |
| Observability / monitoring | 37% | 33% | 50% | 64% | 25% | 43% |
| Evals / LLM evaluation | 26% | 43% | 42% | 41% | 60% | 42% |
| RAG / retrieval | 40% | 66% | 26% | 42% | 31% | 41% |
| AWS | 25% | 64% | 24% | 41% | 28% | 36% |
| Prompt engineering | 28% | 36% | 35% | 35% | 25% | 32% |
| OpenAI models/APIs | 26% | 42% | 25% | 24% | 18% | 27% |
| PyTorch | 15% | 27% | n/t | 20% | 51% | 27%* |
| Guardrails / safety controls | 18% | 41% | 32% | 28% | 12% | 27% |
| GCP | 16% | 44% | 23% | 31% | 18% | 26% |
| Anthropic / Claude | 29% | 32% | 20% | 31% | 15% | 26% |
| Azure | 15% | 54% | 15% | 28% | 16% | 26% |
| Vector databases | 21% | 50% | 14% | 27% | 12% | 25% |
| CI/CD | 20% | 48% | 17% | 26% | 11% | 25% |
| Fine-tuning | 17% | 33% | 17% | 29% | 25% | 24% |
| Docker / containers | 14% | 45% | 17% | 25% | 18% | 24% |
| Tool / function calling | 17% | 13% | 36% | 25% | 14% | 22% |
| Kubernetes | 16% | 38% | 15% | 22% | 16% | 22% |
| LangChain | 16% | 42% | 9% | 26% | 14% | 21% |
| Embeddings / semantic search | 26% | 44% | 10% | 14% | 6% | 20% |
| AI coding tools (Claude Code / Cursor / Copilot) | 17% | n/t | 22% | 21% | n/t | 20%* |
| MCP (Model Context Protocol) | 15% | 14% | 21% | 15% | n/t | 16%* |
| LangGraph | 15% | 26% | 6% | 22% | 5% | 15% |
| Multi-agent systems | 8% | 16% | 22% | 19% | 9% | 15% |
| LlamaIndex | 9% | 17% | 5% | 11% | 5% | 9% |
| CrewAI | 7% | 8% | 5% | 5% | n/t | 6%* |
n=493 · read in full · one count per posting · measured 2026-07-27· n/t = not tracked in that role's lexicon (not zero) · †definitional to the Agentic sample, excluded from its pooled figure · *pooled only across the roles that tracked it · sources: public ATS APIs (Greenhouse, Ashby, Lever, Workable, Workday, SmartRecruiters) + HN Who-is-hiring Jul 2026
