2 ms·
Software Architecture is different than being a Software Architect... I always relate my processes to home building, especially when i am speaking with non-tec
by winternett 7y ago
Software Architecture is different than being a Software Architect...
I always relate my processes to home building, especially when i am speaking with non-technical people. For every project I work on there are numerous roles where technical skills and understanding are not required (e.g. accounting, schedule management, and sometimes the entire client side does not know email from a toaster oven.
As a Solutions Architect, I often design Software Architecture, but I also design developer workflows and host infrastructure, set up a test environment and work on the more technical aspects of the project schedule, coordinating materials with clients that will go into the home building project, solving problems and constraints as they arise, all without having to deal with budget issues beyond not exceeding cost. So in this case, relating the situation to home building, Here I work as a General Contractor on the home building process - managing plumbers, electricians, carpenters, etc...
As a Software Architect, I create all of the diagrams for the software's design, usually in conjunction with devs, but a lot of the time all on my own. At this point I mostly make critical decisions about what framework is used after finding what dev talent is available and conducting interviews if the team is not already assembled. Then I usually set up project management tools and documentation tools, attend requirement gathering meetings, and actively contribute to development and code reviews, while also contributing to pretty much every other aspect of the project that involves technical detail, like the schedule's design, prototypes and demos, and resolving security issues in conjunction with DevOPS teams. So in this case, relating the situation to home building, Here I work as a home architect would. I regularly create "floor plans" and diagrams to drive techs in finishing the project, while actively working with groups to ensure quality and resolve issues based on my designs...
The Software Architect role has grown a lot and will keep going. I remember when employers used to squeeze this role out of me as an underpaid dev... But Architects are now considered essential to pretty much all high value projects because they dramatically improve quality and organization while keeping things on schedule.
Lastly, the Software Architecture consists of the documentation that comes out of planning, requirements, and design sessions for the project. The way an application is designed, the requirements from the customer that are incorporated, the way deployments are being made for updates, all of the things that involve a system's design and maintenance become the Software Architecture. Relating this to home building, it is just like the architecture of a home, the framing, plumbing, the window locations, etc... The architecture here serves as "blueprints" for the development process, and the home can be built with substituted materials while are equivalent to changing platforms, APIs, or even languages altogether just like a bathroom tile can be changed without changing overall functionality of the bathroom.