Technical leaders and senior developers often ask me about software architecture books and web sites should read to start working as Software Architect. On this level developer is mature enough to develop technical solution and need additional soft skills.
I hope this list will be useful for any technology stack and domain. Architecture books and web sites give general information about architecture patterns, working with documentation, approaches to get non-functional requirements and soft skills.
All this knowledge applicable to any programming language and teach stack.
Software Architecture Books
First of all I would recommend best sellers and 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 to start from Software Architecture in Practice book. It is a background for beginner architect. It tells you about role and responsibility of architect. How to get non-functional requirements. How to design and document software architecture.
2. Designing Software Architectures
This book is continuation from SEI. Designing Software Architectures: A Practical Approach has structured approach for designing software architecture. Book includes real examples and use cases. You can read about Attribute-Driven Design (ADD) methodology and try to practice this approach. You can learn design analysis from up to down and vice versa.
3. Documenting Software Architectures
Last but not least Documenting Software Architectures: Views and Beyond from SEI edition. This book provides information how to document architecture right way. Following this approach documentation can be easily reading and understandable among all architecture community.
All books you can find on Amazon following by links and price for each book is about $40-50.
4. Software Architecture Patterns
Software Architecture Patterns book from O’Reilly is short and easy reading. Good news this book is absolutely free and you can download it from O’Reilly web site following link above. Reading this book you get quick overview of architecture patterns, pros, cons and comparison.
5. Patterns of Enterprise Application Architecture
Patterns of Enterprise Application Architecture book will be useful not only software architects but and technical leaders. It is more technical and oriented on Java and .Net developers. Book has information how to build complex enterprise solutions but not easy for implementation.
6. Cloud Computing Patterns
Nowadays clouds are essential part of architecture. Cloud Computing Patterns book helps you to get more understanding about designing cloud architecture. This book provides abstract concepts without relationship to some cloud provider. You can learn how to build cloud native applications.
7. The McKinsey Way
The McKinsey Way book helps architect to be more oriented on business side. Author shares real architecture experience when he worked in one of the biggest consulting company. You can read about discovery process. How to work with clients. How to present ideas. Even can read about tips and tricks for business trip.
Software Architecture Web Sites
I can recommend couple. Probably you can help me with this.
8. Martin Fowler web site
martinfowler.com – It is a personal blog of architect who work for ThoughtWorks company. He is describing architecture patterns and approaches. Some of them were invented by Martin Fowler himself.
9. TechRadar
thoughtworks.com/radar – this resource provides information about software and architecture trends. It has 4 sections:
- Techniques
- Platforms
- Tools
- Languages and frameworks
You can read about technologies and frameworks and understand how good it ready for enterprise usage.
Software Architecture Bonus Resources
Additional list of sites where you can subscribe interesting for you topics and get daily or weekly email notification with most interesting posts for you:
- medium.com
- dzone.com
- infoq.com
- reddit.com
- quora.com
Senior developers are technical enough to design solution but have lack of soft skills to justify it for business. I have already described topics about Architecture Refactoring and Architecture Assessment and how sell it for business guys.
Please write in comments if you know additional interesting books and web resources about software architecture. Or you can ask me about additional books not covered in this article. I am going with your help updating and extending this article to build full and useful list of resources for software architect.