Foundational Learning Plan
Improving on fundamentals under a few specific broad topics, broadly inspired by teachyourselfcs.com
Operating Systems
- Operating Systems - Three Easy Pieces
- Linux Kernel Development
- Firecracker
- Writing an OS in Rust (notes so far)
- Ask HN: What should a systems/low-level software engineer know?
- LMAX Disruptor
- Linux
- Lectures
- MIT 6.828 - Operating System Engineering
- Stanford CS140e -OR- Georgia Tech CS-3210
Distributed Systems
- Read aphyr/distsys-class (notes)
- MIT 6.824 Distributed Systems
- A Distributed Systems Reading List
- Testing Distributed Systems
- Designing Data-Intensive Applications → Chs 2, 4, 10-12
- https://github.com/theanalyst/awesome-distributed-systems
- Blog posts from http://www.bailis.org/blog
- Distributed Services with Go
- Papers
- The Tail at Scale
- Chain Replication
- Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web
- Amazon Dynamo (Leaderless, not DynamoDB)
- Amazon Aurora: On Avoiding Distributed Consensus for I/Os, Commits, and Membership Changes
- Building on Quicksand
- Life beyond distributed transactions
- Spanner
- CockroachDB
- Borg, Omega, and Kubernetes
- Talks
- Amazon DynamoDB Under the Hood
- [Distributed transaction architectures](
- [AWS Lambda Under the Hood](
- [How to Take Control of Systems, Big & Small](
- The Functional Database
- Watch Kleppmann’s lectures (~7h in total)
Computer Architecture
- Computer Systems - A Programmer’s Perspective
- What Every Programmer Should Know About Memory (notes so far)
Networking
- [Finish jonhoo’s TCP/IP implementation in Rust](
- Beej’s Guide: Networks
- Linux Programming Interface: the IPC Chapters
- Beej’s Guide: IPC
- High Performance Browser Networking
- TCP/IP Illustrated
Databases
- [Making the case for write-optimized database algorithms](
- Database Internals: A deep-dive into how distributed data systems work
- CMU: Intro to Database Systems (32 hours)
- CMU: Advanced Database Systems (31 hours)
- Seven Databases in Seven Weeks