SOFTWARE ENGINEERING
SWE System Design
Core distributed-systems ideas for software engineers
CURRICULUM
A visual course on the concepts behind reliable large-scale software systems: availability, consistency, partition tolerance, replication, sharding, caching, queues, consensus, failure modes, and the tradeoffs engineers must choose explicitly.