Go Programming
Learn Go by shipping real tools and services — concurrency, modules, and production patterns.
35+
completed
~44h
total time
8
projects
Go Fundamentals and Tooling
Install the toolchain, learn the module system, and get comfortable with Go's type system and standard tooling.
Build a CLI Tool in Go
Turn a script into a real command-line tool with subcommands, flags, and proper exit codes.
Concurrency with Goroutines and Channels
Launch thousands of lightweight goroutines, coordinate them with channels, and avoid the classic concurrency bugs.
Build a REST API in Go
Stand up a JSON API with routing, middleware, and graceful shutdown handling.
Working with Go Modules and Testing
Manage real dependencies with go.mod, then write table-driven tests and measure coverage.
Build a gRPC Service
Define a service in Protocol Buffers, generate typed Go clients and servers, and wire up streaming RPCs.
Profiling and Performance Tuning
Use pprof to find where a Go program actually spends CPU and memory, then fix the hot paths.
Ship a Production Go Microservice
Package a real service with structured logging, health checks, graceful shutdown, and a container build.
