Two-week cohortRunning now, Mon 26 October to Fri 6 November

The Software Factory EngineerCodebase Design, Verification Loops, System One Models, Agent Swarms, Software Factories

Classes taken by students working at…

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

Code is cheap now. Your attention is not.

Let’s talk about what actually changed when agents started writing all the code, and why the hard part of your job didn’t go away. It moved.

Here’s the honest version. Generation is solved. Not perfect, but solved in the way that matters: the agent writes the change, runs the tests and opens the PR before your coffee break is over.

What isn’t solved is knowing that what came back is right. And right now, that job is yours. Code got cheap. You can run ten agents at once. Your attention is a few good hours a day, and no model release gives you more hours. If anything, every release makes the gap wider: the agents get faster, and you stay almost the same speed.

Agents write faster than anyone can read. Reading harder only bends the bottom line a little.

Which is good news, honestly. This is why engineers still matter. Agents are fast, but they have no idea what “correct” means for your product. You do. That judgement is the job now. But most of our hours go on checking the agent’s work by hand, not on deciding what “correct” should be.

And if this year feels like starting over, that’s the job. Software pays the way it does because it keeps changing, and the engineers who learn the new way first are the ones it rewards.

If you just sit down and start shipping with agents, you end up spending your attention in the wrong places. You turn into one of three people:

  • The Proofreader. You read every diff. Four hundred lines, then nine hundred. An hour in, you’re skimming. Two hours in, you’re approving things you’d struggle to explain, and it still feels like checking.
  • The Human Test Suite. The agent says “done, all tests pass.” You don’t quite believe it, so you click through it yourself. Often you’re right: every test was green and the page wouldn’t load. That’s the problem. Nothing in the loop was looking at the real app except you, and you don’t scale.
  • The Last to Know. Nobody is watching production. Not the error logs, not the failed payments, not the customer who hit a broken page and left without saying anything. You find out days later, if at all.

Not to mention the waste. Hours spent reading code that turns out to be fine, while the one bug that mattered slips through anyway.

But none of this is a character flaw. It’s a budget problem, and budget problems have engineering answers.

Stop building the app. Build the thing that builds it.

Here’s the shift that changed how I work. Your job isn’t the application any more. Your job is the system that builds the application: the agents, the checks, the gates, the rules they all follow. You build that. It builds everything else.

You, the engineer, build the agentic system. The agentic system builds the applications. A compounding loop runs from the system back to you.

When you fix a bug in an app, you’ve fixed one bug in one app.

When you fix it in the system, as a lint rule, a verifier, a new way to attack a change, every app it builds gets that fix. Today, tomorrow, and on code that hasn’t been written yet.

Work on the app is spent the moment you do it. Work on the system keeps paying dividends.

Where my day actually went

For about a year, I was the Proofreader. I read every diff my agents wrote, and I told myself that was being careful.

Every problem I caught, I caught by hand, and the next day the agent made it again somewhere else. None of that care compounded. And all of it happened before the merge. After the merge, nobody was looking at all.

Before: you fix each app by hand and the fix stays there. After: you fix the system once and every app it builds gets the fix.

So I stopped fixing apps and started fixing the system. Spending tokens instead of afternoons. Once that was running, it turned out I could:

  • Hand off a task and come back to a change that has already been proven against the real app
  • Read the few diffs that can actually hurt, and skip the rest with a clear conscience
  • Run agent swarms to bug bash while I do something else, because compute scales and I don’t
  • Hear about a broken flow from an agent before a customer emails me
  • Turn every bug I find into a check, so the same mistake can’t come back anywhere

And not on a toy project. On real codebases that are years old, with companies that depend on them, with a token budget, where other people’s work is landing at the same time as mine.

A software factory that runs production

Agents pick up a ticket, write the code, open the PR. That part works. But most factories stop at the merge button. The ticket closes, the code goes out into the world, and nobody is watching it.

The one I’m going to teach you keeps going. It checks the work against reality, holds the risky changes for you, and keeps watching after it ships. It’s built from parts you’ll make yourself:

  • Codebase design, so agents find one way to do each thing instead of inventing a fourth.
  • Picking and designing verifiers, so every kind of change has a way to be proven.
  • Verification loops, where one agent builds the change and a different model checks it against the real app, the real database and a real browser, until it passes.
  • System one models, small fast models that judge every step and enforce the rules a linter can’t.
  • Agent swarms that bug bash the same change from every side at once, so you spend tokens instead of afternoons.
  • Gates and watchers: the gate holds the risky changes for you, and the watchers keep an eye on production after it ships.
Inside the agentic system: codebase design, verification loops, system one models, agent swarms, gates and watchers.

This is the part that feels like cheating. Before a big change gets anywhere near you, the system sends a swarm at it. One agent clicks through it like a new user. One feeds it garbage input to see what falls over. One plays the attacker and tries to break it on purpose, and it’s built not to just agree with the code it’s attacking.

One change, many agents: a new user, a fuzzer and an attacker bug bash it in parallel before it reaches you.

So go back to those three people from earlier. Here’s what changes for each.

Without itWith itFixed by
The ProofreaderReading every diff, skimming an hour inReading outcomes, and only the diffs that can hurtThe gate
The Human Test SuiteClicking through it yourself, againA swarm that clicked through it before you saw itAgent swarms
The Last to KnowHearing it from a customerHearing it from an agent firstWatchers

What doesn’t fix it

Waiting for a better model. A better model writes faster. That widens the gap, it doesn’t close it.

More rules in CLAUDE.md. You wrote the rule, the agent ignored it on Thursday, and you wrote it again in capitals. An instruction is hope. A check that runs and fails doesn’t need to be remembered, and it never stops working.

Reading harder. You can’t out-read a machine. Skimming just feels like checking, and nothing you read today makes tomorrow’s reading any shorter.

The answer isn’t a setting or a plugin. It’s a system you design, the same way you’d design any other part of your product. And designing systems is still the job.

That’s what the next two weeks are for. You’ll build that system, one part at a time, and leave with it running.

The cohort

It runs for two weeks, starting Mon 26 October. Week 1 goes from intake to a running loop. Week 2 goes from verification to the software factory. The lessons are recorded so you can watch them when it suits you, with live office hours on Tuesdays and Thursdays, each run twice for two time zones.

Almost all the attention goes before the merge. After the merge, the code meets real users and real data, and that’s where it actually breaks. The system you build here watches that side too, and when something does break, it doesn’t just tell you. It learns from it. The bug becomes a regression check, the mistake becomes an invariant or a decision record the agents read next time, and the verifiers that went quiet get re-graded before you trust them again.

Here’s what a normal day looks like once it’s running. You hand work off in the morning. You look at what the gate held for you. You hear about the one thing that broke from an agent, not a customer. And by the evening, the system is a little better than it was this morning, which means so is everything it builds tomorrow.

Here’s everything we’ll cover.

What you’ll learn

The lifecycle, in the order the work moves through it, now with system one models and agent swarms. Each stage hands to the next, and the last one hands back to the first.

The shift: code is cheap, your attention is not
  • Why the bottleneck moved from writing to verifying, 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.
  • Spend your attention once, up front, on what to hand over.
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.
  • A spec you can check costs less attention than a diff you have to read.
Codebase design: a codebase agents can't get lost in
  • Anatomy of a node, signal to noise, progressive disclosure, the context layer. Invariants and decision records that stop agents repeating mistakes. Why search isn't enough, and when to delete your README.
  • You manage the model’s attention too. A codebase it can’t get lost in means fewer wrong turns for you to catch.
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.
  • Loops do the checking you used to do by hand.
Verification loops: implementing, testing and proving it works
  • Back pressure, adversarial review, sycophantic attackers. TDD in the agent loop. Real verifiers touch reality, and where to set the bar.
  • Proof that it works, so you read outcomes, not diffs.
System one models: judgement on every step
  • Decision models, not generators. Typed multiple-choice questions answered fast and cheap enough to sit on every tool call. Gating diffs before review, enforcing lint rules, and when the big model should not be the judge.
  • Judgement on every step, so you only see the steps that need you.
Agent swarms: buying time with compute
  • When many agents beat one agent thinking longer, and when they don't. The cost of agents stepping on each other, and mass verification, bug bashing, and red-teaming.
  • Spend tokens instead of afternoons.
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.
  • Put an agent where nobody is looking.
The software factory: governance and self-improvement
  • Identities, not keys. Scorers: agents that judge agents. Verifiers go stale. The supervisor loop and the self-improvement loop.
  • A fix made once keeps paying out on everything it builds.

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 Software Factory Engineer

The cohort class · 180 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.

30-day money-back guarantee, counted from the day the cohort starts

Cohort syllabus

180 pre-recorded lessons across 23 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
  • The Map Is Not the Territory
  • Build It Twice
  • Shallow vs Deep Modules
  • Leaky Abstractions
  • Code & Agent Blast Radius
  • Static & Dynamic Analysis
  • Runtime Context
  • 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
  • Boxing the Agent In
  • Dealing with Sycophancy
  • Stochastic Starting Points for Vulnerability Finding
  • Score Before You Spend
  • Point Fixes vs Architectural Fixes
  • Just Run It Again
  • 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
  • Why Search Isn't Enough
  • Progressive Disclosure
  • The Context Layer
  • Anatomy of a Node
  • Example: Rewriting CLAUDE.md Nodes
  • Delete Your README.md
  • Context Switching
  • The Loop Stack: L0 to L7
  • Primitives of a Loop
  • Where Loops Hide
  • Your Role Over Time
  • What's in the Toolbox
  • 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
  • Finding a Verifier for Your Loop
  • Sycophantic Attackers
  • Where to Set the Bar
  • 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
  • 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
  • Custom Linters
  • Quick Benchmarking
  • Understanding Agent Output
  • Artifacts via Slack
  • Interactive Mockups via Slack
  • Show Me Skill
  • Visualising Many Changes
  • Model Choice for Verification
  • Red Green Refactor TDD
  • Where Agentic Testing Fits
  • E2E Framework
  • Why We Need Verification
  • 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
  • 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
  • Parallelising Verification
  • The Merge Gate
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.

  • The Motivation
  • Automated Maintenance
  • Keeping the Context Layer Fresh
  • Performance Maintenance
  • Loops I Set Up
  • Bug Channels
  • Adding More Goal-Driven Events
  • What is a Software Factory
  • Producers & Consumers
  • Producers (aka Discovery Loops)
  • The Pickup Gate
  • Question Channels
  • Don't Pre-Sequence the Backlog
  • Analysing Past Sessions
  • Observability & Telemetry
  • Anomaly Alerts
  • Dynamic Compute Allocation
  • Speccing Channels
  • Verifiers Go Stale
  • Improving Existing Loops from Goals
  • Feedback Channels
  • Factory Optimisation Loop
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.

  • Microsoft Clarity MCP
  • The Agent Keeps Watching
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

From students of my classes.

Simeon
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 Smalley
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.

Tyler
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.

Bernard
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.

Hiroyuki
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.

Kevin
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

The Claude Code class teaches the tool. This teaches the system around it: what checks the work, what holds the risky changes, and what watches production after it ships, so your attention stops going to reading diffs.

It’s too early for you if:

  • You’ve never let an agent change real code. Start with our 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.

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.

A paid Claude or ChatGPT plan. You can use either Claude Code or Codex. And a real repo of your own to build on.

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

The 30 days count from the day the cohort starts, not the day you buy. So the earlier you buy, the longer you have:

  • Buy 10 days before the start: 40 days to ask for a refund.
  • Buy 3 weeks before the start: 51 days.
  • Buy the day before the start: 31 days.

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 us at r@rayamjad.com before your window ends. 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 us at r@rayamjad.com.

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.
Three: The Software Factory Engineer cohort (this one), the Claude Code class and the Codex class.

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 →