Go for Working Engineers
Go for an engineer who already ships in another language. What a Go build actually produces, how modules and the toolchain decide which compiler runs, the language from zero values to generics, errors as ordinary values, the concurrency model and the race detector, the tooling that gets a binary out of the door, and two programs built end to end that settle which kind of work Go is for. Written against Go 1.26 and checked on 13 August 2026.
6 modules · 29 lessons · 5 hr 29 min
3 of 29 lessons are open to read without an account, and a free account opens the other 26. Creating one costs nothing.
Start reading
Starts with: What Go actually is
Modules
- OrientationWhat the Go runtime and toolchain actually give you, how modules and toolchain selection work, and the habits that make Go code look like Go rather than like translated Java.3 lessons33 min
- The languageFree accountThe core repertoire in seven lessons: values and zero values, text, slices and maps, structs and methods, interfaces, functions and iterators, generics and where they stop.7 lessons1 hr 21 min
- Types, errors and resourcesFree accountErrors as ordinary values, wrapping and inspection, deferred cleanup and panic boundaries, the JSON boundary where external data becomes typed data, and time as a value you format, parse and measure with.5 lessons54 min
- Concurrency and IOFree accountGoroutines, channels and select; context, deadlines and cancellation; worker pools, shared state and the race detector; files, streams and subprocesses.4 lessons46 min
- Shipping itFree accountTests that earn their place, benchmarks and fuzzing and fake time, the formatter and analysers and linters, and turning a package into a stamped static binary that logs.4 lessons45 min
- CapstonesFree accountTwo programs built end to end, chosen for what Go is actually good at. loganalyse is a batch CLI that ships as one static binary with its assets inside it. jobd is a long-running service that runs work on a bounded pool and drains cleanly when it is asked to stop. The module closes by naming the jobs Go is the wrong tool for.6 lessons1 hr 10 min
