Skip to main content

Lectures

What is covered, week by week, and which topics each lecture draws on.

Each lecture names that week’s failure before the lab makes it happen: the reflex that looks reasonable, why it fails in this situation, what to do instead, and what that does to the requests that were already working. Every week pairs the lecture with a full deck; related: connects it back to the lab it sets up and the assessment it feeds.

A boomerang mid-flight, curving back toward the open hand that threw it

A retried read is safe for a reason nobody writes down

Why the retry reflex gets learned on requests where it cannot do harm, and what changes as soon as the call writes something.

Week 1 · 22 February 2027

A rubber stamp striking the same receipt twice, the second impression landing just off the first

A non-idempotent retry is a hidden bug

Why a timeout cannot tell a client whether the write already happened, and what an idempotency key actually guarantees.

Week 2 · 1 March 2027

A single tap turned fully open, overflowing a basin faster than the drain can take it

Your retry loop is the outage now

Why more attempts, sooner, makes recovery slower, and why spacing retries out belongs in a library rather than at each call site.

Week 3 · 8 March 2027

A tight cluster of identical alarm clocks, all their hands at the same hour, ringing together

Ten thousand correct clients make one spike

How individually correct backoff still adds up to a synchronised spike, and why jitter has to be mandatory rather than optional.

Week 4 · 15 March 2027

A pressure gauge with its needle pinned into a red zone near the top of the dial

A budget beats a per-call count

Why retries compound multiplicatively across a call stack, and what a shared retry budget has to track to stop them.

Week 5 · 22 March 2027

Two hands, each dropping an identical coin into the same slot at once

A runbook fails the same ways a retry library does

Why some weeks have no client, library or platform to hand the decision to, and what a runbook has in common with a retry library.

Week 6 · 12 April 2027

An envelope caught between two mail slots side by side, one bricked shut, the other open

Not every failure can be retried away

How a status code and a poison message are the same problem, and where the judgement that separates them has to live.

Week 7 · 19 April 2027

An industrial circuit-breaker switch lever caught in its half-thrown middle position

A breaker stuck open protects nothing

Why a circuit breaker is shared state the platform has to hold, and why it needs to close again as much as it needs to open.

Week 8 · 26 April 2027

A telephone ringing on a desk in an empty room, its chair pushed back and empty

Nobody is waiting for your third attempt

What a deadline bounds that an attempt count cannot, and why only the caller knows whether an answer is still wanted.

Week 9 · 3 May 2027

A house of cards standing perfectly still on a table that is visibly tilting to one side beneath it

A green dashboard hides a slow decline

Why success rate stays flat while a dependency degrades for six weeks, and what has to be reported beside it.

Week 10 · 10 May 2027

A row of dominoes with the last one already fallen, out of order ahead of the ones still standing

Some steps only happen once, by design

Why an irreversible step has no retry decision to make, and why the fix is ordering it to run last instead.

Week 11 · 17 May 2027

A wooden signpost whose two blank arms are the same size and point in opposite directions

Reading a retry policy's numbers against each other

How a policy holding every mechanism from the semester still fails, and why the last question of the course is a product one.

Week 12 · 24 May 2027