Skip to content
Learning path

Distributed Systems Engineer

The hard problems: consensus, gossip, partitioning, ordering, fault tolerance. Go and Erlang are the languages; Raft, Kafka, and blockchain are the proving grounds.

advanced17 courses173 lessons~43 hoursFree
Start pathor sign up to track progress

Course sequence

  1. 01

    Go Fundamentals

    Not started

    Learn Go: the language behind Docker, Kubernetes, and most of modern infrastructure. Static types, fast compiles, no class hierarchies. Every lesson is hands-on with real go run execution.

    beginnergo14 lessons~4h
  2. 02

    Go Intermediate

    Not started

    Level up from Go Fundamentals. Interfaces, error handling patterns, goroutines, channels, select, defer/panic/recover. The features that make Go unique — and how real Go services use them.

    intermediatego9 lessons~2h
  3. 03

    Go Advanced

    Not started

    Beyond Go Intermediate. Context cancellation, sync primitives in depth, generics (1.18+), reflection, unsafe. The features Go services running at scale actually use.

    advancedgo7 lessons~2h
  4. 04

    Erlang Fundamentals

    Not started

    Learn Erlang: the language behind WhatsApp, RabbitMQ, and most of the internet's telecom infrastructure. Built for concurrency, fault tolerance, and 'nine nines' uptime. The actor model in its purest form. Will rewire how you think about distributed systems.

    intermediateerlang8 lessons~2h
  5. 05

    Erlang Intermediate

    Not started

    Level up from Erlang Fundamentals. Process registry, links and monitors, ETS tables, records, error handling. The features behind Erlang's reputation for fault tolerance.

    intermediateerlang7 lessons~2h
  6. 06

    Erlang Advanced

    Not started

    Beyond Erlang Intermediate. gen_server behaviour, supervision trees, ETS tables, distributed Erlang concepts. The OTP toolkit that powers WhatsApp and CouchDB.

    advancederlang7 lessons~2h
  7. 07

    Elixir Fundamentals

    Not started

    Learn Elixir: a functional language on the BEAM (Erlang VM), behind WhatsApp's messaging core, Discord's chat infra, and Phoenix LiveView. Pattern matching, immutable data, the pipe operator. Every lesson is hands-on with real elixir execution.

    intermediateelixir15 lessons~4h
  8. 08

    Elixir Intermediate

    Not started

    Level up from Elixir Fundamentals. Pattern matching depth, the Enum/Stream split, structs, processes and message passing, GenServer basics. The features that make Elixir's concurrency story unique.

    intermediateelixir9 lessons~2h
  9. 09

    Elixir Advanced

    Not started

    Beyond Elixir Intermediate. GenServer, supervision trees, OTP behaviours, Tasks and Agents, ETS basics, macros. The OTP toolkit behind WhatsApp's reliability.

    advancedelixir7 lessons~2h
  10. 10

    Build Consistent Hashing

    Not started

    Build the consistent hashing ring used by Memcached, Cassandra, DynamoDB, and CDNs. Implement the basic ring, virtual nodes, weighted distribution, replication, and the alternative rendezvous hashing.

    intermediate11 lessons~3h
  11. 11

    Build a Gossip Protocol

    Not started

    Build the epidemic protocol used by Consul, Cassandra, DynamoDB, and Bitcoin. Implement membership tracking, anti-entropy, SWIM-style failure detection, phi-accrual, and convergence analysis. The foundation of every decentralized cluster coordinator.

    intermediate8 lessons~2h
  12. 12

    Build a Raft KV Store

    Not started

    Implement the Raft consensus algorithm: leader election, log replication, log consistency, snapshots, membership changes, linearizable reads. The protocol behind etcd, Consul, CockroachDB, and TiKV — every modern distributed coordinator.

    advanced12 lessons~3h
  13. 13

    Build Kafka

    Not started

    Build a Kafka-style log: append-only segmented storage, partitions for parallelism, leader-follower replication with ISR, producers with batching/idempotency/transactions, consumer groups with rebalancing, exactly-once semantics, monitoring.

    advanced14 lessons~4h
  14. 14

    Build a Blockchain from Scratch

    Not started

    Build a working blockchain: blocks with prev-hash linking, Merkle trees with proofs, proof-of-work mining with difficulty adjustment, UTXO transactions, double-spend defense, and consensus alternatives (PoS, BFT). The data structure + cryptography behind Bitcoin, Ethereum, and every cryptocurrency.

    advanced17 lessons~4h
  15. 15

    Build a Log Aggregator

    Not started

    Build a Loki/Splunk-style log aggregator: ingest log lines via HTTP, structure them into label-keyed streams, store as compressed chunks, query by label + substring/regex (LogQL-style), aggregate over time, manage retention, and alert on thresholds. The observability stack every team eventually builds.

    advanced10 lessons~3h
  16. 16

    Build a Service Discovery System

    Not started

    Build the registry behind Consul, Eureka, and Kubernetes service discovery: registration with TTLs, tags + metadata, health checks, load-balanced lookup, replicated HA, and the Kubernetes/service-mesh patterns. Used by every microservice architecture.

    intermediate10 lessons~3h
  17. 17

    Build a Rate Limiter

    Not started

    Build production-grade rate limiters: fixed window, sliding window, token bucket, leaky bucket. Then make them distributed (via Redis) and tiered (per-IP, per-user, per-plan). Used by every API gateway, web server, and microservice.

    intermediate8 lessons~2h

Create a free account to track your progress across this path.

Distributed Systems Engineer