go-dojo
learn go · earn mastery

About

go-dojo teaches backend and distributed-systems Go to people who've only written scripting languages. It's not a video course, a book, or a bootcamp. It's a kata engine.

Why this exists

Every few weeks on Hacker News, a JS or Python dev asks: "I want to learn backend engineering properly. Where do I start?" The answers are always the same three things: Designing Data-Intensive Applications (a book, no feedback), MIT 6.824 (six Google-engineer-hours per lecture, no curriculum), or "just build stuff" (tutorial hell).

None of those verify. None of them sequence. None of them give you a portfolio at the end.

go-dojo is the curriculum the asker wishes existed: a prereq DAG, a test harness, a clear endpoint, and a repo you own.

The method

Four ideas from the Math Academy Way (Justin Skycak's synthesis of learning-science research) port cleanly from math to systems programming:

What's different

Three things set this apart from the obvious alternatives:

  1. The CLI verifies locally, the site tracks remotely. go test runs on your machine, in your repo; the website reads your public repo to render progress. No accounts, no data on our servers.
  2. Your progress is a portfolio. The repo you scaffold with go-dojo init is yours, public or private as you choose. Commits = attempts. Commit history = learning story. Nobody else gets to lock you in.
  3. The content is curated, not authored. 200–400 words of connective tissue per task, written by us. Everything deeper links to the Go blog, Russ Cox, Jon Gjengset, MIT 6.824. We don't pretend to be better than those. We pretend to be better at sequencing them.

Source

Everything — curriculum, CLI, site generator, exercises — lives at github.com/chinmay/learning-plan. Open source, no analytics, no tracking. Fork the curriculum if you want to teach Rust or Zig next.