Library
Books I've read and recommend.
Technical
Designing Data-Intensive Applications
Excellent book about many distributed systems concepts, databases, and big data processing ideas.
Clean Code
A handbook of agile software craftsmanship. Essential principles for writing readable, maintainable code.
The Algorithm Design Manual
Practical guide to algorithm design with real-world problems and solutions. Great reference for technical interviews.
Design Patterns
The classic "Gang of Four" book on reusable object-oriented software design patterns.
Productivity & Career
Deep Work
On the importance of uninterrupted deep work and some pieces of advice on how to achieve that.
So Good They Can't Ignore You
On how the passion hypothesis is flawed. Building career capital matters more than following your passion.
Atomic Habits
A practical framework for building good habits and breaking bad ones through tiny changes.
Who Moved My Cheese?
A simple parable about dealing with change in work and life. Quick read with lasting lessons.
Life Design & Psychology
Designing Your Life
Applying design thinking to build a meaningful and fulfilling life. Practical exercises included.
Algorithms to Live By
Explores how computer science algorithms can be applied to everyday life decisions.
Flow: The Psychology of Optimal Experience
The classic book on achieving the state of flow and finding happiness through engagement.
The Elephant in the Brain
On hidden motives in everyday life. Explores the unconscious reasons behind our behavior.
Tools of Titans
Tactics, routines, and habits from world-class performers across various fields.
Numbers Don't Lie
71 things you need to know about the world. Vaclav Smil uses data to explain energy, environment, and modern life.