Here is a list of great Architecture books. They cover a wide variety of topics in the art and skill of architectural thinking. Some are from great practitioners and based on their own experience with the discipline.
Man is differentiated from other animals by some critical features. One of them is the ability to write and read, and we should use them to make life easier and more productive.
Here are ten books for the tool belt of an architect as my selection. Please suggest more of what you think are the best of the best and I’ll add them!
1. General Systems Thinking by Weinberg
It will teach you how to think straight. About anything. Period.
2. Enterprise Architecture Using the Zachmann Framework by O’Rourke, Fishman and Selkow
It will sort out your priorities, teach you to work with the client and is seminal for an enterprise architect.
3. Design Patterns: Elements of Reusable Object-Oriented Software by Gamma, Johnson, Helm, Vlissides and Booch
It is one of the holy testaments. You cannot be an architect if you are not familiar with these patterns.
4. Software Architecture in Practice by Bass, Clements and Kazman
No designer or coder will be able to pull the wool over your eyes if you have learnt this and used it at an early stage of your career. Or a late stage, at least.
5. Patterns of Enterprise Application Architecture by Fowler
It is another holy testament, this one up a level from Design Patterns as it is for application architecture rather than the application design.
6. The Clean Coder by Martin
If you used it when you were coding, you are sure to be a better architect. If you didn’t, read it and make your coders use it.
7. Refactoring by Fowler and Beck
It will teach you to get it right the first time. It is for coding, but at least learn it as an architect so you can push fine code behind your excellent architecture, through your designers. And make them use it.
8. Internetworking with TCP/IP by Comer
No network, no IT. You have to know the fundamentals of networking. It will help you everywhere every day.
9. Implementing Domain-Driven Design by Vernon
Use this for guaranteed alignment between what the business needs and what you are designing and building.
10. Designing Data-Intensive Applications by Kleppmann
You’ll learn how to create the architecture around applications. Invaluable.