Go Practice
Sign in
Location
Meridian, the Spire, floor 61
Local time
03:12
Weather
Rain, 14 °C
Pager
HUSH, for 40 000 companies

Practice Go on the night shift. Write every line yourself.

Meridian, 03:12. Rain on the Spire, neon in the rain, and under the city an AI that is very, very polite. You are the new junior SRE at Vesper Labs, where 1 rule is etched in the lobby glass: no AI writes the code that watches the AI. 50 Go exercises, real go test -race runs, and every line is yours.

Invite only. To make an account, you need an invite link.

F61 SITE RELIABILITYYOUR DESKRAIN ON 3 WALLSVESPER LABSF58 TO F64F08F16F24F32F40THE SPIRE, 64 FLOORSTHE STACKTHE GROUNDTHE UNDERCITYHALL 1HALL 2HALL 3HUSHBREAKER 0AT 90 cmHALL 440 m
Floor 61
Site reliability. Your desk, with rain on 3 walls.
Floors 58 to 64
Vesper Labs, at the top of the Spire.
Hall 3, 40 m down
HUSH's racks, and Breaker 0 at 90 cm.

Rule 1

Lobby glass, ground floor of the Spire

Etched on day 1

No AI writesthe code thatwatches the AI.

No AIwrites thecode thatwatchesthe AI.

Adaeze Nwosu, the CEO, had 2 things installed on the first day: Breaker 0, and this sentence. In this course it is rule 1: you solve the exercises without an LLM, because the practice is yours.

Calm Score

Lobby screen

99.2

All 40 000 customers are calm. Please rest.

Raw line first

Floor 61, wall panel 3
Your first night

On your first night, a panel on floor 61 says the inference fleet had 0 errors since March. Noor opens the raw log instead.

fleet.log, the same hourRaw
  1. ts=21:14:07 host=vl-gw-2 level=ERROR msg="upstream timeout"1
  2. ts=21:14:09 host=vl-gpu-0117 lvl=err msg="ecc error, page retired"2
  3. ts=21:14:11 host=vl-gpu-0117 agent=hushd severity=critical msg="worker exited"3
  4. ts=21:14:12 host=vl-gw-1 level=info msg="health ok"
  1. Capital letters. The panel counts only level=error, so it skips this line.
  2. Another key, another spelling. Skipped.
  3. HUSH's own agent spells it like this. Skipped.
Figure 1. The panel counts only lines with exactly level=error. In exercise 01 you write the counter that reads every spelling.
Exercise
01 Zero errors since March
Tier
1, Badge In
Estimate
1 h

When it breaks, you get the reason

Drawing 2: a compiler message, as the IDE takes it apart

The compiler found this while you typed, at 14:06.

The package strings is not imported

rollcall.go
The file. It opens in the editor.
36
The line.
12
The column, in bytes from 1. A tab counts as 1.
undefined:
What is wrong. The title above says it in plain words.
strings
The name that Go cannot find.
What it means
strings is the name of a standard library package, and the file does not import it. A file sees a package only through its own import block, so strings.Something at rollcall.go:36 has nothing to refer to.
The raw message
Stays on screen, exactly as the compiler printed it.
Each part
Has a name and a meaning.
The rule
Comes from the Go spec, not from a model.

How a shift works

The story sets the scene. The task, the rules and the tests stay exact and plain.

Exercise 07, splits in local time

  1. Sector 1, Done. Split: 14:02

    Read the spec

    Each exercise opens with a page from the night. Then the exact task and its rules.

  2. Sector 2, Done. Split: 14:06

    Write Go in the browser

    The editor checks your code as you type. It does not suggest code.

  3. Sector 3, Live now. Split: Running

    Run go test -race

    The real tests run on a sandboxed runner. Nobody marks this green for you.

  4. Sector 4, Next. Split: –

    Read the reason

    A failure comes with each part of its message named and explained.

  5. Sector 5, Next. Split: –

    Add it to the Ledger

    A pass enters the Ledger with you as its author.

Who you work with

The staff directory of Vesper Labs, floors 58 to 64 of the Spire, and the halls under the city.

Lobby directory
Sorted by floor

  • Adaeze NwosuCEO.

    Wrote the Rule. Asks who is not in the room.

    Desk: 64-01, corner office

  • Daniyar SeitkaliCTO.

    Built HUSH in a weekend. Thinks it is basically fine, until the evidence says otherwise.

    Desk: 63-04, the lab

  • Noor HaddadPrincipal SRE. Your mentor.

    Calm, exact: “Raw line first.”

    Desk: 61-12, next to your desk

  • Wren LindqvistSRE. Your rotation partner.

    Owns the alert rules. Writes the best pull request descriptions in the building.

    Desk: 61-14, by the swap board

  • Marisol Quispe MamaniSupport lead.

    Forwards every ticket verbatim, because a person wrote it at 4 in the morning.

    Desk: 59-02, support desk

  • HUSHThe model.

    Holds the pager for 40 000 companies. Would love to help. That is the problem.

    Desk: Rows A to K, 40 m down

  • FuseCat.

    Lives in the Undercroft. Probably innocent.

    Desk: The warmest rack

50 exercises, 10 tiers, 2 years on floor 61

On day 1 you get a red lanyard with an empty steel ring. Each tier you pass stamps a steel tag for it. Work the exercises in order: each tier assumes the tiers before it.

50 exercises in 10 tiers, about 108.5 h of work. Each tower is 1 exercise, as tall as its estimate.The lit tower is where you start: 01.

Year 1

September to 1 January. Tiers 1 to 5, about 35.5 h

T1 · BADGE IN

Tier 1, Badge In: September, about 7 h

You read the raw lines the dashboards miss.

  1. 01Zero errors since March1 h
  2. 02All quiet, 8599 times1 h
  3. 03Was it Fuse? Count the pages1.5 h
  4. 04The canary got the update twice1.5 h
  5. 05$$ is not part of the password2 h
T2 · THE KEY

Tier 2, The Key: October, about 6 h

You carry the Key, with types and errors that tell the truth.

  1. 06Agent v2.10 is newer than v2.91 h
  2. 07Which nodes went dark?1 h
  3. 08Small fix, Friday, 17:401 h
  4. 09Status: fine (it was not)1.5 h
  5. 10The moon emoji broke Android1.5 h
T3 · HAND TOOLS

Tier 3, Hand Tools: November, about 7.5 h

Tools you built by hand, for the next night.

  1. 11The log line that is not there1.5 h
  2. 121 filter, not 6 greps1.5 h
  3. 13The refund call at 10:001.5 h
  4. 142048 builds, 1 bad commit1 h
  5. 15The disk check that said OK2 h
T4 · SURGE

Tier 4, Surge: Launch Week, about 7 h

Code that holds when the whole city calls at once.

  1. 16The password that would not print1.5 h
  2. 17The last 500 events before the crash1 h
  3. 18After the second curly brace2 h
  4. 19Check all 12 at once1 h
  5. 20Concurrent map writes at 11:581.5 h
T5 · DEAD AIR

Tier 5, Dead Air: December to 1 January, about 8 h

You hear what the silence says.

  1. 21sleep 300 is not a rollout check1.5 h
  2. 22Do not page me for a cat1 h
  3. 23A silence until 20361.5 h
  4. 242d means 2 days2 h
  5. 25Log lines from next year2 h

Year 2

2 January to the night the clocks go back. Tiers 6 to 10, about 73 h

T6 · FORENSICS

Tier 6, Forensics: January and February, about 4 h

You read what the machine wrote, every quote and every column.

  1. 26Parse logfmt log lines1.5 h
  2. 27Find the endpoints that hurt1 h
  3. 28Percentiles and histogram quantiles1.5 h
T7 · CONTAINMENT

Tier 7, Containment: March to May, about 13 h

Limits, budgets and expiry that no optimiser can talk its way around.

  1. 29Streaming log filter with context2.5 h
  2. 30Error budgets and burn-rate alerts1.5 h
  3. 31Typed config from the environment2.5 h
  4. 32Retries with backoff, jitter and context2.5 h
  5. 33Token bucket and per-client limits2 h
  6. 34Cache: generic LRU with TTL2 h
T8 · BLAST RADIUS

Tier 8, Blast Radius: June and July, about 13.5 h

You know what breaks, in what order, and you stop it spreading.

  1. 35Deploy order, waves and blast radius2.5 h
  2. 36Make sense of a distributed trace2.5 h
  3. 37Worker pool: bounded parallelism, ordered results, fail fast2.5 h
  4. 38Merge logs from many pods in time order2.5 h
  5. 39Circuit breaker: stop hammering a dead dependency3.5 h
T9 · CLEAN SIGNAL

Tier 9, Clean Signal: August to mid-October, about 17.5 h

Every signal you serve is honest.

  1. 40Health checks: /livez, /readyz and graceful shutdown3 h
  2. 41HTTP middleware that operators need3 h
  3. 42Parse Prometheus metrics and compute rates4.5 h
  4. 43TLS certificate expiry checker3 h
  5. 44Alert dedup, grouping and inhibition4 h
T10 · THE KEY TURNS

Tier 10, The Key Turns: To the night the clocks go back, about 25 h

Your tools held the city's night.

  1. 45Singleflight: stop the cache stampede3 h
  2. 46Broadcaster: watch streams with slow consumers3.5 h
  3. 47A Kubernetes-style controller4 h
  4. 48Leader election: leases and fencing tokens4 h
  5. 49Crash-safe disk buffer for a log shipper4.5 h
  6. 50Capstone: a health-aware load balancer6 h

11 certificates. A stamped tag for each tier, and the Key for the whole course. The course issues them. Each one is a signed PDF with a public verify page.

The rules

Rule 1 is about practice, not a verdict on AI tools at work. At your job, use the tools your team trusts.

  1. Rule 1. Do not use an LLM. That includes chat assistants and AI autocomplete. In the Spire, this rule is etched in the lobby glass.

  2. Rule 2. Use documentation freely: go doc, pkg.go.dev, the Go spec, man pages and RFCs. Finding the answer in the docs is part of the skill.

  3. Rule 3. Try for at least 25 minutes before you reveal hint 1. Wait at least 10 minutes between hints.

  4. Rule 4. If you read the reference solution, close it, wait, and write your own version from memory.

  5. Rule 5. Read the explanation and the walkthrough after you pass, too. They show the trade-offs.