The question I often come across is: 𝐖𝐡𝐚𝐭’𝐬 𝐭𝐡𝐞 𝐝𝐢𝐟𝐟𝐞𝐫𝐞𝐧𝐜𝐞 𝐛𝐞𝐭𝐰𝐞𝐞𝐧 𝐚 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫 𝐚𝐧𝐝 𝐚 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐀𝐫𝐜𝐡𝐢𝐭𝐞𝐜𝐭? 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫: A (full stack) software developer is typically the one on the ground who churns out code for a given requirement. The (junior) developer often struggles or ignores understanding the bigger picture of the software/application’s complete functionality. They don’t go beyond the given requirements, especially the non-functional requirements are usually out of their bounds. 𝐒𝐨𝐟𝐭𝐰𝐚𝐫𝐞 𝐀𝐫𝐜𝐡𝐢𝐭𝐞𝐜𝐭: A Software Architect was a Software Developer years ago. An Architect sees the big-picture of the application and understands how different layers in the system communicate and cause collateral impact to each other. Additionally, the Architect cares a lot about non-functional requirements such as scalability, performance, security, resiliency, and adherence to enterprise standards. Architects do not need to be hands-on, but they are on "stand-by" to fill in developer roles if needed. An Architect’s responsibilities vary significantly. Most of the time, they are engaged early in the design phase before any development work kicks off. The Architect works with multiple stakeholders, such as Product Managers/Sales/Release Teams and Customers, to ensure all stakeholder needs are incorporated into the software development phase. ____ Here is the picture of an application’s full-stack burger view 😀 . This is how most developers look at the application’s stack. But an architect sees the “blind spot” and asks questions such as: 1) Are we checking all the boxes of Enterprise Architecture guidelines? 2) What’s the SBD (Secure-By-Design) strategy for each layer in the stack? 3) How can each layer scale out independently? 4) What’s the DR (Disaster Recovery) strategy here? 5) What kind of Observability/Monitoring mechanisms have been put in place? 6) What’s the manual/workaround if everything fails? 7) What is the backup/retention strategy? 8) Are we compliant with the Regulatory Mandates of the Geography we operate in? 9) How much of Tech Debt do we carry with this design? 10) What’s the TCO (Total Cost of Ownership) to operate this? And many more questions that qualify one as “Architect".
Manivannan P such great and easy way of explaining the things 👏
I drive Transformation with Innovation | Cloud, AI/ML, Data, QA | I always open for Good Recipes
5moreally helpful, thanks for sharing