DEV Community

Discussion on: What does a software architect do?

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

They are responsible for matching the “qualities” of the software to what the business needs. Ex. Ops cost, dev cost, maintainability, reliability, performance, and many others. You can’t have them all, and different architectural patterns make different trades. If you ask business these questions directly, they will say all of them are important. So you have to interview the stake holders to properly frame the discussion. There are certain qualities the business is willing to spend money (dev labor) to ensure. And others that ultimately won’t affect the bottom line.

The architect finds a combination of strategies that fits. Ex. Stateful or stateless, micro or mono, request or event driven, and many more. (And different business capabilities may warrant different quality combinations.) In an ongoing role, they assimilate new services in a way that preserves the desired qualities. And of course, the business changes focus on what qualities are important over time.