I’m not exactly sure when I became a software architect. I do remember the first time someone else called me one. We were at an important client meeting and someone asked a tough technical question. The project manager chimed in: “Michael is the architect on this project. He’ll dig in and send you an update by the end of the week.”
Just like that, I was a software architect. The rush of power. The anticipation of career advancement. I am an architect! Soon a slight feeling of dread set in. I am an architect. Now what do I do? How is being a software architect different from being a software engineer?
Software architects have a number of responsibilities in addition to programming. They define the problem from an engineering perspective. They divide the software system into implementable chunks, but also keep an eye on the big picture to ensure the system still works as a consistent whole. Architects decide trade-offs among quality attributes and manage the inevitable growth of technical debt. Perhaps above all, architects develop their team’s architecture skills, because they know the best teams are filled with architects.
In this chapter, you’ll learn what architects do. You’ll also learn why knowing about software architecture will make you a better programmer and technical leader. You’ll also learn how to get started on the path to becoming a software architect in your professional career.
3.147.63.199