As software architects, we’re constantly looking for resources to help us hone our skills and stay up-to-date with the latest developments in our field. In this article, I’ve compiled a list of ten resources that I believe every software architect should know.
- Martin Fowler’s website – https://martinfowler.com/
First and foremost, I recommend Martin Fowler’s website as a valuable resource for software architects. It’s full of articles, videos, and talks on software architecture, design patterns, and agile software development. From microservices to continuous delivery, the website covers a broad range of topics that are relevant to modern software architecture.
- The Architecture of Open Source Applications – https://aosabook.org/en/index.html
This book is a unique and insightful resource for software architects. It offers a behind-the-scenes look at the architecture of some of the most popular open source projects, such as Apache, Hadoop, and PostgreSQL. Each chapter is written by a different software architect, making it a diverse and informative read.
- The Clean Architecture – https://www.amazon.com/Clean-Architecture-Craftsmans-Software-Structure/dp/0134494164
The Clean Architecture by Robert C. Martin (Uncle Bob) is a classic book that presents a practical approach to building software systems using clean architecture principles. It advocates for a separation of concerns and a focus on maintainability, scalability, and testability. If you’re interested in building software systems that are easy to maintain and evolve, this book is a must-read.
- The Twelve-Factor App – https://12factor.net/
The Twelve-Factor App is a methodology for building modern, scalable, and maintainable software as a service (SaaS) applications. It offers a set of best practices that are relevant to cloud-native applications, such as declarative configuration, stateless processes, and disposability. If you’re working on a SaaS application, this methodology can help you build a system that is resilient, scalable, and easy to deploy.
- Architecture Center by Amazon Web Services (AWS) – https://aws.amazon.com/architecture/
If you’re building cloud-based applications, the Architecture Center by Amazon Web Services (AWS) is a valuable resource. It offers architecture patterns, reference architectures, and best practices for building scalable, reliable, and secure cloud-based applications. Whether you’re using AWS or not, this resource can help you design cloud-native architectures that are cost-effective and efficient.
- Domain-Driven Design – https://www.amazon.com/Domain-Driven-Design-Tackling-Complexity-Software/dp/0321125215
Domain-Driven Design (DDD) by Eric Evans is a book that provides a framework for designing complex software systems based on the business domain. It advocates for a collaborative approach between business experts and software developers, and it offers a set of patterns and principles that can help you design software systems that are aligned with the business needs.
- The Software Architect’s Handbook – https://www.amazon.com/Software-Architects-Handbook-Becoming-Architect/dp/1484212599
The Software Architect’s Handbook by Joseph K. Yoder and Rebecca J. Wirfs-Brock is a comprehensive guide to software architecture that covers the different aspects of software architecture, including design patterns, software quality, and system integration. It’s a valuable resource for software architects who are looking for a holistic view of software architecture.
- The Architecture Journal by Microsoft – https://msdn.microsoft.com/en-us/library/dd569757.aspx
The Architecture Journal by Microsoft is a publication that provides insights into software architecture, design, and best practices. It covers a broad range of topics, such as microservices, cloud computing, and artificial intelligence. If you’re interested in Microsoft technologies, this publication can help you stay up-to-date with the latest developments in the Microsoft ecosystem.
- Software Engineering Radio – https://www.se-radio.net/
Software Engineering Radio is a podcast that covers software engineering topics, including software architecture. It features interviews with software engineers, architects, and thought leaders, providing a diverse range of perspectives on software architecture. If you’re an auditory learner or looking for a way to stay updated on the go, this podcast is worth subscribing to.
- The Software Engineering Institute – https://www.sei.cmu.edu/
The Software Engineering Institute (SEI) is a research and development center that is part of Carnegie Mellon University. It offers resources, training, and certification programs in software engineering and software architecture. Their website contains valuable resources, including white papers, case studies, and webinars, that can help software architects stay up-to-date with the latest developments in software engineering. The SEI’s resources are particularly valuable for those working in government, military, or other regulated industries, as they focus on software engineering best practices that meet the highest standards of quality and reliability.