Software architect
Profession in software engineering / From Wikipedia, the free encyclopedia
A software architect is a software engineer responsible for high-level design choices related to overall system structure and behavior.[1]
It's software architect's responsibility to match architectural characteristics (aka non-functional requirements) with business requirements. For example: [2]
- Having a high customer satisfactions requires availability, fault tolerance, security, testability, recoverability, agility and performance in the system.
- Doing mergers and acquisitions (M&A) requires extensibility, scalability, adaptability, and interoperability
- Constrained budget and time requires feasibility and simplicity
- Faster time-to-market requires maintainability, testability and deplorability.