10-Week Golang Learning Plan for
Distributed Systems
Tools & Frameworks
Tool/Framework Use Case
Gin Lightweight HTTP framework
Echo High-performance web framework
Go Kit Microservices toolkit
Protobuf Data serialization for RPC
gRPC High-performance RPC framework
Docker Containerization
Kubernetes Container orchestration
etcd Distributed key-value store
Consul Service discovery and config
Recommended Books
Book Title Link
The Go Programming Language Amazon
Go in Action Amazon
Concurrency in Go Amazon
Designing Data-Intensive Applications Amazon
GitHub Repos for Go Projects
Repo Description
golang/go Official Go repository
docker/docker Docker written in Go
kubernetes/kubernetes Distributed systems core
prometheus/prometheus Monitoring system
etcd-io/etcd Distributed key-value store
hashicorp/consul Service discovery and config
go-kit/kit Microservices toolkit
grpc/grpc-go gRPC for Go
caddyserver/caddy Fast, extensible web server
hashicorp/nomad Distributed workload orchestrator
Weekly Breakdown
Week Topic
1–2 Go Basics & Tooling
3–4 Intermediate Go (Structs, Interfaces, Testing)
5–6 Concurrency & Parallelism
7–8 Networking & HTTP
9–10 Distributed Systems (RPC, Microservices, Containers, Kubernetes)
Detailed Day-Wise Plan
Week 1–2: Go Basics & Tooling
Topics:
Syntax, variables, control structures
Functions, packages, modules
Go toolchain ( go run , go build , go mod )
Testing and debugging
Resources:
Go Tour
Effective Go
Go By Example
Udemy: Learn How To Code: Google's Go (Golang) Programming Language
Projects:
1. CLI Calculator
2. File Scanner
3. URL Shortener (CLI)
4. Todo CLI App
5. Markdown to HTML Converter
GitHub Repos to Study:
spf13/cobra
urfave/cli
Week 3–4: Intermediate Go (Structs, Interfaces, Testing)
Topics:
Structs and methods
Interfaces and type assertions
Error handling
Unit testing, benchmarks
Goroutines (intro)
Resources:
Go Blog
Go Testify
Go 101
Projects:
1. Bank Account Manager
2. REST API Client
3. CSV Data Analyzer
4. Simple ORM
5. Rate Limiter
GitHub Repos to Study:
docker/docker
etcd-io/etcd
Week 5–6: Concurrency & Parallelism
Topics:
Goroutines and sync.WaitGroup
Channels and select statements
Mutexes and atomic operations
Context package for cancellation
Resources:
Concurrency in Go (Book)
Go Concurrency Patterns (Talk by Rob Pike)
Go Channel Axioms (Talk by Sameer Ajmani)
Projects:
1. Web Crawler
2. Parallel File Downloader
3. Chat Server
4. Job Scheduler
5. Concurrent Cache
GitHub Repos to Study:
kubernetes/kubernetes
hashicorp/consul
Week 7–8: Networking & HTTP
Topics:
TCP/UDP basics
HTTP clients/servers
Middleware and routing
JSON/XML parsing
TLS/SSL
Resources:
Go HTTP Package Docs
Go Web Examples
Building Web Apps with Go (Gobook)
Projects:
1. HTTP Proxy Server
2. REST API with JWT Auth
3. WebSocket Chat App
4. Load Balancer
5. Rate-Limited API
GitHub Repos to Study:
go-kit/kit
gin-gonic/gin
Week 9–10: Distributed Systems
Topics:
RPC (Remote Procedure Calls)
gRPC and Protobuf
Microservices architecture
Containerization (Docker)
Kubernetes basics
Resources:
gRPC Go Docs
Kubernetes Docs
Go Kit Distributed Tracing
Docker Docs
Microservices Patterns (Chris Richardson)
Projects:
1. gRPC Chat Service
2. Distributed Key-Value Store
3. Service Mesh with Istio
4. CI/CD Pipeline
5. Event Streaming System
GitHub Repos to Study:
istio/istio
hashicorp/raft
nats-io/nats.go