MIT 6.5840 Distributed Systems
The graduate distributed systems course, with lecture videos, the paper reading list and the laboratory assignments where you implement Raft and a sharded key value store in Go. Genuinely hard, and the single best free thing in this area.
Course
System Design
MIT
A full semester
Advanced
Free
What it is
MIT's distributed systems course, published in full: lectures, notes, the reading list of foundational papers, and four substantial programming assignments.
Why the labs matter
You implement MapReduce, then Raft, then a fault tolerant key value store on top of it, then shard it. Building a consensus algorithm and watching it survive the test suite killing nodes teaches something that no amount of reading about consensus does. Most engineers who complete these describe it as the point distributed systems stopped feeling like magic.
The honest warning
This is a real graduate course and the labs are demanding. Expect weeks, not evenings, and expect to write Go. If you only need to pass a design interview, this is more than you need. If you want to actually understand the field, nothing free comes close.
Best for: engineers who want depth, and anyone moving into infrastructure or platform work.
Ready to start?
Opens on MIT in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Every session is free; a few slots open each week.
Follow along
New writing, resources and project ideas land here first.