Zero to Hero: Go
A self-paced, project-based 35-day curriculum moving from absolute beginner to production-minded Go developer.
Curriculum Overview
| Week | Days | Theme |
|---|---|---|
| Week 1 — Foundations | 1–7 | Toolchain, types, slices, maps, pointers, packages |
| Week 2 — Core Language | 8–14 | Project structure, interfaces, errors, generics, closures, testing |
| Week 3 — Intermediate | 15–21 | Standard library, goroutines, channels, context, file I/O, JSON, CLI |
| Week 4 — Production | 22–28 | HTTP, REST APIs, databases, logging, benchmarking, embedding |
| Week 5 — Advanced Golang Concepts | 29–34 | Reflection, deployment, interfaces, channels, goroutines, context |
| Capstone Project | 35 | End-to-end production Go application |
Week 1 — Foundations
- Day 01: Toolchain, Modules & Hello World
- Day 02: Variables, Types & Control Flow
- Day 03: Functions, Structs & Error Handling
- Day 04: Pointers and Value Semantics
- Day 05: Arrays, Slices & Strings
- Day 06: Maps and Method Sets
- Day 07: Packages and Modules
Week 2 — Core Language
- Day 08: Idiomatic Go Project Structure
- Day 09: Interfaces
- Day 10: Error Handling
- Day 11: Generics
- Day 12: Standard Library Collections
- Day 13: Closures and Higher-Order Functions
- Day 14: Testing
Week 3 — Intermediate
- Day 15: Standard Library Interfaces
- Day 16: Goroutines and Channels
- Day 17: Sync Primitives
- Day 18: Context
- Day 19: File I/O and the io Package
- Day 20: JSON and CSV Encoding
- Day 21: CLI Applications
Week 4 — Production
- Day 22: net/http — Client and Server
- Day 23: REST API with chi
- Day 24: database/sql and SQLite
- Day 25: Error Handling at Scale
- Day 26: Structured Logging with log/slog
- Day 27: Benchmarking and Profiling
- Day 28: Embedding, Build Tags & go generate
Week 5 — Advanced Golang Concepts
- Day 29: Reflection
- Day 30: Publishing and Deployment
- Day 31: Go Interfaces — The Complete Picture
- Day 32: The Go Channel Model
- Day 33: Goroutines, Concurrency & Synchronisation
- Day 34: The Go Context Model — Deep Dive
Capstone Project
Apply everything across five weeks to build a complete, production-quality Go application of your own choosing.
Capstone Skeletons
Ready-to-build starter projects for every capstone idea.
Small CLI tools (2–3 days)
Web services (1–2 weeks)
- todo-api — REST API with SQLite backing
- url-shortener — URL shortener with redirect server
- chat-server — WebSocket chat server with rooms
Large projects (2–4 weeks)
Reference
Maintained by mmussett · Hosted on GitHub Pages