Database Internals: A Deep Dive into How Distributed Data Systems Work#
Author: Alex Petrov
A comprehensive guide to the internal workings of distributed data systems. Covers storage engines, replication, and consensus algorithms like Raft and Paxos. A must-read for anyone working with databases. Since I'm big on databases, this was a no-brainer.
Designing Data-Intensive Applications#
Author: Martin Kleppmann
It's all about data these days. It's the new elixir of life. Covers OLTP vs. OLAP, distributed databases, caching strategies, event-driven architectures, and stream processing. If you don't understand this stuff, you're missing out.
Crafting Interpreters#
Author: Robert Nystrom
Most don't care about how their code gets executed, but they should. This book takes you from lexing, parsing, and ASTs to building a full interpreter from scratch. Writing a line that looks like English and making it do things is pure magic. Every programmer should go through that euphoric feeling at least once.
Clean Code: A Handbook of Agile Software Craftsmanship#
Author: Robert C. Martin
A definitive guide to writing code that is both elegant and maintainable. Talks about meaningful naming, reducing dependencies, writing small functions, and avoiding unnecessary complexity. I will continue to write garbage code though.
Design Patterns: Elements of Reusable Object-Oriented Software#
Authors: Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
The daddy of all design pattern books. Introduces concepts like Singleton, Factory, Observer, Decorator, and Command patterns, which still dominate software architecture today. If you haven't read this, you’ve definitely used its patterns without realizing it.
The Clean Coder: A Code of Conduct for Professional Programmers#
Author: Robert C. Martin
A call to professional discipline and ethical behavior. Talks about saying "no" when needed, handling deadlines, and taking full responsibility for your work. More than just a book—it's a mindset shift.