9 Best Software Architecture Books and Sites
In the following article, you can take a look at nine of the best books and sites to learn to become a software architect.
Join the DZone community and get the full member experience.Join For Free
Technical leaders and senior developers often ask me about any specific books in software architecture and websites they should read to start working as software architects. I think that the developer is mature enough to develop a technical solution and he or she needs only some additional soft skills.
So, I hope that this list of books will be useful for any technology stack and domain. These books and websites give general information about architecture patterns, technical documentation, techniques to get non-functional requirements and develop soft skills.
All this knowledge is applied to any programming language and tech stack.
Software Architecture Books
First, I would recommend the best sellers and the most essential books for any beginner software architect. It is a series of books from SEI (Software Engineering Institute), Carnegie Mellon University.
1. Software Architecture in Practice
I would recommend starting with the book Software Architecture in Practice. It is a background for beginner architects. It deals with the roles and responsibilities of an architect, helps you know how to get non-functional requirements and how to design and document software architecture.
2. Designing Software Architectures
This book is a continuation of a book from SEI. Designing Software Architectures: A Practical Approach has a structured approach for designing software architecture. The book includes real examples from practical usage of different cases. For instance, you can read about the Attribute-Driven Design (ADD) methodology and try to practice this approach. You can learn about the design analysis from up to down and vice versa.
3. Documenting Software Architectures
It's necessary to mention Documenting Software Architectures: Views and Beyond from SEI edition. This book provides information on how to use document architecture in the right way. As for this approach, the documentation can be easily read and understood among all the architecture communities.
You can find all these books on Amazon. The price for each book is about $40-50.
4. Software Architecture Patterns
The Software Architecture Patterns book by O’Reilly is short and easy to read. The good news is that this book is free and you can download it from the O’Reilly website following the link above. While reading this book, you can get a quick overview of architecture patterns, pros, cons, and comparisons.
5. Patterns of Enterprise Application Architecture
The Patterns of Enterprise Application Architecture book will be useful not only for software architects but also for technical leaders. It has useful information for advanced developers and is oriented on Java and .Net programmers. The book has information on how to build complex enterprise solutions, but it is not easy to implement.
6. Cloud Computing Patterns
Nowadays, clouds are an essential part of the architecture. The Cloud Computing Patterns book helps you gain an understanding of cloud architecture. This book provides abstract concepts without the relationship with some cloud providers. You can learn how to build cloud-native applications.
7. The McKinsey Way
The McKinsey Way book helps the architect be more oriented on the business side. The author shares real architecture experience when he worked in one of the largest consulting companies. You can read about the discovery process, how to work with clients, how to present ideas, and you can read about tips and tricks on a business trip.
Software Architecture Websites
8. Martin Fowler web site
The martinfowler.com website – This is a personal blog of an architect who works for ThoughtWorks Company. He describes some architectural patterns and approaches. Some of them were invented by Martin Fowler himself.
The thoughtworks.com/radar website – This resource provides information about software and architecture trends. It has four sections:
- Languages and frameworks
You can read about technologies and frameworks and understand the level of maturity for enterprise usage.
Senior developers are technical enough to design solutions but have a lack of soft skills to apply them for business. These topics help you stay focused on business goals, Architecture Refactoring, and Architecture Assessment.
Please write in the comments any additional interesting books and web resources about software architecture.
Opinions expressed by DZone contributors are their own.