10-Week Golang Learning Plan for
Distributed Systems
Top 3 Resources for Starting:
A Tour of Go
Go By Example
Let's go
Let's go Further
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
Golang Project Ideas
Beginner Projects
Project Description Tech Stack
CLI File Sort files by extension with command-
os/exec, flag, filepath
Organizer line flags
HTTP Weather Fetch and display data from weather net/http, JSON
Service APIs unmarshaling
Create persistent short links with
URL Shortener gin/echo, BoltDB
basic storage
Intermediate Projects
Project Description Tech Stack
Distributed Key- Redis-like store with TCP
TCP sockets, sync.Map
Value Store interface
Websocket-based messaging with gorilla/websocket, Redis
Real-time Chat App
rooms Pub/Sub
Microservices with Order processing system with gRPC, protocol
gRPC payment service buffers
Concurrent web scraper with rate
Scraper Framework colly, worker pools
limiting
Advanced Projects
Project Description Tech Stack
Auto-scale custom resources based client-go, controller-
Kubernetes Operator
on metrics runtime
Blockchain PoW blockchain with transactions crypto/sha256,
Implementation & mining persistence
Distributed Task Fault-tolerant cron with leader Raft consensus,
Scheduler election hashicorp/raft
Service Mesh Mini-proxy for mTLS and traffic Envoy xDS, SPIFFE
Sidecar routing identities
Infrastructure/DevOps Focus
Project Description Tech Stack
Infrastructure-as- Terraform-like cloud resource
Cobra CLI, AWS SDK
Code Tool manager
Collect/process logs from Fluentd architecture,
Log Aggregator
multiple services Elasticsearch
Chaos Engineering Inject failures into Kubernetes
client-go, chaos-mesh SDK
Platform clusters
Specialized Domains
Project Description Tech Stack
Cilium/eBPF
eBPF Data Collector Monitor system calls via eBPF probes
libraries
WebAssembly Image Run image manipulation in browsers TinyGo,
Processor via WASM WebAssembly
Order matching engine with nanosecond Lock-free
HFT Trading Simulator
precision algorithms
Full-Stack Projects
Project Description Tech Stack
Serverless E-
AWS Lambda product catalog AWS SDK, DynamoDB
Commerce
IoT Data Sensor data collection → Kafka → DB → MQTT, Kafka,
Pipeline Dashboard TimescaleDB
Key Learning Areas
- Concurrency: Worker pools, fan-out/fan-in
- Performance: pprof profiling, GC tuning
- Resilience: Circuit breakers, backpressure
- Observability: OpenTelemetry tracing
- Deployment: Docker multi-stage builds