resources
constantly updated as i find more good stuff
papers worth reading
communicating sequential processes
hoare, 1978
theoretical foundation for go's concurrency model.
read paper →can programming be liberated from the von neumann style?
backus, 1977
why functional programming matters.
read paper →recursive functions of symbolic expressions
mccarthy, 1960
the paper that invented lisp.
read paper →out of the tar pit
moseley & marks, 2006
complexity is the enemy. every programmer should read this.
read paper →distributed systems
raft consensus algorithm
ongaro & ousterhout, 2014
more practical alternative to paxos.
read paper →the google file system
ghemawat, gobioff, leung, 2003
foundation for modern distributed storage.
read paper →essential books
the c programming language
kernighan & ritchie
still the best way to learn how computers work at the system level.
structure and interpretation of computer programs
abelson & sussman
how to think about computation.
designing data-intensive applications
kleppmann
the bible for modern backend systems.
computer systems: a programmer's perspective
bryant & o'hallaron
how computers work from the bottom up.
crafting interpreters
nystrom
build two complete interpreters from scratch.
database internals
petrov
deep dive into how databases actually work.
hands on learning
why this stuff matters
most programmers today are basically frontend developers who accidentally ended up writing backend code. they import frameworks without understanding what those frameworks do.
the industry is full of people who know how to use kubernetes but don't understand what a syscall is. who can configure microservices but can't write a parser.
the papers above are the real computer science. not the programming bootcamp stuff, not the enterprise patterns. the foundational work that actually matters.
read this stuff and you'll understand why simple is better than complex, why data is better than objects, and why understanding the machine matters more than following patterns.