My FavoriteBooks
A curated collection of books that have significantly influenced my personal and professional development across different genres and topics.
Software Engineering
These are the books that completely changed how I think about writing code and building software. They're not just technical—they're about the mindset behind great development.

Inspired: How to Create Tech Products Customers Love
by
Marty Cagan
What Stayed With Me
- What really hit me was that most teams fail not because they build badly, but because they build the wrong thing.
- The book changed how I see product discovery — it’s basically about learning fast and killing bad ideas early.
- I stopped thinking of product managers as feature planners; they’re there to fully own the problem.
- It made me realize how much trust and autonomy inside a team affects the final product.
- After reading it, I can instantly tell when a company is just shipping features instead of solving real problems.

Domain-Driven Design: Tackling Complexity in the Heart of Software
by
Eric Evans
What Stayed With Me
- This book made me realize most complexity comes from misunderstanding the business, not from the code itself.
- Once you really align your code with how the business thinks, everything starts to feel less messy.
- The idea of a shared language sounds simple, but it completely changes how teams communicate and design.
- Bounded contexts finally explained why big systems feel fine at first and then slowly turn into a nightmare.
- It taught me that you don’t eliminate complexity, you accept it and design around the most important parts.

BDD in Action: Behavior-Driven Development for the Whole Software Lifecycle
by
John Ferguson Smart
What Stayed With Me
- What surprised me is that BDD is way more about communication than testing.
- It really clicked that good scenarios come from real business examples, not technical thinking.
- The book helped me see tests as living documentation instead of something you write at the end.
- BDD only works when developers, testers, and business people actually collaborate.
- It made me more careful about jumping into code before everyone agrees on behavior.

12 Essential Skills for Software Architects
by
Dave Hendricksen
What Stayed With Me
- This book made it clear that architecture is mostly about making good trade-offs, not finding perfect solutions.
- I realized how much of an architect’s job is communication and influencing, not just technical design.
- It helped me see why strong architects care deeply about business goals and constraints.
- The book changed how I think about technical decisions. Context matters more than best practices.
- After reading it, I stopped seeing architects as ‘senior coders’ and more as technical leaders.

Implementing Domain-Driven Design
by
Vaughn Vernon
What Stayed With Me
- This is the book that finally showed me how DDD ideas translate into real code.
- It showed me how to decide where boundaries belong by using business rules, not just technical layers.
- Seeing real examples made aggregates and domain events feel practical instead of theoretical.
- The book made me more disciplined about keeping domain logic clean and protected.
- After reading it, I felt much more confident applying DDD in real systems, not just talking about it.

Clean Code: A Handbook of Agile Software Craftsmanship
by
Robert C. Martin
What Stayed With Me
- This book changed how I think about readability. Writing code means taking responsibility for future readers.
- I learned that good naming is not a nice-to-have. Clear names reduce the need for comments and misunderstandings.
- Writing small, focused functions became a habit. When a function does one thing well, the system is easier to understand.
- Tests stopped feeling optional. Without tests, refactoring safely and confidently is almost impossible.
- Refactoring became part of daily work instead of something postponed or avoided.

Refactoring: Improving the Design of Existing Code
by
Martin Fowler
What Stayed With Me
- This book taught me that refactoring isn’t a big risky rewrite, it’s a series of small, safe improvements.
- I became much better at spotting code smells and understanding why they’re dangerous.
- It made tests feel essential for safely changing and improving existing code over time.
- I learned that good design usually comes from continuous improvement, not upfront perfection.
- After reading it, I felt confident touching old code without constantly fearing breaking things.

Test Driven Development: By Example
by
Kent Beck
What Stayed With Me
- It made me think tests first instead of writing tests after the fact. The test clarified behavior before implementation.
- The Red-Green-Refactor cycle became natural: write a failing test, make it pass quickly, then clean up the code.
- TDD pushed me to solve problems in very small, manageable steps instead of guessing at big solutions.
- It gave me confidence to refactor old code because the tests caught regressions immediately.
- Seeing TDD in real examples made it feel like a practical way of working, not just a theory.

xUnit Test Patterns: Refactoring Test Code
by
Gerard Meszaros
What Stayed With Me
- This book made me realize that poorly designed tests create hidden technical debt and destroy trust in the test suite.
- I understood that tests are code too, and deserve clear structure, good naming, and patterns just like production code.
- The idea of test smells gave me clear language to explain what was wrong and how to fix it.
- I learned that patterns like test fixtures, test data builders, and test doubles make tests expressive and less brittle.
- After reading it, I started refactoring test code regularly instead of letting messy tests accumulate and block progress.

Patterns, Principles, and Practices of Domain-Driven Design
by
Scott Millett & Nick Tune
What Stayed With Me
- This book helped me connect DDD concepts to real architectural choices, not just code structure.
- It made bounded contexts feel practical by showing how they shape architectural and organizational boundaries.
- I finally understood how messaging and domain events connect DDD patterns into a coherent system design.
- The book changed how I think about modeling over time, not just at the start of a project.
- After reading it, I felt more confident mixing DDD with real-world constraints and trade-offs.

Design Patterns: Elements of Reusable Object-Oriented Software
by
Erich Gamma & others
What Stayed With Me
- Oh, the Gang of Four book. At first it felt dense and abstract, but over time I realized it was giving names to problems I had already faced in real code.
- This book taught me that design patterns are not recipes to apply blindly, but shared vocabulary for discussing design decisions.
- It helped me recognize when flexibility is needed and when simplicity is the better choice.
- After reading it, I saw how patterns encode proven solutions to common design problems, so I wasn’t inventing the same solutions over and over.

Object-Oriented Analysis and Design with Applications
by
Grady Booch
What Stayed With Me
- This book helped me understand how to break complex problems into clear, well-defined objects that reflect the real domain.
- I learned that good object-oriented design depends on core ideas like abstraction, encapsulation, and clear responsibilities.
- Using diagrams and models made complex designs easier to think about and explain to others.
- After reading it, I treated analysis and design as continuous activities that evolve with the system rather than a one-time phase at the beginning.
Literary Fiction
These stories blew my mind and made me think about life in ways I never expected. They're not light reads, but they're the kind that stick with you.

The Blind Owl
by
Sadegh Hedayat

Steppenwolf
by
Hermann Hesse

The Gadfly
by
E. L. Voynich

The Alchemist
by
Paulo Coelho

1984
by
George Orwell

Wool
by
Hugh Howey

The Catcher in the Rye
by
J. D. Salinger

When Nietzsche Wept
by
Irvin D. Yalom
Personal Growth
These books helped me level up as a person. They're practical, honest, and full of insights that actually make a difference in how you live and work.

Skin in the Game: Hidden Asymmetries in Daily Life
by
Nassim Nicholas Taleb
What Stayed With Me
- This book made me realize that people who make decisions should share the consequences of those decisions, otherwise incentives are misaligned.
- I learned to spot situations where advice comes from people who don’t actually bear the risk, and why that’s dangerous.
- It explained how unfair risk creates poor outcomes.
- The idea of symmetry changed how I see accountability in leadership, finance, and policy decisions.
- After reading it, I became much more skeptical of experts who benefit from actions that harm others.

Antifragile: Things That Gain from Disorder
by
Nassim Nicholas Taleb
What Stayed With Me
- This book made me stop trying to predict everything and focus on building systems that work under uncertainty.
- I realized the goal is not to avoid risk, but to benefit when volatility inevitably appears.
- It changed how I see failure. Small failures can strengthen a system instead of damaging it.
- I became more skeptical of systems that only survive in stable, ideal conditions.
- After reading it, I placed much more value on simplicity, optionality, and margin of safety.

Calm Your Thoughts: Stop Overthinking, Stop Stressing, Stop Spiraling, and Start Living
by
Nick Trenton
What Stayed With Me
- This book helped me notice when my thoughts start looping instead of moving forward.
- I learned how overthinking feels productive but usually keeps me stuck in the same worries.
- It showed simple ways to interrupt spirals before they escalate into stress or anxiety.
- The practical techniques made calming my mind something I could actually do in the moment.
- After reading it, I became more aware of how my internal dialogue shapes my mood and behavior.

The Happiness Hypothesis: Finding Modern Truth in Ancient Wisdom
by
Jonathan Haidt
What Stayed With Me
- The best thing I learned is that daily routines, relationships, and surroundings matter more for happiness than willpower or positive thinking.
- The rider and elephant metaphor finally explained why knowing the right thing does not mean I will actually do it.
- It taught me that progress and meaning matters more than pleasure.
- It helped me understand that emotions usually drive behavior, and reasoning often comes afterward to justify it.
- After reading it, I became more patient with my own flaws instead of fighting them aggressively.

The Scout Mindset: Why Some People See Things Clearly and Others Don’t
by
Julia Galef
What Stayed With Me
- This book clearly explains the difference between defending beliefs and genuinely seeking the truth.
- I learned that good judgment depends more on emotional habits than on intelligence or knowledge.
- It showed how people defend beliefs while feeling rational.
- Changing your mind in response to evidence is presented as a strength, not a weakness.
- After reading it, I focused more on accurately understanding opposing views before criticizing them, which improved how I handle disagreements.

The Compound Effect
by
Darren Hardy
What Stayed With Me
- This book made me realize how small daily choices quietly shape long-term results.
- I learned that consistency matters more than intensity when it comes to real progress.
- It showed how habits compound over time, whether they are good or bad.
- Tracking simple behaviors made my actions more intentional and less automatic.
- After reading it, I focused less on motivation and more on building reliable routines.

Deep Work: Rules for Focused Success in a Distracted World
by
Cal Newport
What Stayed With Me
- This book made me realize how rare and valuable uninterrupted focus has become.
- I learned that deep work is a skill that must be trained deliberately, not something that happens by chance.
- It showed me how constant context switching quietly destroys the quality of thinking and output.
- Scheduling time for deep work felt restrictive at first, but quickly became freeing.
- After reading it, I started protecting focus as seriously as any other professional responsibility.

Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones
by
James Clear
What Stayed With Me
- This book made me realize that habits are shaped more by systems and environment than by motivation.
- I learned that focusing on small, consistent improvements is far more effective than chasing big changes.
- The idea of identity-based habits changed how I approach behavior. I focused on who I want to become, not just what I want to achieve.
- Changing the environment makes habits easier to keep.
- After reading it, I cared more about consistency and process than short-term results.

Thinking, Fast and Slow
by
Daniel Kahneman
What Stayed With Me
- This book made me aware of how often I rely on fast, intuitive thinking without realizing it.
- I learned that confidence in a judgment does not mean it is accurate.
- The distinction between fast and slow thinking helped me pause before important decisions.
- It showed how cognitive biases quietly shape choices in finance, work, and everyday life.
- After reading it, I try to slow down my thinking when accuracy matters more than speed.

The Seven Habits of Highly Effective People
by
Stephen R. Covey
What Stayed With Me
- This book shifted my focus from quick techniques to long-term principles that guide decisions.
- I learned that taking responsibility for my choices is the foundation of real effectiveness.
- Thinking in terms of important versus urgent changed how I prioritize my time and energy.
- I realized that listening deeply often matters more than trying to be understood.
- After reading it, I cared more about aligning actions with values than chasing short-term results.