Go Developer Roadmap
Your step-by-step learning path from your first line of Go to production-grade backend engineering. Every level, every track.
Covers Go's type system and memory model, control flow, the core data structures, and the goroutines and channels behind its concurrency model.
Go Basics
20 lessons16 freeStart your Go journey here. Learn variables, types, control flow, loops, functions, and error handling through hands-on coding exercises, and a slug generator project.
Composite Types
19 lessonsProBuild on your Go foundations with slices, maps, and structs. Learn to work with collections and create custom data types through practical exercises.
Pointers & Memory
17 lessonsProMaster Go's pointers: take addresses, mutate through pointer parameters and receivers, handle nil safely, and see where memory lives. Capstone: build a feature-flag store that finds-or-creates flags and updates them in place through a returned pointer.
Project: DNS Resolver
8 lessonsProBuild a DNS resolver in Go. Manage DNS records with pointers, implement a cache with TTL expiry, detect CNAME cycles, and handle zone transfers.
Project: YAML Data Pipeline
6 lessonsProBuild a YAML data processing pipeline in Go. Parse multi-document YAML, transform rows, compute aggregations, and chain pipeline stages, all using slices, maps, and structs.
Interfaces & Polymorphism
5 lessonsProLearn to define behavior with interfaces, implement them implicitly, use the empty interface, perform type assertions, and compose interfaces to create flexible, maintainable Go code.
Concurrency Fundamentals
10 lessonsProMaster Go's powerful concurrency features. Learn goroutines, channels, synchronization with WaitGroups and Mutexes, and the select statement for building efficient concurrent programs.
Go Generics Masterclass
9 lessonsProMaster Go generics - type parameters, constraints, and best practices for writing reusable, type-safe code.
Project: Rate Limiter
9 lessonsProBuild a rate limiter from scratch in Go. Apply your Go basics knowledge — slices, maps, structs, and pointer receivers — to build a real backend component that every API needs.
Packages & Organization
7 lessonsProLearn to organize Go code into packages, understand exported vs unexported identifiers, work with the standard library, manage dependencies with Go modules, and structure larger projects.
Real-World Patterns
12 lessonsProApply your Go knowledge to real-world patterns. Learn file I/O, JSON handling, HTTP clients and servers, and testing strategies used in production applications.
Go Language Deep Dives
7 lessonsProDeep dive into advanced Go fundamentals. Master variadic functions, named return values, panic/recover patterns, and debugging techniques.
Capstone: Web Crawler
7 lessonsProBuild a concurrent web crawler from scratch. Apply everything you've learned: goroutines, channels, mutexes, structs, interfaces, and error handling to crawl a live tech gadget shop.
Focuses on the standard library packages used in everyday Go development (HTTP, JSON, file I/O, time, text), idiomatic Go style, and database access with both database/sql and GORM.
Text Processing
8 lessonsProMaster string manipulation, type conversions, formatting, and pattern matching with Go's text processing packages.
File I/O
13 lessonsProLearn to read and write files, work with paths, and handle file system operations using Go's io, os, and filepath packages.
Data Formats
8 lessonsProMaster JSON encoding/decoding and CSV processing for data interchange in Go applications.
HTTP & Networking
11 lessonsProBuild HTTP clients and servers using Go's net/http package. Learn request handling, middleware patterns, and testing.
Time & Utilities
7 lessonsProWork with dates, times, durations, and sorting using Go's time and sort packages.
Professional Go Testing
12 lessonsProMaster Go testing - table-driven tests, mocking, benchmarking, and best practices for production-quality code.
Logging with slog
8 lessonsProMaster Go's structured logging package. Learn to create loggers, use log levels, add structured attributes, and build production-ready logging for your applications.
Building CLI Apps
8 lessonsProBuild command-line tools with Go's standard library. Master argument parsing, flags, environment variables, and create professional CLI applications.
Go Idioms & Naming
10 lessonsProLearn Go naming conventions, common idioms, and how to write code that feels natural to other Go developers.
Error Handling
7 lessonsProMaster Go's error handling patterns. Learn to wrap errors with context, create meaningful error types, and handle errors exactly once.
Simplification
10 lessonsProLearn to simplify complex code. Remove unnecessary abstractions, flatten nested logic, and write code that's easy to read and maintain.
Interface Design
6 lessonsProLearn to design small, focused interfaces. Define interfaces where they're used and avoid interface pollution.
Code Organization
6 lessonsProLearn to organize Go code into clear, maintainable packages. Structure projects for clarity and avoid common organizational anti-patterns.
Learn database/sql
10 lessonsProMaster Go's standard library database/sql package. Learn to connect to databases, execute queries, handle transactions, and work with results - all without external dependencies.
Learn GORM
16 lessonsProLearn GORM, Go's most popular ORM. Master database connections, model definitions, CRUD operations, relationships, hooks, and advanced queries through hands-on exercises.
Explores the core data structures (linked lists, trees, graphs, heaps, hash tables) and the design patterns (factory, strategy, decorator, observer) found in production Go code.
Data Structures in Go
17 lessonsProImplement classic data structures from scratch in Go. Master stacks, queues, linked lists, trees, hash tables, heaps, and graphs through hands-on coding.
Go Design Patterns
19 lessonsProMaster the patterns that experienced Go developers use every day. From functional options to graceful shutdown, learn production-ready patterns through hands-on exercises.
Algorithms in Go
10 lessonsProMaster essential algorithms in Go. From sorting and searching to graph algorithms, learn to analyze complexity and write efficient code.
Concentrates on service architecture over gRPC and message queues, cloud deployment with logging, tracing, and metrics, and substantial end-to-end Go projects.
Docker for Go Developers
16 lessonsProLearn to containerize Go applications. Master real Docker commands, from building images to production deployment.
Cloud Patterns for Go
13 lessonsProBuild cloud-native Go applications. Learn 12-factor app principles, graceful shutdown, health endpoints, and production patterns.
Introduction to Microservices
10 lessonsProLearn microservice architecture patterns. Understand service communication, resilience patterns, and when to use microservices vs monoliths.
Kubernetes for Go Developers
23 lessonsBuild pods, deployments, schedulers, and admission validators in Go. Understand how Kubernetes works by implementing its core pieces yourself.
Build a URL Shortener
10 lessonsProBuild a complete URL shortening service from scratch. Learn API design, data storage, and production patterns.
Build a Task Queue
10 lessonsProBuild a robust background job processing system. Learn concurrent programming, worker pools, and reliable task execution.
Build an In-Memory Cache
8 lessonsProBuild a Redis-like in-memory cache with TTL, LRU eviction, persistence, and a command protocol.
Build a Log Aggregator
8 lessonsProBuild a log aggregation and search tool with parsing, indexing, real-time tail, and a REST API.
Build Production-Ready REST APIs
24 lessonsBuild a production-ready REST API in Go. Covers validation, pagination, auth, error handling, versioning, rate limiting, and testing.
Tooling around the path
Sharpen the tools every Go engineer reaches for.