It takes a village to develop a modern software system. Technology advances such as containerization, super cheap computers, and on-demand cloud infrastructure put tremendous power and flexibility directly in developers’ hands. In response to these new technologies, emerging architecture patterns such as microservices and function-as-a-service assume developers have a greater awareness of how their decisions influence quality attributes and other system properties.
On modern software systems, there is little difference between a developer and an architect. This isn’t to say that modern software development teams don’t have technical leaders. They do, though today’s software architects don’t always self-identify as architects. Modern software development teams need a different kind of leader than the traditional, top-down architect.
Modern software architects design with their team, not for their team. Today’s architects are equal parts coach, mentor, and technical guru. We started this book by discussing essential architecture and design principles. Throughout Part II you learned how to put those principles into practice. In this chapter, you’ll learn how to grow and empower your team as you design awesome software architectures together.
18.225.156.236