Go (Golang) Roadmap
Phase 1:Go Fundamentals
beginner2 weeksSyntax & Types
Variables, basic types, arrays, slices, and maps, plus how Go handles type inference with the := operator.
beginner2 weeksFunctions & Control Flow
Functions, multiple return values, defer, panic, and recover: Go's idiomatic error-passing patterns.
intermediate2 weeksStructs & Interfaces
Go's approach to types: structs for data, interfaces for behavior. No inheritance, just composition.
Phase 2:Go Concurrency
intermediate2 weeksGoroutines
Launch thousands of lightweight concurrent functions. Go's runtime multiplexes them across OS threads.
intermediate2 weeksChannels
Communicate between goroutines safely with channels. Share by communicating instead of sharing state.
intermediate1 weeksync Package
WaitGroups, Mutexes, and Once: when channels aren't the right tool and you need explicit synchronization.
Phase 3:Building APIs & Services
intermediate2 weeksHTTP with net/http
Go's standard library HTTP server: handlers, routing, middleware, and writing a working API without a framework.
intermediate2 weeksJSON & REST
Marshal and unmarshal JSON, build RESTful endpoints, and handle request validation and error responses.
intermediate3 weeksDatabases
Connect to PostgreSQL with database/sql or sqlx. Write queries, handle migrations, and manage connection pools.
Phase 4:Cloud & Professional Go
beginner1 weekGo Modules & Tooling
Dependency management with Go modules, testing with go test, plus linting and formatting with gofmt and golangci-lint.
intermediate2 weeksDocker
Containerize Go services. Go builds small, fast binaries that make excellent Docker images.
intermediate4 weeksPortfolio Project
One shipped project: a REST API, a CLI tool, or a small service deployed to a cloud provider. Put the code on GitHub with a demo in the README.
Next steps
Keep exploring
Other goals