Home‎ > ‎Architecture‎ > ‎

Books for aspiring architects

posted Oct 23, 2018, 8:10 AM by Jageshwar Tripathi   [ updated Nov 11, 2018, 2:57 PM ]

Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development

Author: Craig Larman
Category: Design
Level: Foundation
Suitable for: Beginner
Review: This is very practical and useful book. It takes you through life cycle of a project, teaches you how to do OOAD and also talks about use of patterns and UML. It was written long time ago but the material in the book has great depth. For some readers (who have less patience) reading may be very slow. Lots of patience is required to read and grasp the content. 
Rating: 4.9/5

Beyond Software Architecture: Creating and Sustaining Winning Solutions

Author: Luke Hohmann
Category: Architecture
Level: Advanced
Suitable for: Expert
Review: This is not a book for those who are aspiring to be an architect. This is for senior level people and even for techno managerial roles or solution architects. 
Rating: 4.2/5

Building Microservices: Designing Fine-Grained Systems

Author: Sam Newman 
Category: Architecture
Level: Advanced
Suitable for: Intermediate
Review: It covers the concepts behind Microservices and good for senior level people. The book not only covers Microservices but also discusses modern distributed systems architecture. This may be good for some readers but may not be liked by focused developers. Those who are focused in coding may be disappointed to see the book has not given them lots of  examples on how to implement code for Microservices. 
Rating: 4.1/5

Clean Architecture: A Craftsman's Guide to Software Structure and Design

Author: Robert C. Martin
Category: Architecture
Level: Advanced
Suitable for: Intermediate/Expert
Review: Suitable for senior level executives which can help them taking care of lots of things in their decision making or defining solution. It is not suitable for beginners or those who need specialized stuff on how to do the stuff. It brings lots of ideas around the subject which may be interesting and important for senior level executives but it will not teach you at detailed level how to create architecture deliverable. 
Rating: 4.1

Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation 

Author: Jez Humble, David Farley
Category: Continuous Delivery
Level: Advanced
Suitable for: Intermediate/Expert
Review: The book has redundancy/repeated concepts which may not be liked by some readers. The book has couple of good ideas but a modern developer may see there are tools now to deal with many things. 
Rating: 3.6/5

Design Patterns: Elements of Reusable Object-Oriented Software

Author: Erich Gamma et al. 
Category: Design
Level: Foundation
Suitable for: Beginner
Review: The only negative word about this book is it was published ages back. Still the same patterns are applicable today. It was the first of its kind book the original work published by authors and many others (copy cat) thought of writing books after seeing this book later. Great book if you are not already familiar with the patterns in this book.
Rating: 4.7/5 

Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems

Author: Martin Kleppmann
Category: Architecture
Level: Advanced
Suitable for: Expert
Review: Full of concepts and theory. Instead of depth it covers breadth. Often people coming from programming background become architects and data side of their understanding is less, if this is the case you should read this book. At the end book may feel slow. You may also find that it could have been written in lesser number of pages but that is a different thing.  
Rating: 4.5/5

Documenting Software Architectures: Views and Beyond

Author:  Paul Clements, Felix Bachmann , Len Bass, David Garlan, James Ivers, Reed Little, Paulo Merson, Robert Nord, Judith Stafford
Category: Architecture
Level: Advanced
Suitable for: Expert
Review: Before reading this book you should read a foundation book on software architecture. You should also know what is the difference between architecture and design before reading this book. Objective of the book is to give you an idea how architecture should be documented. If you have already read this subject and core subject of software architecture, this book may look like repeating the same thing but for those who have never worked as an architect and don't know how to document software architecture this can be a good read. 
Rating: 4.3

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

Author: Eric Evans
Category: Design
Level: Foundation
Suitable for: Beginner/Intermediate
Review: Good book with practical information about how to model domain objects and translate requirements to design.
Rating: 4.5/5

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions

Author: Woolf, Hohpe 
Category: Architecture
Level: Advanced
Suitable for: Expert
Review: Good book about enterprise integration patterns. There are concepts now well known but for a first time reader it provides sufficient catalog.
Rating: 4.2/5

Essential Software Architecture

Author:  Ian Gorton
Category: Architecture
Level: Foundation
Suitable for: Beginner
Review: This book had tried coping up with the trends at the time this book was written (but those trends are past now), in this effort sometimes depth is lost. The book teaches basics of software architecture but if you have already got other books on the same subject you may not find everything new here.
Rating: 3.7/5

Implementing Domain-Driven Design

Author: Vaughn Vernon
Category: Design
Level: Advanced
Suitable for: Expert
Review: It is verbose. Covers DDD very well as well as written in light of modern concepts REST, Agile etc. Since I read another book and content on the subject I found it to be at 4.2 out of 5.
Rating: 4.2/5

Just Enough Software Architecture: A Risk-Driven Approach

Author: George H. Fairbanks
Category: Architecture
Level: Intermediate
Suitable for: Experts
Review: You need to know some very basics before reading this book. What is enough software architecture means how much modeling to do for architecture, if this is what I expected I got it here. I was trying to find risk driven point but I was not able to get the point. May be I missed the point or author. 
Rating: 4.2/5

Object-Oriented Design Heuristics

Author: Arthur J. Riel
Category: Design
Level: Foundation
Suitable for: Beginner/Intermediate
Review: It is a good read. All the heuristics may not be 100% applicable in all the cases which book didn't clearly mention and the reader should apply his brain/knowledge/experience. If you have got good understanding of the subject object oriented design, you can read this book as next content to refer to. Heuristics are not defined in a consistent format which is a missing point. Other books on object oriented design talk about basics but often developers have lots of questions and this book can serve as FAQ for those developers. Heuristics are heuristics, rules of thumb or guidelines which may be very useful in many situations but there may be some exceptions too. I recommend you read this book in you are a beginner. 
Rating: 4.4/5

Pattern-Oriented Software Architecture Volume 1: A System of Patterns

Author: Frank Buschmann, Regine Meunier , Hans Rohnert , Peter Sommerlad , Michael Stal 
Category: Design
Level: Foundation
Suitable for: Beginner
Review: Architecture Styles are described as Architecture Patterns. It may be confusion but this is how industry is. It covers basic architectural styles which are age old. It also has a chapter on design patterns, again those age old patterns. Book was also written ages back so nothing bad about it. It is just a hint that if you have already read all this stuff there is noting new but if you have never read a book on styles and design patterns you can read this book.
Rating: 4.1/5

Patterns of Enterprise Application Architecture

Author: Martin Fowler
Category: Architecture
Level: Advanced
Suitable for: Expert
Review: I liked this book because it has something which was not covered in ages old books on patterns. The problems an enterprise application developers face in day to day life. But this one was also written many years back and enterprise applications are different in many ways. Instead of "enterprise architecture" consider patterns for developers otherwise you may get disappointed. Lots of focus is on object relational mapping and database access stuff. The book is good but not great. Never compare with classic GOF patters book. 
Rating: 4.2

Reactive Design Patterns

Author: Roland Kuhn Dr., Brian Hanafee, Jamie Allen
Category: Design
Level: Foundation
Suitable for: Beginner
Rating: 3.2/5

Refactoring in Large Software Projects: Performing Complex Restructurings Successfully

Author:  Martin Lippert, Stephen Roock
Category: Code
Level: Advanced
Suitable for: Experts
Review: It is good book on the subject. There are other good boots out there so check and compare before selecting one. 
Rating: 3/5

Software Architecture in Practice 

Author: Len Bass, Paul Clements, Rick Kazman
Category: Architecture
Level: Foundation
Suitable for: Beginner
Review: Get it's latest edition because the book dates back to many years. It is a good book, one of the most loved and known on subject of Architect. 
Rating: 4.4/5

Software Architecture Patterns

Author: Mark Richards
Category: Architecture
Level: Foundation
Suitable for: Beginner
Rating: 3.7/5

Software Architecture: Foundations, Theory, and Practice

Author: R. N. Taylor, N. Medvidovic, E. M. Dashofy
Category: Architecture
Level: Foundation
Suitable for: Beginner
Rating: 4/5

Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

Author: Nick Rozanski and Eóin Woods
Category: Architecture
Level: Foundation
Suitable for: Beginner
Rating: 4.3/5

The Process of Software Architecting

Author: Peter Eeles and Peter Cripps
Category: Architecture
Level: Foundation
Suitable for: Beginner
Rating: 3.5/5
Comments