Solutions or Technical or Application Architect in 2019

Recently I have been attending Architect interviews and recently took few.  For background, I would like to add that I have 10 years of development experience with Java and MBA, and I am currently Solutions Architect.  Many of my interview questions revolve around Java but most of the interview questions are like technology agnostic.

Personally I believe one does not need 5 years or 10 years of experience before moving into Architect role because it depends very much on the role.  Based on my experience, In IT companies differentiate between different Architect roles and no roles is big or small:
  • Application architect - These are architects of applications such as Java Architect.  The architect designs an application and architect should be hands on with the technologies used in developing the application. I have worked in past in applications in which I was both designer and developer.  I used to prepare the design for my application and later develop it too.  I developed several adapters using Java in which I decided the classes, layers, interfaces, and services.  I later developed those.  In similar I worked on an application built using Java EE framework - many Java EE components were used such as JSF, EJB, JMS, and so on.  I was like Java EE architect.  If one is planning to be Java EE architect then Oracle Java EE Master certificate is recommended; but, I am not going to do that certificate because very few applications are now completely developed in Java EE.  When I had 3-5 years of experience I more like Application Architect and interviews were tough and interviewer will go deep in Java concepts. I think Senior Java developer, Java lead,  Java application architect - are all same.  Many companies will decide the role based on number of years of experience such as 3-5 for Senior developer, 5-7 for lead, and 7+ for Architect.  In similar one can be iOS or Android or UI architect.
  • Technical Architect - Many companies look for minimum 8-10 years of technical hands on experience when recruiting Technical Architect.  The expectation for skills is not limited to one technology instead complete full stack such as: Angular + Java + AWS.   Highly paid, highly technical, individual contributor role.  Few companies name it Principle Engineer.  I will only hire a person as a Technical Architect if he or she has minimum 8 years strong hands on experience.  Startups need these people.  These people can be right hand to the CEO. 
  • Solutions Architect - This role is very company specific.  I have also seen many times no difference between Business analyst and Solutions Architect.  Many times role does not require hands on instead A solutions Architect should have skills: Business Understanding, Requirement gathering, Documentation, Systems Overview, Communication, Technology enthusiasts, and Vision.  I have seen people from 2 years to 20 years of experience in this role.  A solutions architect of a company knows systems of the company very well.  If you are solutions architect of AWS then you would know all the AWS services and systems - you don't need lot of development experience.  A person with 3 years of AWS experience and only 3 years of total IT exprience is a suitable Solutions Architect if he or she has certificates and knowledge.  Similarly one can be Solutions Architect in Banks if you know the systems involved even though few systems might be blackbox to him or her.  Sometimes roles requires Strategy and Marketing; therefore MBA backgrounds are suitable here. 
  • Enterprise Architect - These roles are less and only exist in big or mid size organizations.  These roles exist in consulting firms and certifications such as TOGAF prepare one for the role.  One can do transition to this role based on understanding of organisation systems, Data governance, information management, and so on. I have not applied for this role neither I plan to move to this one right now because it does not help in my day to day job. 
Well above was my understanding but one can read a article from Capgemini and choose your architect:

I applied for few Technical Architect role with Java background and following were few questions:
  1. Difference between Adaptor, Facade, and Proxy pattern?
  2. What frameworks have you used?
  3. Which Spring projects have you used?
  4. SOLID principles
  5. What design patterns have you used in Java an in J2EE?
  6. Design an application that will manage a heavy & fast stream of data?
  7. SQL or NoSQL?
  8. What is ideal REST implementation?
  9. How you explain Agile to Business people?
  10. Is TDD useful?
  11. How to manage security in SOAP Web Service?
  12. SOA or MicroServices?
  13. Difference between SVN and GIT?
  14. Why microservices?
  15. How to manage communications between microservices?
  16. How to manage data sharing in microservices?
  17. Define Scalability

Few jobs were Solutions Architect and were not open for no Java background
  • How to scale content management system when sudden spike in traffic?
  • How to manage security of a web application?
  • What certificates you have and what are you planning next?
  • Layers in API - Many organizations use Mulesoft and they expect one knows the difference between Experience, Process, and System APIs
  • How do you evaluate a new framework
  • Hybrid or Native (in Mobile development)
  • How Mobile application security is different from Web application security
  • Role of Architect in Agile
  • Explain Scalability (One expects the "Art of Scalability")
  • Pillars of Architecture (Refer AWS Whitepaper)
    • Operational Excellence
    • Security
    • Reliability
    • Cost Optimization
    • Performance Efficiency 
  • Tell me about a time when you led a change 
Well, Everyone should know the three tier architecture
source: AWS

Comments