Reading List
A collection of articles and books I recommend for software engineers.
Books
- Designing Data-Intensive Applications
The best introduction to distributed systems and data fundamentals.
- Crafting Interpreters
A hands-on guide to building a complete programming language from scratch—first as a tree-walking interpreter, then a fast bytecode VM.
- Database Internals
Deep dive into how databases work under the hood.
- The rust book
The Rust book is the official guide to learning Rust—ownership, lifetimes, and fearless concurrency from the ground up.
Articles
- What color is your function?
A classic essay that explains why async functions split your codebase into “red” and “blue” worlds—and how that colors everything you build.
- Learn more programming languages, even if you won't use them
Learning new languages, even if you never ship them, rewires your brain, handing you fresh lenses that turn once-impossible problems into trivial ones.
- SQL needed structure
SQL’s Achilles heel: it stores data in flat tables but UIs need hierarchies, so we drown in joins, round-trips and glue code to re-shape what the query language was never built to return.
- Writing a SQL database from scratch in Go: 1. SELECT, INSERT, CREATE and a REPL
First article of a 4-part series making an SQL database from scratch.