re: The role, skills, and duties of a software architect VIEW POST


Nice article, but I'd actually define an architect's responsibilities much more narrowly. Gathering requirements isn't part of the architect's job - that would typically be a business analyst. Similarly, I would expect a technical lead to run code reviews, not an architect. Granted, the same person could wear all of those hats (and in many cases they do), but I view them as separate roles requiring very different skill sets. As an example, I would expect an architect to design a system built in Ruby, even if they've never written a line of Ruby code.

Maybe it's a difference in our definitions of "Software Architecture." Personally, I like this one:

"All architecture is design but not all design is architecture. Architecture represents the significant design decisions that shape a system, where significant is measured by cost of change." - Grady Booch

The other thing I'd add is that the system design should account for all requirements - business requirements, user requirements, functional requirements, and non-functional requirements. That last one is critical from an architectural point of view as you're talking about things like scalability, reliability, maintainability, etc.


Great comment, Jesse! I liked a lot of what you wrote. And agree upon all the points!
Sadly, in many companies, they put a lot of decisions that should be made by a technical lead or a business analyst on the architect's shoulders. That is why I put this scope of not-very-architecture-related issues to be known by a software architect.

code of conduct - report abuse