Discover new books on Goodreads
Meet your next favorite book

Software Design Books

Showing 1-50 of 514
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,920 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 43 times as software-design)
avg rating 4.20 — 12,057 ratings — published 1994
Rate this book
Clear rating
A Philosophy of Software Design A Philosophy of Software Design (Paperback)
by (shelved 35 times as software-design)
avg rating 4.22 — 4,967 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,097 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,848 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,888 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,368 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,516 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,304 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,315 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.22 — 2,415 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,277 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,695 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,641 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 — 810 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,643 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,360 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.25 — 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,557 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,282 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.24 — 936 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.91 — 1,155 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 — 794 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,256 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,427 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.27 — 778 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.75 — 63 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,052 ratings — published 2020
Rate this book
Clear rating
Microservice Patterns Microservice Patterns (Paperback)
by (shelved 4 times as software-design)
avg rating 4.24 — 721 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 — 272 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,090 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 — 492 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,864 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 — 791 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,229 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.17 — 25,177 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 — 84 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.16 — 79 ratings — published
Rate this book
Clear rating
System Design Interview – An Insider's Guide: Volume 2 System Design Interview – An Insider's Guide: Volume 2 (Paperback)
by (shelved 3 times as software-design)
avg rating 4.42 — 704 ratings — published
Rate this book
Clear rating


Akshat Paul
“Software will give you respect, but hardware will give you the Power.”
― Akshat Paul, RubyMotion iOS Development Essentials

Edmond Lau
“In his book Software Abstractions, MIT Professor Daniel Jackson explains just how important it is to choose the right abstractions. "Pick the right ones, and programming will flow naturally from design; modules will have small and simple interfaces; and new functionality will more likely fit in without extensive reorganization, " Jackson writes. "Pick the wrong ones, and programming will be a series of nasty surprises: interfaces will become baroque and clumsy as they are forced to accommodate unanticipated interactions, and even the simplest of changes will be hard to make.”
― Edmond Lau, The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact

More quotes...