Chapter 17. People, Roles, and Teams

It has become quite common for a software engineer to be granted a title such as "software architect," "senior software architect," or "chief systems architect" in a software development organization. Such a title appears to carry with it a certain amount of prestige. The usual assumption is that the engineer in question has exhibited exceptional skills in software system design, familiarity with the modern development technologies, an ability to communicate a vision for a project, effectively interact with system customers and managers, and lead his fellow engineers in completing the project successfully. At the same time, it is likely that someone looking a bit further will find many different descriptions of what software architects actually do from one company to another, and even from one project to another within a single company. In some companies, "chief architects" are brilliant engineers who worked in the trenches for many years and emerged as technically savvy sages; in other cases, they are former CEOs who decide to step down and shift their focus to ensuring their company's marketplace presence and setting the company's long-term technical strategy. What this means is that, in fact, simply having the title does not mean one has the qualifications.

Clearly, this is very different from, say, an electrical engineer or even a software engineer: Becoming one usually requires completing at a minimum an appropriate four-year college degree, ...

Get Software Architecture: Foundations, Theory, and Practice now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.