Discover new books on Goodreads
Meet your next favorite book

Software Design Books

Showing 1-50 of 512
Domain-Driven Design: Tackling Complexity in the Heart of Software Domain-Driven Design: Tackling Complexity in the Heart of Software (Hardcover)
by (shelved 44 times as software-design)
avg rating 4.15 — 5,908 ratings — published 2003
Rate this book
Clear rating
Design Patterns: Elements of Reusable Object-Oriented Software Design Patterns: Elements of Reusable Object-Oriented Software (Hardcover)
by (shelved 42 times as software-design)
avg rating 4.20 — 12,044 ratings — published 1994
Rate this book
Clear rating
A Philosophy of Software Design A Philosophy of Software Design (Paperback)
by (shelved 34 times as software-design)
avg rating 4.22 — 4,881 ratings — published 2018
Rate this book
Clear rating
Head First Design Patterns Head First Design Patterns (Paperback)
by (shelved 27 times as software-design)
avg rating 4.30 — 9,083 ratings — published 2004
Rate this book
Clear rating
Clean Code: A Handbook of Agile Software Craftsmanship Clean Code: A Handbook of Agile Software Craftsmanship (Paperback)
by (shelved 26 times as software-design)
avg rating 4.35 — 23,793 ratings — published 2007
Rate this book
Clear rating
Refactoring: Improving the Design of Existing Code (Addison-wesley Object Technology Series) Refactoring: Improving the Design of Existing Code (Addison-wesley Object Technology Series)
by (shelved 24 times as software-design)
avg rating 4.24 — 8,880 ratings — published 1999
Rate this book
Clear rating
Designing Data-Intensive Applications Designing Data-Intensive Applications (ebook)
by (shelved 22 times as software-design)
avg rating 4.69 — 11,134 ratings — published 2015
Rate this book
Clear rating
Patterns of Enterprise Application Architecture Patterns of Enterprise Application Architecture (Hardcover)
by (shelved 22 times as software-design)
avg rating 4.12 — 3,901 ratings — published 2002
Rate this book
Clear rating
Code Complete: A Practical Handbook of Software Construction Code Complete: A Practical Handbook of Software Construction (Paperback)
by (shelved 17 times as software-design)
avg rating 4.30 — 9,509 ratings — published 1993
Rate this book
Clear rating
Clean Architecture Clean Architecture (Paperback)
by (shelved 16 times as software-design)
avg rating 4.21 — 7,280 ratings — published 2017
Rate this book
Clear rating
Implementing Domain-Driven Design Implementing Domain-Driven Design (Hardcover)
by (shelved 16 times as software-design)
avg rating 4.05 — 1,311 ratings — published 2013
Rate this book
Clear rating
Fundamentals of Software Architecture: An Engineering Approach Fundamentals of Software Architecture: An Engineering Approach (Paperback)
by (shelved 12 times as software-design)
avg rating 4.23 — 2,380 ratings — published 2020
Rate this book
Clear rating
Building Microservices: Designing Fine-Grained Systems Building Microservices: Designing Fine-Grained Systems (Paperback)
by (shelved 12 times as software-design)
avg rating 4.22 — 5,266 ratings — published 2014
Rate this book
Clear rating
Refactoring to Patterns (Addison Wesley Signature Series) Refactoring to Patterns (Addison Wesley Signature Series)
by (shelved 12 times as software-design)
avg rating 4.05 — 1,440 ratings — published 2004
Rate this book
Clear rating
Working Effectively with Legacy Code Working Effectively with Legacy Code (Paperback)
by (shelved 12 times as software-design)
avg rating 4.14 — 4,691 ratings — published 2004
Rate this book
Clear rating
The Pragmatic Programmer: From Journeyman to Master The Pragmatic Programmer: From Journeyman to Master (Paperback)
by (shelved 11 times as software-design)
avg rating 4.33 — 24,560 ratings — published 1999
Rate this book
Clear rating
Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy Learning Domain-Driven Design: Aligning Software Architecture and Business Strategy (Paperback)
by (shelved 9 times as software-design)
avg rating 4.43 — 804 ratings — published 2021
Rate this book
Clear rating
System Design Interview – An insider's guide System Design Interview – An insider's guide (Kindle Edition)
by (shelved 9 times as software-design)
avg rating 4.25 — 3,596 ratings — published 2020
Rate this book
Clear rating
Domain-Driven Design Distilled Domain-Driven Design Distilled (Paperback)
by (shelved 9 times as software-design)
avg rating 3.81 — 1,356 ratings — published
Rate this book
Clear rating
Agile Software Development, Principles, Patterns, and Practices (Alan Apt Series) Agile Software Development, Principles, Patterns, and Practices (Alan Apt Series)
by (shelved 9 times as software-design)
avg rating 4.26 — 1,323 ratings — published 2002
Rate this book
Clear rating
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley Signature Series (Fowler)) Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions (Addison-Wesley Signature Series (Fowler))
by (shelved 9 times as software-design)
avg rating 4.12 — 1,554 ratings — published 2003
Rate this book
Clear rating
Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers) Release It!: Design and Deploy Production-Ready Software (Pragmatic Programmers)
by (shelved 8 times as software-design)
avg rating 4.25 — 3,281 ratings — published 2007
Rate this book
Clear rating
Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures (Paperback)
by (shelved 7 times as software-design)
avg rating 4.25 — 912 ratings — published 2021
Rate this book
Clear rating
Tidy First?: A Personal Exercise in Empirical Software Design Tidy First?: A Personal Exercise in Empirical Software Design (Paperback)
by (shelved 7 times as software-design)
avg rating 3.92 — 1,149 ratings — published
Rate this book
Clear rating
Patterns Principles and Practices of Domain Driven Design Patterns Principles and Practices of Domain Driven Design (Paperback)
by (shelved 7 times as software-design)
avg rating 4.36 — 393 ratings — published 2014
Rate this book
Clear rating
Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck)) Growing Object-Oriented Software, Guided by Tests (Addison-Wesley Signature Series (Beck))
by (shelved 7 times as software-design)
avg rating 4.19 — 2,468 ratings — published 2009
Rate this book
Clear rating
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (Hardcover)
by (shelved 7 times as software-design)
avg rating 3.85 — 1,052 ratings — published 1997
Rate this book
Clear rating
Design of Design, The: Essays from a Computer Scientist Design of Design, The: Essays from a Computer Scientist (Paperback)
by (shelved 7 times as software-design)
avg rating 3.77 — 623 ratings — published 2010
Rate this book
Clear rating
Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F# (Paperback)
by (shelved 6 times as software-design)
avg rating 4.49 — 685 ratings — published
Rate this book
Clear rating
Dependency Injection in .NET Dependency Injection in .NET (Paperback)
by (shelved 6 times as software-design)
avg rating 4.43 — 792 ratings — published 2011
Rate this book
Clear rating
UML Distilled: A Brief Guide to the Standard Object Modeling Language UML Distilled: A Brief Guide to the Standard Object Modeling Language (Paperback)
by (shelved 6 times as software-design)
avg rating 3.80 — 1,517 ratings — published 1997
Rate this book
Clear rating
Object-Oriented Analysis and Design with Applications Object-Oriented Analysis and Design with Applications (Hardcover)
by (shelved 6 times as software-design)
avg rating 3.91 — 607 ratings — published 1990
Rate this book
Clear rating
Modern Software Engineering: Doing What Works to Build Better Software Faster Modern Software Engineering: Doing What Works to Build Better Software Faster (Paperback)
by (shelved 5 times as software-design)
avg rating 4.14 — 1,240 ratings — published
Rate this book
Clear rating
99 Bottles of OOP 99 Bottles of OOP (ebook)
by (shelved 5 times as software-design)
avg rating 4.55 — 676 ratings — published
Rate this book
Clear rating
Test-Driven Development: By Example Test-Driven Development: By Example (Paperback)
by (shelved 5 times as software-design)
avg rating 4.10 — 4,426 ratings — published 2002
Rate this book
Clear rating
Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series) Agile Principles, Patterns, and Practices in C# (Robert C. Martin Series)
by (shelved 5 times as software-design)
avg rating 4.28 — 776 ratings — published 2006
Rate this book
Clear rating
Practical API Design: Confessions of a Java Framework Architect Practical API Design: Confessions of a Java Framework Architect (Hardcover)
by (shelved 4 times as software-design)
avg rating 3.72 — 64 ratings — published 2008
Rate this book
Clear rating
Software Engineering at Google: Lessons Learned from Programming Over Time Software Engineering at Google: Lessons Learned from Programming Over Time (Paperback)
by (shelved 4 times as software-design)
avg rating 4.19 — 2,034 ratings — published 2020
Rate this book
Clear rating
Microservice Patterns Microservice Patterns (Paperback)
by (shelved 4 times as software-design)
avg rating 4.24 — 720 ratings — published
Rate this book
Clear rating
Software Design Decoded: 66 Ways Experts Think (Mit Press) Software Design Decoded: 66 Ways Experts Think (Mit Press)
by (shelved 4 times as software-design)
avg rating 3.55 — 209 ratings — published
Rate this book
Clear rating
Object-Oriented Software Construction (Book/CD-ROM) Object-Oriented Software Construction (Book/CD-ROM)
by (shelved 4 times as software-design)
avg rating 4.04 — 271 ratings — published 1988
Rate this book
Clear rating
Building Evolutionary Architectures: Support Constant Change Building Evolutionary Architectures: Support Constant Change (Paperback)
by (shelved 4 times as software-design)
avg rating 3.74 — 1,086 ratings — published 2022
Rate this book
Clear rating
Distributed Systems: Principles and Paradigms Distributed Systems: Principles and Paradigms (Paperback)
by (shelved 4 times as software-design)
avg rating 3.98 — 490 ratings — published 2001
Rate this book
Clear rating
How to Design Programs: An Introduction to Programming and Computing How to Design Programs: An Introduction to Programming and Computing (Hardcover)
by (shelved 4 times as software-design)
avg rating 4.02 — 271 ratings — published 2001
Rate this book
Clear rating
User Stories Applied: For Agile Software Development (Addison-Wesley Signature Series (Beck)) User Stories Applied: For Agile Software Development (Addison-Wesley Signature Series (Beck))
by (shelved 4 times as software-design)
avg rating 3.89 — 2,866 ratings — published 2004
Rate this book
Clear rating
97 Things Every Software Architect Should Know 97 Things Every Software Architect Should Know (Paperback)
by (shelved 4 times as software-design)
avg rating 3.62 — 789 ratings — published 2009
Rate this book
Clear rating
Programming Pearls Programming Pearls (Paperback)
by (shelved 4 times as software-design)
avg rating 4.20 — 3,226 ratings — published 1986
Rate this book
Clear rating
Thinking In Systems: A Primer Thinking In Systems: A Primer (Paperback)
by (shelved 3 times as software-design)
avg rating 4.18 — 24,599 ratings — published 2008
Rate this book
Clear rating
Data-Oriented Programming Unlearning objects Data-Oriented Programming Unlearning objects (Paperback)
by (shelved 3 times as software-design)
avg rating 3.67 — 85 ratings — published
Rate this book
Clear rating
The Essence of Software: Why Concepts Matter for Great Design The Essence of Software: Why Concepts Matter for Great Design (Kindle Edition)
by (shelved 3 times as software-design)
avg rating 4.18 — 78 ratings — published
Rate this book
Clear rating


Bruce Eckel
“Programming is about managing complexity: the complexity of the problem, laid upon the complexity of the machine. Because of this complexity, most of our programming projects fail.”
Bruce Eckel, On Java 8

“The best features are the ones you get without even knowing they exist.”
John Ousterhout, A Philosophy of Software Design

More quotes...