The Anthropic Kernel Path
A no-shortcut curriculum to become a performance / GPU kernel engineer at Anthropic: the people who write the kernels, compilers, and serving stack that make Claude possible.
Written 2026-08-18 from primary sources (Anthropic careers, Greenhouse reqs, Tristan Hume's take-home writeup, published papers). This file is the spine.
Three platforms, stated Oct 23, 2025: Anthropic trains and serves Claude on Google TPUs, Amazon Trainium, and NVIDIA GPUs (expanding Google Cloud TPUs). A kernel that is correct on H100 and wrong on TPU is a production incident.
The public kernel/numerics look: A postmortem of three recent issues (Sep 17, 2025) — routing bug, TPU output corruption, approximate top-k XLA:TPU miscompilation (bf16 vs fp32). Sampling correctness is performance.
What this is not
This is not "learn transformers in 8 weeks." It is not prompt engineering. It is not a bootcamp. Anthropic's own hiring page says they want people who have done something impressive, not people who collected certificates. Half their technical staff had no prior ML experience. Several of their best performance engineers were hired straight from undergrad because they crushed a take-home.
The filter is not your degree. The filter is: can you make a weird machine go fast, correctly, and explain why.
The actual jobs (open as of mid-2026)
These are the roles that match "kernel developer at Anthropic." Apply as an engineer, not a researcher, unless you already publish. Anthropic says this explicitly: engineers do research, researchers do engineering, and you will interview better in the lane you actually are.
| Role | What you actually do | Comp (posted) | Apply |
|---|---|---|---|
| TPU Kernel Engineer | Sampling, low-precision kernels, custom collectives, debug at assembly on TPU/XLA. Same $ band as GPU PE. | $280k–$850k | SF / NYC / Seattle, 25% office |
| Performance Engineer, GPU | Custom CUDA/Triton/CUTLASS kernels, FlashAttention-class work, tensor cores, FP8, NCCL, end-to-end train/infer pipelines | $280k–$850k | SF / NYC / Seattle, 25% office |
| Performance Engineer | Broader: sampling, low-precision kernels, load-balancing, fault-tolerant distributed systems, kernel-level network debug | $280k–$850k | same |
| Performance Engineer, Inference Systems | Cross-layer: kernels ↔ servers ↔ routing ↔ autoscaling. Throughput, latency, reliability, correctness. They treat a quantization-induced output regression as a performance bug. | posted | same |
| Staff+ SWE, Inference Runtime | Accelerator-agnostic runtime (GPU + TPU + Trainium). Rust + Python. 8+ years, staff-scoped. | $405k–$485k (third-party listing) | remote listed on some boards |
| Engineering Manager, GPU (ML Accelerator) | Same org, not the IC path | — | same cities |
Representative projects copied from the official GPU req (this is the job, memorize it):
- Co-design attention mechanisms and algorithms for next-generation hardware
- Custom kernels for emerging quantization formats
- Distributed communication for multi-node GPU clusters
- End-to-end train and infer pipeline optimization
- Performance models that predict GPU utilization
- Kernel fusion to kill memory-bandwidth bottlenecks
- Fault-tolerant planet-scale training infra
- Profile and kill bottlenecks in production serving
- Partner with hardware vendors on future accelerators
The generic Performance Engineer req asks, in the application: "the most impressive low-level or performance thing you've done." You need an artifact that answers that in one paragraph plus a link.
How they actually hire performance engineers
Primary source: Designing AI-resistant technical evaluations (Tristan Hume, Jan 21, 2026).
In late 2023 they did not have enough performance engineers for the Opus 3 / TPU / GPU / Trainium scale-up. Hume designed a take-home: optimize a kernel on a simulated accelerator. Features of the fake machine (TPU-flavored):
- Manually managed scratchpad (not a cache you get for free)
- VLIW (pack multiple execution units per cycle)
- SIMD
- Originally multicore; later versions dropped it
The problem is not a transformer. It is a parallel tree traversal + hash, on purpose. They do not want "I have used FlashAttention." They want "I can make a strange machine fast from first principles." Domain knowledge is learnable. The optimization instinct is the hire.
~1,000 people took it. It hired most of the current performance team, including people who brought up Trainium and shipped every model since Claude 3 Opus. Several top engineers came straight from undergrad.
Claude then beat the test. Three versions later, the live take-home is a weirder Zachtronics-style constrained ISA. They released the original as an open challenge.
- Repo: https://github.com/anthropics/original_performance_takehome
- Baseline: 147,734 cycles
- Recruitment email threshold: below 1,487 cycles (beats Opus 4.5 at launch in the harness)
- Best published model: 1,363 cycles
- Best human ever: substantially better than that. They will not say how much.
- Email if you beat 1487:
performance-recruiting@anthropic.comwith code + resume
That repo is not optional homework. It is the job interview, published.
They also still run a live loop: CodeSignal / Colab, pair programming, inference-serving system design, culture/safety that is unusually interrogative, and a "Why Anthropic?" essay they say they value highly (200–400 words).
Official hiring notes from anthropic.com/careers:
- They care what you can do, not where you learned it
- Put independent research, a thoughtful blog post, or open source at the top of the resume
- Apply as an engineer if you are an engineer
- Live coding: Colab and CodeSignal. You may look things up.
- No internships
- Re-apply after 12 months, or sooner if something material changes
- Visa sponsorship: they try if they offer
- Hybrid: 25% in office for most roles
The honest timeline
12-hour days, 6 days/week is ~3,000 hours/year. This path is 12–24 months for a strong generalist SWE with weak ML/GPU, 8–14 months for a CUDA/HPC person who has never trained a transformer, 14–24 months for a strong ML researcher who has never written a kernel or read CSAPP.
Anyone selling you "Anthropic-ready in 8 weeks" is lying. Hume's take-home is 2 hours only after you already have the instincts. Building the instincts is the work.
How the path is structured
Five layers, highest to lowest, studied bottom-up (you cannot fake the metal) and reviewed top-down (you must be able to explain why a kernel change is an AGI-relevant unlock).
L0 Math + systems foundations (you cannot skip this)
L1 GPU architecture + CUDA/Triton (the craft)
L2 LLM kernels (the job)
L3 Training / infer systems (the job at scale)
L4 Model + alignment literacy (so you can sit with researchers)
Plus a permanent track T: the Anthropic take-home, run as a sport, not a cram.
Artifacts beat notes. If it is not in a public repo with a writeup, it did not happen.
Directory
00-the-job/— roles, hiring, culture, what "kernel" means here01-prior-art/— papers, books, talks (must-read.mdshort stack;corpus.mdfull verified list)INDEX.md— every file and what it is for02-foundations/— math, CSAPP, architecture, numerics03-kernels/— CUDA, Triton, CUTLASS, FlashAttention, take-home04-llm-theory/— transformers through post-training05-interview/— loop, design questions, safety06-days/— 12-hour OS, first-30-days, month-02..06 week plans, months-07-18 phases
Operating rule
Do the hard thing. Reimplement. Derive. Profile. Write the cycle count down. Do not collect summaries. Claude will be in the room with you on the take-home; the only advantage left is longer-horizon taste and first-principles work. Train that, not recall.
This site
These notes are the app. Read them at anthropic-kernel-path.over9000.cc or over9000.cc/anthropic-kernel-path. Upstream is https://anthropic-kernel-path.digitalnative.workers.dev.
Pages you have read, exit-gate checkboxes, and your best take-home cycle count stay in this browser. Nothing is uploaded. Log a cycle count in the take-home card; the bars match this path (baseline 147,734, email door under 1,487).
Build and run from akp-worker/: pnpm install, pnpm run build, pnpm run check, pnpm exec wrangler dev. Deploy with CLOUDFLARE_ACCOUNT_ID set and pnpm exec wrangler deploy.