go-dojo
learn go · earn mastery

FAQ

The five questions a new learner has in the first 30 seconds. And two more worth asking.

Is this free?
Yes. The curriculum, the CLI, the site, the exercises — all free, all open source. No paywall, no premium tier, no upsell. If you want to support it, star the repo.
How long will this take?
About 26–30 weeks at 2–3 hours per day. Phases 0–2 (~8 weeks) build Go fluency. Phases 3–4 (~8 weeks) teach backend + distributed-systems primitives. Phases 5 (~4–6 weeks) is the Fly.io Gossip Glomers endgame. It's self-paced — mastery is gated by passing tests, not by calendar.
Do I need to install anything?
Eventually yes — Go 1.26 plus the go-dojo CLI (a single binary, stdlib-only). You can read the lessons on this site without installing anything. When you're ready to code: brew install go-dojo (or go install github.com/chinmay/go-dojo/cmd/go-dojo@latest), then go-dojo init my-dojo.
What do I get at the end?
You'll have built, from scratch: an HTTP server, a URL shortener with Postgres + Redis + NATS, a gossip-protocol-based mesh, a CRDT counter, a Kafka-style log, and a Raft-free distributed key-value store that handles network partitions. All six Fly.io Gossip Glomers passing. Your GitHub repo is your portfolio — the commit history tells the story.
Can I skip what I already know?
Yes. Every phase has a placement quiz: go-dojo placement phase-2. Pass it and the tasks it covers are marked as placement-skipped in your repo. The prereq graph still demands you're at learning mastery on any task you want to unblock — the quiz just short-circuits the hand-walking.
Why should I trust this vs. Exercism / Boot.dev / Go by Example?
Exercism teaches syntax. Boot.dev teaches web backend. Go by Example is a reference. go-dojo is the only one that teaches distributed systems in Go, with mastery gating + spaced retrieval + a verified endpoint (Fly.io Gossip Glomers). And it's the only one where your progress is a git repo you own, not state in someone else's database.
Who is this not for?
If you've never written code before — go do CS50 first. If you're an experienced Go engineer — the placement quizzes will skip you to Phase 4 or 5, and at that point you're better off reading MIT 6.824 directly. If you want a certificate — there isn't one. Your portfolio is the credential.