Software architecture training : our two day "From Developer to Architect" training course is an interactive introduction to software architecture and aimed at software developers moving towards their first software architect role. Read more...

Interviewing architects

Open questions let you explore and get a feel for experience

In Architect Level Interview Questions, Joe Walker shares some of the interview questions that he uses to quiz architects. For me, the comment that sums up the essence of Joe's questions is as follows.

These are not trick questions - there is generally no one correct answer; just opinions.

Whenever I interview architects, I always go for the open questions too. Some of my current favourites include "how would you define architecture?", "what are the responsibilities of an architect?", "how do you start chasing down a performance problem in a J2EE system?" and "how do you take requirements through to design?". Open questions allow you to really get involved in a two-way dialogue, which subsequently lets you explore and get a feel for experience. Of course, like Joe, I still like to throw in a few very specific technology questions (if applicable) to ensure that they *do* have experience with technology X.

I really enjoy interviewing because it's a great way to learn about other architectures and helps broaden *my* experience. If you interview architects, what are your favourite questions?



Re: Interviewing architects

Good bunch of questions. My thoughts... Architecture definition is very subjective. Technical Architect as such has to wear many hats and play variety of roles. You cannot have a generic Software development architect, it will be easier if we can categorize as J2EE architects, .NET architects, EAI architects, Performance Architects etc. The focus should be on the breadth of the knowledge and right amount of depth. There is lot of weight to the word Architect and sometimes this inflates the ego which can create problems. Architects need not be always right, and should never enforce/stress on his solutions. ...more later

Re: Interviewing architects

<p class="MsoNormal">I do complete agree with the last part of your comment, there are so many types of architects who work together to support the ‘lead architect’. I my view a true architect is someone who can not only design a solution from working with the client to understand what they themselves don't, then provide direction to the subject matter expert architects to pull in the same direction. That said, getting in at this stage never happens any more as people who claim to be architects have already been there and f*cked it up. More typically architects come in to help solve problems which with hindsight could have been spotted early, make the hard decissions. Take my current assignment; I'm lead architect on a deployment of around 500 hundred servers to support a dynamic supply chain (plus a great big central service). We're using the full oracle 10g stack (,db, as, eai, etc,etc) on a<span style="">  </span>microsoft platform and we're putting the systems into the field with very unreliable communication infrastructure, therefore no real remote support capability. That’s then coupled with no local technical people means that a number of deployments are bound to fail! So, with a project a certain way through the project life cycle it means some really hard decisions have to be made. If we change the solution, delays will be incurred, money will be lost and people will get very upset. But if we don’t switch direction then there’s (IMHO) a strong likelihood that the entire solution will not function as it needs to.

<p class="MsoNormal">That’s what an architect does, he/she makes sure the damn thing works and is held accountable.

Re: Interviewing architects

I see architecture as a blue print to the application, the term came from the civil engineering, where you have blue prints of a building. On similar notes architecture in software is a blue print of the system. Most of the components in it would be same, technology would differentiate them in terms of implementation. But take any system - simple web application, whether you use .Net or J2EE, there is going to be 2 or 3 tier application and that's where architects play a role. Should it be 3 tier or 2 tier and so on....

Add a comment Send a TrackBack