This repository is a curated collection of the literature that has shaped my technical perspective. It is a living document of my professional evolution—from low-level systems programming to strategic architectural design and organizational leadership. This list is not comprehensive, but I strive to update it as often as possible
Focus: Managing complexity, Domain-Driven Design (DDD), and system evolution.
- Key Works: Domain-Driven Design (Evans), Learning DDD (Khononov), Patterns of Enterprise Application Architecture (Fowler).
Focus: Code readability, maintainability, and testing.
- Key Works: Clean Code (Martin), Refactoring (Fowler), Working Effectively with Legacy Code (Feathers).
Focus: Memory management, C/C++, and performance optimization.
- Key Works: The C Programming Language (K&R), The Practice of Programming (Kernighan/Pike).
- Add takeaway
- Link to https://www.goodreads.com/shelf/show/god-to-read
- Link amazon, leanpub etc
| Cover | Book Details | Executive Summary & Core Learning |
|---|---|---|
![]() |
Balancing Coupling in Software Design (2024) Author: Vlad Khononov - on Goodreads |
Analyzes coupling as the primary metric for modularity, providing a framework for architecting evolvable systems. |
![]() |
Learning Domain-Driven Design (2021) Author: Vlad Khononov - on Goodreads |
A modern guide on aligning software architecture with business strategy using strategic and tactical DDD patterns. |
![]() |
Node.js Design Patterns (2020) Author: M. Casciaro, L. Mammino -on Goodreads |
Masterclass in designing enterprise-grade Node.js applications using proven asynchronous patterns. |
![]() |
Developing in PHP 7 / Modern API Design (2019) Author: Enrico Zimuel |
Comprehensive guide to modern PHP development, focusing on PSR standards, middleware, and scalable APIs. |
![]() |
Domain-Driven Design: The First 15 Years (2019) Author: DDD Community - on Goodreads |
A collection of essays exploring the evolution of DDD and its impact on microservices and complex modeling. |
![]() |
Recipes for Decoupling (2019) Author: Matthias Noback |
Practical strategies for reducing coupling in PHP applications to improve flexibility and testability. |
![]() |
Secure by Design (2019) Author: D. B. Johnsson, D. Deogun, D. Sawano |
Explores how to use software design (like DDD) to make applications inherently secure by eliminating vulnerability classes. |
![]() |
Refactoring: Improving the Design (2nd Ed) (2018) Author: Martin Fowler |
The definitive guide on systematically improving code structure without altering external behavior. |
![]() |
Principles of Package Design (2018) Author: Matthias Noback |
Applying SOLID principles to component-level design to manage complex codebases effectively. |
![]() |
Introducing EventStorming (2017) Author: Alberto Brandolini |
A collaborative modeling technique to explore complex business domains using an "infinite surface." |
![]() |
Domain-Driven Design in PHP (2017) Author: C. Buenosvinos et al. |
Practical implementation of DDD tactical patterns specifically within the PHP ecosystem. |
![]() |
Designing Data-Intensive Applications (2017) Author: Martin Kleppmann |
The "gold standard" for understanding scalability, reliability, and the trade-offs of modern data systems. |
![]() |
Elegant Objects Vol. 2 (2017) Author: Yegor Bugayenko |
A provocative critique of procedural habits in OOP, advocating for pure object-oriented purity. |
![]() |
Domain-Driven Design Distilled (2016) Author: Vaughn Vernon |
A concise introduction to the core concepts of DDD for teams and stakeholders. |
![]() |
Elegant Objects Vol. 1 (2016) Author: Yegor Bugayenko |
Challenges conventional OOP paradigms, labeling static methods and NULL references as "evil." |
![]() |
Agile IT Organization Design (2015) Author: Sriram Narayan |
How to structure IT organizations for digital transformation and continuous delivery. |
![]() |
Modernizing Legacy Applications in PHP (2014) Author: Paul M. Jones |
Methodological approach to transforming obsolete PHP systems into testable, modern architectures. |
![]() |
Implementing Domain-Driven Design (2013) Author: Vaughn Vernon |
The practical "Red Book" on applying DDD principles using modern architectural patterns. |
![]() |
CQRS: The Example (2011) Author: Mark Nijhof |
Hands-on implementation of Command Query Responsibility Segregation to handle complex read/write requirements. |
![]() |
Growing Object-Oriented Software, Guided by Tests (2009) Author: S. Freeman, N. Pryce |
Practical application of TDD to guide the design of complex, flexible object-oriented systems. |
![]() |
Clean Code (2008) Author: Robert C. Martin |
A foundational text on software craftsmanship, focusing on readability, maintainability, and professional discipline. |
![]() |
Domain-Driven Design Quickly (2006) Author: A. Avram, F. Marinescu |
A high-level summary of Eric Evans' fundamental concepts of DDD. |
![]() |
UML 2 Style Manual (2005) Author: Carlo Pescio |
Focuses on best practices and stylistic conventions to make UML diagrams clear and professional. |
![]() |
C++ Style Manual Reloaded (2005) Author: Carlo Pescio |
Expert techniques for improving C++ code clarity and adhering to ANSI/ISO standards. |
![]() |
Working Effectively with Legacy Code (2004) Author: Michael C. Feathers |
Essential strategies for introducing tests and refactoring into untested, "legacy" codebases safely. |
![]() |
Refactoring to Patterns (2004) Author: Joshua Kerievsky |
Demonstrates how to evolve code toward design patterns through incremental refactoring. |
![]() |
UML: Guide to Object Programming (2004) Author: Meilir Page-Jones |
Foundations of OO modeling using UML before writing a single line of code. |
![]() |
Extreme Programming Explained (2004) Author: Kent Beck |
The philosophy of XP: embracing change, rapid feedback, and human-centric development. |
![]() |
Domain-Driven Design (2003) Author: Eric Evans |
The "Blue Book" that introduced DDD, focusing on tackling complexity at the heart of software. |
![]() |
The Rational Unified Process: An Introduction (2003) Author: Philippe Kruchten |
Overview of the RUP framework for iterative, use-case-driven development. |
![]() |
Database Design: A Practical Guide (2002) Author: Michael J. Hernandez |
A software-independent approach to logical relational database design. |
![]() |
Patterns of Enterprise Application Architecture (2002) Author: Martin Fowler |
Catalog of patterns for handling data persistence, business logic, and presentation in enterprise systems. |
![]() |
UML Object Design (2002) Author: Neil Ziegland |
Practical guide for translating system requirements into clear visual object models. |
![]() |
Object Design with UML (2002) Author: Meilir Page-Jones |
Focuses on building robust software models using standard UML notation. |
![]() |
UML Components (2001) Author: J. Cheesman, J. Daniels |
A step-by-step process for identifying and designing component-based architectures. |
![]() |
C++ Everything & Beyond (2000) Author: Jesse Liberty |
Complete course on C++, from basic syntax to advanced OOP, templates, and memory management. |
![]() |
The Practice of Programming (1999) Author: B. Kernighan, R. Pike |
Classic guide focusing on simplicity, clarity, and efficiency in practical coding. |
![]() |
The Pragmatic Programmer (1999) Author: A. Hunt, D. Thomas |
Philosophies and practical tips for improving code quality and professional career growth. |
![]() |
Programming Windows (5th Ed) (1998) Author: Charles Petzold |
The "Bible" of Win32 API development, focusing on native 32-bit C applications. |
![]() |
The CRC Card Book (1997) Author: D. Bellin, S. S. Simone |
Comprehensive guide to collaborative object-oriented analysis using CRC cards. |
![]() |
What Every Programmer Should Know About OO Design (1995) Author: Meilir Page-Jones |
Fundamental principles of encapsulation, inheritance, and polymorphism for software quality. |
![]() |
Design Patterns: Elements of Reusable OO Software (1994) Author: GoF (Gamma et al.) |
The seminal text cataloging 23 patterns that solve recurring problems in OO design. |
![]() |
The C++ Programming Language (2nd Ed) (1991) Author: Bjarne Stroustrup |
Written by the creator of C++, introducing classes, templates, and exception handling. |
![]() |
The C Programming Language (1988) Author: B. Kernighan, D. Ritchie |
The definitive "K&R" reference for C, covering syntax, data structures, and memory. |
![]() |
Object-Oriented Software Construction (1988) Author: Bertrand Meyer |
Foundations of OO programming and the introduction of the "Design by Contract" principle. |












































