AmouAI Hub/Courses /Software Engineering for AI Engineers

Know the tradeoffs
before the agent picks one

Twenty-four chapters built from Andrew Ng’s AI Engineering Skills Map. A coding agent will write the code. It will not tell you which of latency, availability, consistency, reliability, maintainability, simplicity and cost this application is allowed to sacrifice — and it made that decision anyway. This course teaches the decisions: real SQLite running in your browser, architecture choices graded against stated constraints, and thirty instruments you operate rather than diagrams you look at.

Length
24 chapters5 parts
Exercises
288auto-graded
Level
Intermediateyou can already code
Runs
JS · SQLin the page
Instruments
30step, run, break

Nothing to install. SQLite compiles into the page, your queries run locally, and nothing you write leaves your machine.

Source material

Built from “AI Engineering Skills Map: Software engineering fundamentals” by Andrew Ng (DeepLearning.AI, 28 August 2026), the second of four skill areas in his map of AI engineering. The five parts below are his five areas, weighted the way he weights them — data gets six chapters because the article argues data deserves the attention. Everything beyond the article’s outline — the instruments, the exercises, the worked examples — is built for this course. Read the original →

The five skill areas

Ng names five things you have to be good at once an agent is writing the code. Each one becomes a part of this course, and each part ends with you having built or broken something.

Part 1 · Ch 1–5

Full-stack applications

The request path, API contracts, where state lives, and caching. The layer every AI feature is eventually delivered through.

Part 2 · Ch 6–11

Managing data

Six chapters, because a poor data architecture means your AI system does not know what it does not know. Real SQL, real query plans, real transactions.

Part 3 · Ch 12–16

System architecture

Turning requirements into numbers, drawing boundaries, choosing a stack by experiment, and writing the decision down where the next agent will read it.

Part 4 · Ch 17–20

Secure and reliable

A testing strategy worth its runtime, designing for the failure you will actually get, threat modelling, and the supply chain an agent introduces.

Part 5 · Ch 21–24

Scale and operate

Delivery pipelines, observability including the model calls, scaling under real load, and keeping a system nobody fully wrote.

What the exercises actually run

Most system-design material is text you read and flashcards you memorise. Three of the four exercise types here execute something and check the result, and the fourth grades a design against constraints rather than against taste.

JavaScript

Runs in a sandboxed frame

Availability arithmetic, retry policies, cursor pagination, cache rules. Checked against what your code does, not against the text you typed, so more than one answer is usually right.

SQL

A real SQLite build in the tab

Schema design, constraints, indexes, EXPLAIN QUERY PLAN, transactions. The row counts and the plans on your screen are the ones SQLite produced, not numbers we wrote down.

Architecture

Graded against stated constraints

A scenario, its constraints with weights, and the decisions that answer to them. You configure the design and write the justification — naming the tradeoff out loud is what is being assessed.

Conceptual

One question, one commitment

Short multiple-choice checks where the explanation is the point. Every one of them is a mistake somebody has actually shipped.

Is this course for you?

Take it if…

  • You can get an agent to produce working code and are no longer sure how to review it.
  • You have shipped something, and the words consistency, shard key and error budget are ones you nod at rather than use.
  • You keep being asked “will this scale?” and want to answer with arithmetic instead of a shrug.
  • You want the reasons, not a checklist of patterns to pattern-match against.

Skip it if…

  • You have never written code. Start with Programming Fundamentals, then come back.
  • You want a system-design interview cram. There is overlap, but this course spends its time on why, which is the wrong shape for memorising twelve architectures.
  • You want framework tutorials. There is no React and no Kubernetes here — this is the layer that decides whether you needed them.
  • You want to only read. The instruments and the exercises are where this becomes a skill.

What you will be able to do

Three outcomes. Every chapter maps to at least one, and the capstone in Chapter 24 assesses all three at once.

How a chapter works

The same rhythm every time, so it becomes a habit rather than a decision. Roughly two to three hours if you do the exercises, which is the only version that works.

01 · Read

The idea, with its cost

Five or six sections of real teaching. Every technique arrives with what it buys and what it sells, because the second half is the half nobody writes down.

≈40 min
02 · Operate

The instruments

Seven to ten things you drive: a tradeoff board, a query planner, a failure injector, a retry storm. They compute; they are not illustrations.

≈30 min
03 · Break it

The bug clinic

Three real failures per chapter. Symptom first, you guess the cause, then the fix and what it teaches. All of them have shipped somewhere.

≈15 min
04 · Prove it

Twelve exercises

Warm-up, core and challenge. Checked in the browser with feedback that says what was expected, what was found, and why the difference matters.

≈60 min

Syllabus

Five parts, twenty-four chapters. Open any part to see its chapters; each one lists what it covers and what you build.

Assessment & materials

How you are graded

Everything is graded in your browser and stored there. Architecture exercises will not accept a configuration without a written justification, because the justification is the skill.

Books worth owning

The chapters stand alone. These are where the depth is, and Kleppmann in particular is the book this course keeps pointing at.

Common questions

SQL needs a database. How does it run in a browser?

The SQL chapters ship a real build of SQLite compiled to WebAssembly, loaded the first time a page needs it. Your schema is created, your rows are inserted, your query is planned and executed by SQLite itself. When Chapter 8 shows you that a query examined 50,000 rows without an index and 3 with one, those are counts derived from the plan SQLite actually chose — not numbers written into the page.

It is a genuine engine, so genuine errors come back. A missing comma produces the same message it would produce on a server, which is the point.

How can an architecture decision be auto-graded? Isn’t it all judgement?

Judgement, yes — arbitrary, no. Every architecture exercise states its constraints and weights them, and the grading asks whether your configuration serves the heavy constraints or the light ones. A choice that sells a weight-5 constraint to buy a weight-1 constraint is wrong for that scenario, and the feedback says which constraint you spent.

The same feature appears more than once across the course with different constraints, and the correct answer changes. That is the lesson, and it is why memorising patterns does not survive this course.

Do I need to know a specific language or cloud?

No. The runnable exercises are JavaScript and SQL because both run in a browser with nothing installed, but almost nothing here is about either language — the availability arithmetic, the isolation levels, the retry policies and the sharding tradeoffs are the same in Python, Go or Java.

No cloud provider is assumed. Costs are modelled in generic units so the arithmetic transfers.

Is this a system-design interview course?

It will help, and it is not built for it. Interview material optimises for producing a plausible whiteboard diagram in 45 minutes. This course optimises for making a decision you can defend six months later, which means it spends much more time on what a choice costs and much less on reciting reference architectures.

If you want the interview drill specifically, work through the exercises and skip the bug clinics. If you want to be good at the job, the bug clinics are the part to do twice.

Does this teach me to build AI applications?

It teaches the half that most AI applications actually fail on. Ng’s point in the source article is that the AI core is expressed through a broader software application, and that a poor data architecture leaves the model unable to know what it does not know. So: retrieval-ready data structures, vector stores placed sensibly, token cost modelled per user, model calls traced with the rest of the request, and the injection surface a tool-using agent creates.

For the model side itself — attention, training, sampling — that is LM Playground.

How long does it take?

Two to three hours per chapter if you do the exercises, so roughly 60 hours end to end. It is self-paced with no deadlines, and the curriculum drawer on every page lets you jump straight to the part you need. Parts 2 and 5 stand alone reasonably well if you already have the rest.