Two-week cohortRunning now, Mon 28 September to Fri 9 October

The Agent-Era Engineer: Codebase Design, Verification Loops, Software Factories

Classes taken by students working at…

  • Volkswagen
  • Twilio
  • Microsoft
  • eBay
  • GitHub
  • Booking.com
  • McKinsey
  • Palantir

Hand real work to an agent, and trust what comes back

Do you read the diffs your agent writes?

I did. Every one of them, for about a year.

I do not type code any more, and if you are reading this, neither do you. The agent writes it, runs the tests and opens the PR. For a while that felt like the whole shift. Then I noticed where my day had gone. I was reading. Four hundred lines here, nine hundred there, all afternoon, at a pace the agents had passed months earlier.

Two things that year taught me:

  1. Generation is solved. Not perfect, but solved in the way that matters: the code arrives faster than anyone can check it.
  2. So the bottleneck moved. It is no longer writing. It is knowing that what came back is right. Right now, that bottleneck is a person, and the person is you.

Once you see that, every other question about agentic coding gets easier. You stop asking how to get more out of the model. You start asking what has to be true before you trust its output without opening the diff.

Most engineers put their trust in one of two wrong places

The first is the agent’s word. It says “done, all tests pass,” and the PR merges. Sometimes the agent wrote the tests to pass. Sometimes they pass and the feature does not work in a browser, because nothing in the loop ever opened one.

The second is your own eyes. Nothing else in the pipeline has earned your trust, so you read everything. That works until the agents outrun you, and then it fails in the worst way: you skim, you approve, and you feel like you checked.

Both are the same mistake. The check lives in a person or in the author. It needs to live somewhere else.

First: decide what has to be true

Before any code exists, a change already has a definition of correct. It is in your head. The work is getting it out.

It starts at intake. Tasks pour in, and most of them can go straight to an agent. A person looks only at the ones that need a judgment call. That decision, made once and up front, is the first verifier you build. It continues through alignment, where an interview and multiple proposals surface what you wanted before an agent commits to a guess. It lands in the spec, where the question is not whether the spec is good but which verifier will say the work is done. Some tasks do not need a spec at all. There is a lesson on that too.

Second: build the check, and put it inside the loop

An instruction is hope. You wrote the rule in CLAUDE.md, the agent ignored it on Thursday, and you wrote it again in capitals. A verifier does not need to be remembered. It runs, it fails, the agent goes again. Prefer a verifier over an instruction, every time you can.

A real verifier touches reality: the deployed app, the real database shape, a browser that clicks through the flow, a Slack workspace that receives the message, a voice call that connects. A mock will pass anything. Building the environment where an agent can be checked against the real thing is most of the engineering in this course, and almost nobody teaches it.

Then the check goes inside the loop, not after it. A builder and a verifier, so the model grading the work is not the model that did it. Back pressure, so a failing check stops the agent and not you. Adversarial review from a different model with a reason to attack. The loop runs until it converges. You do not need the first draft to be right. You need a signal you trust to say when to stop.

Now: let it merge

Once the checks exist, the merge gate becomes a policy instead of a person. A copy fix with a passing run merges itself. A schema migration gets a verification environment, a test matrix and a hold for you. Verification scales with blast radius, and the skill is deciding that in advance so the agent knows too.

Your job changes shape. You stop reading diffs. You read outcomes, and you spend your attention on the changes that can actually hurt.

What I have built this way

I run 21 Dreams, my holding company that builds agent-first software. AgentStack and Impello are two of the current products, and they are the backbone of hundreds of companies. Every one of them is built and maintained the way this course teaches, and I have put 5,000+ hours into Claude Code and Codex doing it. Nobody at 21 Dreams types features by hand. Every change goes through agents, through the checks above, and through a merge gate that decides how much of it I need to see.

That is not a claim that it always goes smoothly. Verifiers go stale as a codebase moves under them. A reviewer model will agree with whatever it is shown unless you build it not to. Those failures are in the course, with lesson names like Verifiers Go Stale and Is Your Reviewer Any Good?, because you will meet them too.

Before and after

BeforeAfter
Reading every diffReading outcomes, and only the diffs that can hurt
“Done, all tests pass” as the signalA verifier that touched the real system as the signal
Rules in CLAUDE.md the agent forgetsChecks that fail the build and never forget
One reviewer model that agrees with the authorAdversarial review from a model that wants the bug
Every PR waits for youA merge gate that lets small changes through alone
Verifiers that quietly stopped meaning anythingScorers that grade the graders

If you already ship with an agent most weeks and want the reasoning, not a list of settings, this cohort is for you.

What you’ll learn

The lifecycle, in the order the work moves through it. Each stage hands to the next, and the last one hands back to the first.

The shift: generation is solved, so the bottleneck moved
  • Why the bottleneck keeps shifting, why verification is the whole game, and what convergence over perfection means for how you work.
Intake and alignment: what to hand over, and how far
  • The feed, triage, and the human gate. Then the interview, multiple proposals, and finding your unknowns before anyone writes a spec.
Specifications: should you spec at all?
  • What makes a good spec, the idea-to-spec skill, and choosing verifiers for a spec so it can be checked, not just read.
Context engineering
  • Anatomy of a node, signal to noise, progressive disclosure, the context layer. Why search isn't enough, and when to delete your README.
Loops and graphs
  • Primitives of a loop, where loops hide, the builder verifier pattern, worker loops, discovery loops and autoresearch.
  • The toolbox. /loop, /goal, the monitor tool, headless mode, routines and dynamic workflows.
Implementing, testing and verification
  • Back pressure, adversarial review, sycophantic attackers. TDD in the agent loop. Real verifiers touch reality, and where to set the bar.
Merging, maintenance and operating
  • The merge gate and where to auto-merge. Codebase entropy, migration seams, churn hotspots, dead code. Metrics, anomaly alerts, and the dogfooding agent.
Governance and the software factory
  • Identities, not keys. Scorers: agents that judge agents. Verifiers go stale. The supervisor loop and the self-improvement loop.

Learn directly from Ray

Ray Amjad

Taught 4,000+ Engineers. Ex-YC Technical Founder. Cambridge Physics.

I’m an engineer shipping real products with Claude Code & Codex. Since the AI coding tools launched I have put 5,000+ hours into using them, building 21 Dreams (my holding company that builds agent-first software) and creating the most in-depth Claude Code content on YouTube.

The workflows I teach come from production work, not a content calendar, which is why they tend to go mainstream months after I cover them. As such people learning from them feel months ahead of the curve.

This class is those 5,000+ hours concentrated: everything I know about shipping production-grade code with agents. My teaching style comes from my undergraduate Physics degree at Cambridge, so I teach fundamentals-first and pair every concept with the problem it solves, helping you build real intuition for a fast moving world.

Ray Amjad signatureRay Amjad signatureUniversity of CambridgeUniversity of CambridgeY Combinator

What’s included

Classes to keep

The Agent-Era Engineer (Cohort 1)

The cohort class · 190 lessons

During the cohort

8 hours of office hours

Two time zones. Every session recorded.

That quarter’s tool updates

What changed, and what’s worth using.

Certificate of completion

For your employer or LinkedIn.

Full details: schedule, class access & updates
8 hours of office hours

4 sessions a week: Tuesday and Thursday, each run twice for two time zones. Bring your questions to the session, or join the session and ask live on Zoom. Every one recorded.

The full cohort class

22 chapters and 190 pre-recorded lessons, about 18½ hours, from intake to the software factory. Each module opens on its Monday at 6am London time, and all of it is yours to keep after the cohort ends.

The Claude Code class and the Codex class, included

Both evergreen classes come with your seat, forever, and both are updated within 30 days of each major release. Sold on their own at the Claude Code class and the Codex class. A cohort seat grants exactly these three classes.

That quarter’s delta

What actually changed in the tools since the last cohort, and which of it is worth your attention.

Certificate of completion

Share it with your employer or on LinkedIn.

Cohort syllabus

190 pre-recorded lessons across 22 chapters • 4 office hours sessions a week • no live lectures • each module opens on its Monday, 6am London time

Before Day 1Prerequisites, recorded
Open nowabout 5½ h of recorded lessons
  • Welcome
  • Discord
  • Office Hours
  • The Map Is Not the Territory
  • Shallow vs Deep Modules
  • Leaky Abstractions
  • Code & Agent Blast Radius
  • Static & Dynamic Analysis
  • The Testing Pyramid
  • Sentry's Quality Quarter
  • Agent-Friendly APIs
  • The One-Pattern Rule for Agents
  • Clean Interfaces
  • Removing Workarounds
  • The Docs Folder
  • Invariants and Surfaces
  • Architectural Decision Records
  • Code Smells
  • QLTY CLI
  • Gravitational Pull from Older Models
  • Long Context Failure
  • Getting Prompt Feedback
  • Build It Twice
  • Boxing the Agent In
  • Dealing with Sycophancy
  • Coverage Through Stochastic Starting Points
  • Score Before You Spend
  • Point Fixes vs Architectural Fixes
  • Just Run It Again
  • Bug Fixing Across Chats
  • Using Reliable Packages
  • Agent Introspection
  • Attention Budgets & Distribution Steering
  • Goal In, Strategy Out
  • Give It the Right Tools
  • Benefits of This Approach
  • Features of this Class
  • For the AI SDLC
  • centaur.run
  • Creating Slack Workspace
  • Setting Up Bot Foundations
  • Connecting Claude Code
  • End to End Testing
  • Polishing the Bot
  • Connecting to GitHub
  • Dogfooding
  • MCP Servers
  • Playwright
  • Adding Database
  • CLAUDE.md
  • Skills
  • Adding Memory
  • Adding Codex
  • Additional Tooling
  • Routines / Crons
  • Scheduled Follow-Ups
  • The Following Videos
  • On Call Agents
  • Task vs Ownership Delegation
  • Feedback Channels
  • Activity View
  • Problems You May Face
Week 1From intake to a running loop
Open now4 h office hours · about 6½ h of recorded lessons
  • Explain the Why
  • The Interview
  • Learn the Field First
  • Finding Your Unknowns
  • Scoping APIs
  • Glossaries for Better Prompts
  • Build, Then Align
  • Unconstraining the Exploration Space
  • Stop Giving Claude Examples
  • Picking Rungs
  • Should You Spec?
  • What Makes a Good Spec
  • Invariants for Specs
  • Choosing Verifiers for Specs
  • Adversarial Review of Specs
  • Prototyping in Nukable Accounts
  • Idea to Spec Skill
Session 1 
Session 2 

Members get the Zoom link on their dashboard.Bring your questions to the session, or join the session and ask live on Zoom.

  • Intro to Context Engineering
  • Context Switching
  • Anatomy of a Node
  • Cognitive Inertia
  • Why Search Isn't Enough
  • Signal to Noise
  • Progressive Disclosure
  • The Context Layer
  • Example
  • Delete Your README.md
  • Different Orderings
  • Maintenance
  • Intro
  • Primitives of a Loop
  • Where Loops Hide
  • Your Role Over Time
  • Toolbox for Loops
  • /loop
  • Monitor Tool
  • Headless Mode & Background Workflows
  • Routines (aka Scheduled Tasks)
  • Memory for Routines (aka Scheduled Tasks)
  • Example: Databases
  • Dynamic Workflows
  • /goal
  • Writing Effective Goals
  • Codex Managing Codex
  • Builder Verifier Pattern
  • Example: Design Source of Truth
  • Designing a Task Lifecycle
  • Creating the Skill
  • Testing the Loop
  • Model Choice in Loops
  • My Daily Task Lifecycle
  • L4 Worker Loops
  • Don't Pre-Sequence the Backlog
  • L5 Discovery Loops
  • Autoresearch Overview
  • Autoresearch Technical Example
Session 1 
Session 2 

Members get the Zoom link on their dashboard.Bring your questions to the session, or join the session and ask live on Zoom.

Week 2From verification to the software factory
Open now4 h office hours · about 5½ h of recorded lessons
  • Implementation Notes & Decision Boards
  • Sycophantic Attackers
  • Custom Linters
  • Quick Benchmarking
  • Understanding Agent Output
  • HTML Artifacts for Output
  • Interactive HTML Artifacts
  • Artifacts via Slack
  • Show Me Skill
  • Git Diffs & Mermaid Diagrams
  • Visualising Many Changes
  • Model Choice for Verification
  • Red Green Refactor TDD
  • Where Agentic Testing Fits
  • E2E Framework
  • Why We Need Verification
  • Real Verifiers Touch Reality
  • Overview of Verification Environments
  • Setting Up Verification Environments
  • Verification Scripts & Tooling Overview
  • What Counts as a Pass
  • Identifying New Flows
  • Shims
  • Narrated User Flows
  • /verify Skill
  • Runtime Context
  • Identifying Existing Flows
  • Mass Testing & Verification
  • Example: Namespace.so Verification
  • Example: IP KVM for Dev Boxes
  • Example: Argent
  • Example: Slack Self-Verification
  • Example: E2E Voice Agents
  • Example: MCP Inspector
  • Agent-Powered Fuzzers
  • Where to Set the Bar
  • Parallelising Verification
  • The Motivation
  • Tackling Redundant Code
  • Avoiding 'Code Bias' Caused Loops
  • Automated Maintenance
  • Performance Maintenance
  • Loops I Set Up
  • Bug Channels
  • Adding More Goal-Driven Events
  • Microsoft Clarity MCP
  • Follow Ups on Features
  • Agents Keeps Watching
  • What is a Software Factory
  • Producers & Consumers
  • The Pickup Gate
  • Question Channels
  • Analysing Past Sessions
  • Observability & Telemetry
  • Anomaly Alerts
  • Dynamic Compute Allocation
  • Verifiers Go Stale
  • Improving Existing Loops from Goals
  • Feedback Channels
Bonus ContentAfter the cohort
Open nowabout 1 h of recorded lessons
  • My Design Flow
  • Decomposing into Design Guides
  • Stealing Canvas Components
  • Reverse Engineering Binaries
  • Reverse Engineering Mobile APIs
  • Benchmarking Tools & MCPs
  • Evaluating Code Review Tools
  • Economising with Prompt Cache
  • Being Ambitious with Agents
  • Claude Code for Everything
  • Answering Unknown Unknowns
  • Agent Browser to Skill
  • Infusing Lived Experience

Student reviews

SimeonThe Course
Student

The Agentic Coding School doesn't just show you what buttons to press, it builds genuine understanding from the ground up. By the time you're two-thirds through, you're not just using the tool, you're thinking in it.

Art SmalleyThe Course
Student

This is not the typical get-rich-quick hustle program you see on social media. Ray works deep in the inner workings of the models and knows how to be productive with them. I am convinced he uses Claude Code as well as or better than most Anthropic engineers.

TylerThe Course
Student

I went from treating Claude Code like a chatbot to running it like a full development platform. The lessons on hooks, subagents, and CLAUDE.md files alone were worth it.

BernardThe Course
Student

I already had experience with Claude Code, and this still took me further. Seeing your everyday usage throughout the course is genuinely valuable, not just some vibe coding app. I learned a lot from the multi-agent plan execution and the spec-dev command.

HiroyukiThe Course
Student

Saved me hours of headaches with deployments, and he's on top of everything. It's crazy since he's up to date and only releases videos if they're relevant, so has been super helpful for my workflow as a solo founder.

KevinThe Course
Student

I'm only just getting started, but the course is so practical and well-designed that I saw immediate improvements in my own agentic coding workflow. I can't wait to spend this weekend finishing a bigger chunk of the course.

Frequently asked questions

Three: The Agent-Era Engineer cohort (this one), the Claude Code class and the Codex class.

It’s too early for you if:

  • You’ve never let an agent change real code. Start with my free YouTube videos and join a later cohort.
  • You read every diff and you’re happy doing it. This cohort fixes a problem you don’t have yet.
Paid Claude and ChatGPT plans, since the lessons use both Claude Code and Codex. And a real repo of your own to build on. Everything else, like Slack, GitHub, Vercel and sandboxing providers, gets set up in the lessons.

About 5½ to 6½ hours of lessons a week, plus up to 4 hours of optional office hours.

The lessons are pre-recorded, so you watch them when it suits you.

Yes, in two cases: you’re a current student, or you were laid off in the last few months.

Email me at r@rayamjad.com. Students, send it from your university email address. If you were laid off, attach something that shows it.

Otherwise, the price is the price.

One thing to weigh first: some setups in these classes run on paid OpenAI and Anthropic plans. A heavy month of Claude Code or Codex can cost $100s on its own.

You stop reading every diff, and you still trust what ships. You’ll know how to use:

  • Verification environments: an agent proves its work by running real user flows in a sandbox.
  • The builder-verifier pattern: the agent that writes the code never grades it.
  • A context layer: invariants and decision records that stop agents repeating mistakes.
  • L3, L4 and L5 loops: from one task done end to end, to issues becoming pull requests, to agents finding the work themselves.
  • Merge gates and scorers: agents that judge agents before anything merges.
  • The software factory: all of it running together, and improving itself.

Every one is built on my own products. Along the way you build your own Slack agent that opens pull requests. For a team lead, it becomes how your whole team ships with agents.

So you can learn at your own pace. Live lessons have two problems: demos break halfway through, and not everyone is awake at the same time. You still get live help. There are 2 office hours a week, each run twice for different time zones (4 hours a week). Between sessions, post questions in the private Discord and I'll answer them throughout the cohort.
Only a few. YouTube gets one idea at a time, in whatever order I happen to make the videos. The cohort is the whole picture: the current best way to work with agents, from the first spec to what merges, and why each piece is there. Everything is built on my own products, so you see what works today, not what worked six months ago.

A 30-day money-back guarantee, one refund per customer.

It doesn’t matter how much you’ve watched or how many live sessions you’ve joined, as long as you haven’t tried to download, scrape or rip the videos.

Email me at r@rayamjad.com within 30 days. The full terms are on the refund policy page.

Yes. Over 80% of people have their company pay for it, so ask your boss before you pay yourself.

/expense writes that email for you. It also covers what finance and L&D usually ask for next: the receipt and the certificate of completion.

If your finance team needs something specific on the invoice, email me at r@rayamjad.com.

The two weeks build on each other, and the live sessions follow the same order. “Before Day 1” opens as soon as you join. Each week after that opens on its Monday at 6am London time. You can see every recorded lesson in each week before it opens, and you keep all of it afterwards.
They're on Zoom, on 4 days. Each day runs at two times for different time zones, 8 hours in total. Bring your own setup and we work through it live. I also answer the questions posted in the Discord. Every session is recorded and cut down, so you can watch any you miss, and learn from everyone else's questions too.
Each office hours day runs at two times, so pick the one that suits your time zone. If you can't make either, post your question in the Discord beforehand and watch the recording afterwards.

Yes, with a volume discount that grows with the number of seats.

While enrolment is open, switch the buy card on this page to a team purchase and enter your seat count. It shows the per-seat price and the total before you pay.

You get one invoice and assign the seats afterwards.

Teams of fewer than 10 get the same 30-day guarantee as individuals. For 10 seats or more, we agree refund contracts separately.

Need more seats than the card allows? Email me for a quote.

Yes. The audio is English, with subtitles on every lesson in 11 languages: English, Spanish, Arabic, French, German, Portuguese, Japanese, Russian, Traditional Chinese, Thai and Polish. Every language except English is AI-translated, so expect the occasional rough edge.

For teams

Reimbursement
Get your company to pay

Everything your L&D needs: an email template, a receipt, and a certificate of completion.

Get reimbursed →
Private cohort
Run the two weeks for your org

The same lifecycle, on your codebase, on your schedule, with your team’s questions in the room.

Ask about company training →