Skip to content

⚙️ Systems Programming Track

Operating systems, compilers, databases, networking the infrastructure that everything else runs on.


🎯 Target Roles

  • Systems Engineer
  • Kernel Developer
  • Compiler Engineer
  • Database Engineer
  • Network Engineer (low-level)
  • Performance Engineer
  • Infrastructure Engineer (bare-metal)

📚 Core Courses

Operating Systems

Course Platform Institution Level
Operating Systems (6.828/6.S081) MIT OCW MIT Advanced
Operating Systems NPTEL IIT Madras Intermediate
Introduction to Operating Systems Udacity (free) Georgia Tech Intermediate
Operating Systems: Three Easy Pieces Free Book UW-Madison Intermediate
Advanced Operating Systems Udacity (free) Georgia Tech Advanced
Linux Kernel Programming NPTEL IIT Bombay Advanced

Compilers & Language Implementation

Course Platform Institution Level
Compilers (CS143) edX (audit) Stanford Intermediate
Compiler Design NPTEL IIT Kanpur Intermediate
Crafting Interpreters Free Book Bob Nystrom Intermediate
Build Your Own Lisp Free Book Daniel Holden Beginner
LLVM Tutorial Official Docs LLVM Project Advanced
Programming Languages (CS173) YouTube Brown University Intermediate

Database Internals

Course Platform Institution Level
Database Systems (15-445) YouTube/CMU CMU (Andy Pavlo) Intermediate
Advanced Database Systems (15-721) YouTube/CMU CMU (Andy Pavlo) Advanced
Database Management Systems NPTEL IIT Madras Intermediate
Architecture of a Database System Free Paper UC Berkeley Advanced

Computer Networking (Low-Level)

Course Platform Institution Level
Computer Networks NPTEL IIT Kharagpur Intermediate
Computer Networking (Stanford) YouTube Stanford Intermediate
Beej's Guide to Network Programming Free Book Brian Hall Intermediate
High Performance Browser Networking Free Book Ilya Grigorik Advanced
TCP/IP Illustrated (lectures) YouTube Various Advanced

Concurrency & Parallel Programming

Course Platform Institution Level
Parallel Computer Architecture NPTEL IIT Kanpur Advanced
Concurrent Programming in Java Coursera (audit) Rice University Intermediate
Performance Engineering (6.172) MIT OCW MIT Advanced
The Art of Multiprocessor Programming YouTube Various Advanced

Distributed Systems

Course Platform Institution Level
Distributed Systems (6.824) MIT OCW MIT Advanced
Distributed Computing NPTEL IIT Patna Intermediate
Designing Data-Intensive Applications (talks) YouTube Martin Kleppmann Advanced

🛠️ Practical Projects

Project What You Learn Resource
Write a shell Process management, syscalls Build Your Own Shell
Write a malloc Memory management Writing a Memory Allocator
Write a TCP stack Networking from scratch Let's Code a TCP/IP Stack
Write a database Storage engines, B-trees Build Your Own Database
Write a compiler Parsing, codegen, optimization Crafting Interpreters
Write an OS Everything Writing an OS in Rust
Write a container Namespaces, cgroups Containers from Scratch

📖 Essential Reading (Free)

Book Topic Link
OSTEP Operating Systems ostep.org
Dive into Systems Computer Systems diveintosystems.org
Crafting Interpreters Compilers craftinginterpreters.com
Beej's Network Guide Networking beej.us/guide/bgnet
The Architecture of Open Source Applications System design aosabook.org
Database Internals (talks) Storage engines CMU DB YouTube

📖 Learning Path

Beginner:     C programming → Data structures → Computer architecture
Intermediate: OS concepts → Networking → Concurrency → Build a shell
Advanced:     Kernel hacking → Compiler construction → Database internals
Expert:       Distributed systems → Formal verification → Performance engineering

"Systems programming is where you learn that abstractions leak, hardware lies, and the only truth is the assembly output."