Books for aspiring architects

Post date: Oct 23, 2018 3:10:07 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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

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

URL: Click here

Rating: 4.3/5

The Process of Software Architecting

Author: Peter Eeles and Peter Cripps

Category: Architecture

Level: Foundation

Suitable for: Beginner

URL: Click here

Rating: 3.5/5