top of page
Startup Development Team

Software Engineer to Software Architect - Roadmap to Success




The path to mastery of software architecture is a never ending journey. There is no shortage of great resources along the way, and that's exactly where the problem lies. The sheer number and variety of resources make this journey a haphazard experience at best and an exercise in futility at worst. As you comb through the vast amount of material on the topic, you become overwhelmed. 


Moreover, much of what you find is of varying quality as much of the content on software architecture is published by folks just like you, trying to make sense of this journey in their own way.


There are numerous videos, blogs, tutorials, books, courses, and other types of content on the subject of software architecture but not all of them are created equal. Some are great, others have some degree of merit, while numerous other resources are misleading and just plain wrong.


So what I've done below is to pool together a curated list of high quality resources on the topic of software architecture to make it easier for aspiring as well as experienced software architects. Hopefully, this will help you set the right course on the path to software architecture mastery.


These resources - both free and paid - talk about the different aspects of software architecture and the role of the software architect in the industry.


The goal of this collection is to serve as a kind of a roadmap for software engineers to become software architects or for current software architects to become better at their role. Even if you are an experienced software architect, you will most likely find use for these resources to close any gaps, find clarity, or to get a fresh take on things.


The way that I have structured this roadmap - from top to bottom - is in a logical order so that each step will build upon previous steps. Now, of course, this is ultimately a collection of unrelated resources, so hopefully, the order in which I organized them out makes sense. Let me know


For each item below, I am identifying whether it is free or paid. You will also see a breakdown of what that item deals with and how exactly it helps in your journey of becoming a software architect (or a better, more successful, and thriving software architect).


Without further ado - Software Architect Resources - Roadmap to Success! 🚀


 

Building The Foundation



Why Is This Useful: Clear and straightforward explanation of some of the top items that software developers need to know about software architecture.

📺 Type: Video

💰Free: Yes


Why Is This Useful: More insights into the basics of proper software architecture.

📺 Type: Video

💰Free: Yes


Why Is This Useful: Touches on how software architecture is meant to serve a purpose. Chasing after the "perfect architecture" defeats that.

📺 Type: Video

💰Free: Yes


Why Is This Useful: The concept of a minimal viable architecture (or MVA) is not discussed as often as a minimal viable product (MVP). It is, however, crucial to understand its importance to everything we do as software architects - especially around alignment of business and technology. This concept is related to the concept of "Good Enough Architecture" above.

📺 Type: Video

💰Free: Yes

Why Is This Useful: Building on the previous concepts, some quick tips on software architecture and its general application.

📺 Type: Video

💰Free: Yes

Why Is This Useful: This is an older video. However, the concepts it talks about go hand in hand with the concept of MVA, "good enough architecture", and what, in general, software architects should focus on in terms of software architecture.

📺 Type: Video

💰Free: Yes

Why Is This Useful: Condensed version of Gregor Hohpe's book - "The Software Architect Elevator '' and the main function of the software architect in an organization.

📺 Type: Video

💰Free: Yes



Why Is This Useful: This is a great summary that identifies many of the important parts within what software architecture is and what it focuses on. This will fill many gaps of knowledge and understanding for both aspiring and experienced software architects alike.

📘 Type: Book

💰Free: No


Diving Deeper Into Software Architecture - Zooming In


Why Is This Useful: The Reactive Manifesto talks about how and why to build Reactive systems. Although this is a niche within software architecture, it is useful to understand its concepts as many of them are the foundation of building scalable, resilient, modern architecture.

🌐 Type: Site

💰 Free: Yes


Why Is This Useful: Martin Fowler is another name that needs no introduction in the software development and architecture fields. His site has a wealth of information that is both detailed and holistic enough to build a solid understanding of the various aspects of software architecture and the role of the architect.

🌐 Type: Site

💰 Free: Yes


Why Is This Useful: Another great book by leading industry experts. Just like "Fundamentals of Software Architecture" we mentioned earlier, this talks about the foundations as well as advanced concepts in software architecture. The focus here though is on the challenges, i.e. the hard parts, that software architects deal with on a daily basis.

📘 Type: Book

💰 Free: No


Why Is This Useful: Mark is a well known figure in the software architecture world - popular author with O'Reilly, independent consultant, and publisher of a large collection of amazing videos on the topic. His vast array of videos covers many diverse subjects within the field of software architecture. Mark's channel provides a wealth of information.

📺 Type: Youtube Channel

💰Free: Yes


Building Expertise - Zooming In Even More

Why Is This Useful: This book does have some overlap with the other books already mentioned. However, it provides a somewhat different perspective and by doing so, bridges more of the gaps between software engineering and architecture.

📘 Type: Book

💰Free: No

 

Why Is This Useful: This book is a classic. It focuses on building large scale systems with an emphasis on data processing. Most modern enterprise systems rely on processing and managing data at scale. This book describes the challenges, ways, and strategies of building such systems. 

📘 Type: Book

💰Free: No


Why Is This Useful: Software architecture, to a large degree, is about building systems that can evolve over time. The perfect architecture doesn't exist and chasing it will take away from the ability to build systems that solve real problems, serve the business, and provide value. This book is a holistic overview from some of the most known folks in the industry. It rounds up nicely the topic of building architectures that evolve over time, and also stand the test of time in doing so.

📘 Type: Book

💰Free: No


Why Is This Useful: Microservices.io is a project by Chris Richardson who is another well known figure on the software architecture circuit. Chris writes and speaks about microservice architecture, software delivery, and architectural patterns. Although his work focuses on microservices as an architecture style, the patterns and methodologies he talks about are applicable universally in many ways. Getting familiar and understanding these concepts is important for building reliable, scalable, modern systems.

🌐 Type: Site

💰Free: Yes


Cloud Vendor Well-Architected Architecture Frameworks


Why Is This Useful: The three main cloud vendors each have a robust set of guidelines and standards for architecture and system design best practices. These are packaged nicely as "well-architected" frameworks. Each vendor has their own approach and way to explain the concepts. However, underlying all of them are a number of pillars that are more or less the same. 


Although these three vendors obviously emphasize their own cloud services, the concepts they talk about are applicable universally. All three frameworks are substantial and take some time to go through. Here are some tips for how I would go about tackling those. Regardless, reviewing and understanding one of those frameworks will mean that you have understood 90% of the other frameworks as well. I encourage you to have a look at all three and then choose the one that feels more intuitive to follow for you. Otherwise, I would start with GCP as it is the most intuitive and easy to follow.


🌐 Type: Site

💰Free: Yes


The GCP architecture framework is user friendly and easy to navigate. Going through the table of contents is like going through a well streamlined guide. The way they discuss architectural principles is mostly agnostic and independent of the actual GCP services.


Amazon Web Services also has a similar guide to designing and architecting applications in the cloud. It is similar to the one provided by GCP and can be used to cross-reference and fill in any gaps.


The Azure Well-Architected framework may be a bit less intuitive to navigate but it also includes a wealth of information on designing modern, cloud-native, scalable and resilient applications. It also offers free courses and "paths" to learning particular Azure technologies with an emphasis on industry best practices.



10,000 Foot View - Zooming Out


Why Is This Useful: The Software Architect Elevator is an excellent read and a must for every software architect. In this book, Gregor Hohpe talks about the overarching value that software architects provide in the industry, the beats, pitfalls, and nuances associated with it. This book will provide a nice rounding of your understanding of the software architect role.

📘 Type: Book

💰Free: No


Why Is This Useful: Thoughtworks is a company worth following as it produces some of the most important content about software architecture and the state of technology in general. The Technology Radar is a comprehensive guide released annually that talks about the trends, problems, and technology predictions across the industry. 

🌐 Type: Site and Digital Guides

💰Free: Yes


Resources for Ongoing Learning and Leveling Up as a Software Architect


The "Dear Architects" newsletter is a project by Luca Mezarilla who is yet another big name worth following on the software architecture circuit. This newsletter provides great insights, use cases, and information from all corners of the software architecture world.


Popular resource on software engineering, architecture, and technology. Here, you will find trend reports, reference cards, and a wealth of information.


Similarly to Dzone above, this is an industry juggernaut in terms of software architecture, engineering, and technology content.


The insights and trends reports and articles from Gartner are a de-facto standard and a staple of most CTO's and technology leaders reading lists. Gartner is an institute that conduits large scale surveys and provides thought leadership, deep insights into the state of technology, and industry trends. The reason to follow Gartner reports is not necessarily for deep technical knowledge, but instead to build knowledge and awareness of the industry technology landscape as a whole.


GOTO conferences are some of the best for software engineering and architecture. It is well-worth to follow the channel and keep current with its content.


 

Even a curated list of the best resources out there may be a long and overwhelming process to go through. That's why I wrote my own guide about software architecture.




It's called Unlocking the Career of Software Architect and I have written it to be the kind of resource on software architecture that I so desperately needed and that didn't exist.


This guide brings together all of those key concepts of software architecture and the role of the software architect. More than that, it sheds light on many topics that you most likely will not find anywhere else. Among many other things, it talks about the challenges of the software architect, the antipatterns, and the general pitfalls of the role with ways to overcome them.



 

Have suggestions, feedback, or questions about this list? Why not share?


Comments


bottom of page