In industry specific forums, I often see questions like “what certification do I need to do to become an architect?”. The simple answer is that you don’t need a certification to become an architect. It may help, but there is a lot more to it to become an architect.
You can’t just only study to become an architect. The best way to become an architect is to start thinking and acting like one.
Interviewers ask open-ended questions like:
1. Can you describe the architecture of the application you were recently involved in? or Can you describe the baseline architecture of your recent application?
[Hint: Tiers, Layers, Source/Target Systems, Integration Styles, Protocols used HTTPS/TCP/SOAP/Proprietary, Data exchange formats e.g. JSON/XML/Proprietary, Synchronous/Asynchronous, request-response Vs. fire-and-forget, non-blocking I/O, reactive programming, SQL Vs NoSQL, etc.]
2) What are your most proud of achievements? What were your involvements?
[Hint: Designing a mission critical system that handles 250+ concurrent requests, Designing a near real-time system with low latency response times, etc ]
3) How do you keep your knowledge up to date?
[Hint: Books you read, Blogs you follow, GitHub projects that you developed, Quora, LinkedIn groups, Google+ communities, etc]
4) Can you describe the non-functional requirements that you addressed in your last project?
[Hint: Capacity planning, security, scalability, maintainability, auditing/logging, archival strategies, choice of integration strategies, frameworks & tools, test strategies like performance testing, cross browser compatibility testing, etc, disaster recovery plan, coding standards, and so on ]
5) How do you evaluate the code quality of others?
6) Technical questions on design approaches, alternatives, pros/cons, and trade-offs. Often no right or wrong answers, but your technical know-how and reasoning skills will be under scrutiny. 75+ Java Architect FAQs.
7) What architectural documentations did you produced?
Expect drill down questions based on the answers you provide. These questions can reveal a lot about your passion, enthusiasm, attitude, communication skills, problem solving skills and technical strength. As an architect you need to bridge cross functional teams, and you need to be able to communicate at different levels both technically & non-technically.
Java Architect Roadmap
Here is my take on the roadmap to become a Java/JEE architect.
- Learn to draw high-level conceptual and UML diagrams: Know the various architectural styles, JEE layered multi tier architecture, and various integration styles. You must be confident to draw these diagrams on a white board with regards to the actual application you had worked on or how you would go about designing a new application in question.
- Learn to ask the right questions — what if …? how about …?, design alternatives, pros vs cons, tactical versus strategical, strategical vs political, weight the risks against the benefits, build vs buy, etc. Ask questions pertaining to the 16 key areas. Think in terms of scalability, transactional boundaries, best practices, exception handling, development process improvement, etc.
- Get a good handle on the 16 key areas and proactively apply these key areas.
- Look at things from both business and technical perspective: architects form a bridge between many cross functional teams like business analysts, stake holders, project managers, developers, testers, infrastructure team, operational and support staff. Know your target audience and learn to convey technology to the business non-technically and the business requirements to the techies technically.
- Learn to look at the big pictures and also pay attention to details where required.
- Get a well rounded hands-on experience. For example, client side, server side, application integration, full SDLC, etc. Nothing beats experience, and you can proactively fast-track your career by learning from others’ experience via good books, blogs, industry specific web sites, and helping others on the forums.
- You don’t have to be the “jack of all trades” but as a technical leader and a bridge between various stake holders and the development teams, you need to have good soft skills to make things happen by engaging the right teams and expertise. The key soft skills to have are communication, interpersonal, leadership, analytical, negotiation, and problem solving.
So, the combination of all the above can transform you into an architect. Stay visible at your current work and behave like an architect to get a foot in the door. Ask the right questions and contribute in team meetings and crisis sessions to prove your capabilities.
You May Also Like
Latest posts by Arulkumaran Kumaraswamipillai (see all)
- 06a: ⏯ Spring 4 MVC RESTful POST method Video Tutorial - June 25, 2017
- 05a: ⏯ Spring 4 MVC RESTful Web Service Video Tutorial - June 25, 2017
- 06: Spring 4 MVC RESTful GET & POST methods Web Services Tutorial - June 25, 2017
- 05: Spring 4 MVC RESTful Web Service Beginner Tutorial step by step - June 24, 2017
- 04a: ⏯ Spring MVC with Thymeleaf beginner video tutorial - June 23, 2017