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)
- 03: Java FP composing functions example – calculate discount - August 18, 2017
- ⏯ Spring boot with Spring MVC, JPA, Hibernate and MySQL video tutorial - August 13, 2017
- Spring boot with Spring MVC, JPA, Hibernate & MySQL tutorial in 10 steps - August 11, 2017
- ⏯ AngularJS 1.x with Spring MVC beginner video tutorial - August 10, 2017
- AngularJS 1.x with Spring MVC RESTful web service beginner tutorial in 14 steps - August 8, 2017
Most visited in last 30 days
- ♦ 11 Spring boot interview questions & answers 2,122 views
- 01: ♦15+ Java multithreading interview questions & answers 1,745 views
- 18 Java scenarios based interview Q&As 1,183 views
- 01: ♦ 17 Java Collections interview Q&As on differences between X & Y... 907 views
- ♦ Q11-Q23: Top 50+ Core on Java OOP Interview Questions & Answers 687 views
- 01: ♦ 15 Ice breaker questions asked 90% of the time in Java interviews 556 views