Readings

Readings

Developer Books – Reading Notes

🕒 Last updated: December 21, 2025


This is a list of books I’ve read over the years and found genuinely useful in my work as a software developer.

These are not summaries. Just short notes on why a book stuck with me and when it tends to be useful.


Domain-Driven Design: Tackling Complexity in the Heart of Software

by Eric Evans

Domain-Driven Design

Picked up to better understand how complex business domains can be modeled explicitly and how language, boundaries, and design decisions influence long-term system evolution.


Continuous API Management

by Mehdi Medjaoui

⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ (10/10)

Continuous API Management

What stayed with me from this book is the idea that APIs should be treated as long-living products, not just technical artifacts.

It helped me think more clearly about ownership, evolution, and the cost of decisions that seem small early on but become hard to change later. Especially relevant in environments where APIs outlive teams and technologies.


Software Architecture: The Hard Parts

by Neal Ford, Mark Richards, Pramod Sadalage, Zhamak Dehghani

⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ (10/10)

Software Architecture: The Hard Parts

This book resonated with me because it openly acknowledges that most architectural decisions involve trade-offs, not clean answers.

It’s useful once you’ve moved past searching for “the right architecture” and started dealing with real constraints: timelines, teams, existing systems, and organizational pressure. It helped me reason more explicitly about decisions I was already making intuitively.


Design It!

by Michael Keeling

⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ (10/10)

Design It!

I liked this book because it treats design as something that evolves continuously, not something you lock in early.

It aligns well with how real projects tend to work, where architecture needs to adapt over time and decisions are revisited as the system grows. It reinforced the idea that design is tightly connected to feedback and delivery, not just upfront planning.


A Philosophy of Software Design

by John Ousterhout

⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ (10/10)

A Philosophy of Software Design

This book changed how I think about complexity and where it comes from in software systems.

Rather than focusing on specific techniques, it pushed me to pay closer attention to abstractions, responsibility boundaries, and how decisions accumulate over time. I don’t agree with every opinion, but it sharpened my sensitivity to design choices that silently increase complexity.


The Pragmatic Programmer

by Andy Hunt & Dave Thomas

⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ (10/10)

The Pragmatic Programmer

This is one of the few books I keep mentally referencing regardless of the technology I’m working with.

It’s less about code and more about how you approach your work: ownership, responsibility, and continuous improvement. Many of its ideas are simple, but they compound over time, which is why the book stays relevant.


Don’t Make Me Think, Revisited

by Steve Krug

⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ (10/10)

Don't Make Me Think, Revisited

This book made me much more conscious of how people actually interact with software.

Even outside UI work, it reinforced the importance of clarity and intent. It’s a quick read, but the core idea — that unnecessary thinking is a design failure — stayed with me long after finishing it.


Patterns of Enterprise Application Architecture

by Martin Fowler

⭐⭐⭐⭐⭐⭐⭐⭐⭐☆ (9/10)

Patterns of Enterprise Application Architecture

I mainly value this book for the vocabulary it provides.

It helped me put names on architectural concepts I had already encountered in practice but struggled to describe clearly. The more systems you’ve worked on, the more familiar the patterns start to feel.


Head First Design Patterns

by Eric Freeman, Elisabeth Robson

⭐⭐⭐⭐⭐⭐⭐⭐⭐☆ (9/10)

Head First Design Patterns

This book was an important first step for me in understanding design patterns and, more importantly, why they exist.

I still recommend it as an entry point because it makes patterns feel concrete and relatable, without requiring heavy theoretical background. It helped me build the mental model needed to recognize patterns in real code and later approach more formal material with confidence.


Clean Architecture

by Robert C. Martin

⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐ (10/10)

Clean Architecture

What I value most in this book is not the specific rules, but the way it forces you to think about boundaries and dependencies.

I don’t follow it dogmatically, but it consistently nudged me toward designs that are easier to reason about and maintain as systems grow.


Clean Code

by Robert C. Martin

⭐⭐⭐⭐⭐⭐⭐☆☆☆ (7/10)

Clean Code

This was one of the first books I read early in my career and, at the time, it helped set a baseline for readability and basic discipline.

Over time, I found that some of its guidance doesn’t age particularly well if followed rigidly. It’s still a useful read, but best treated as a starting point rather than a rulebook. The value lies in understanding the intent behind the advice, not in applying it blindly.