home | non-tech | cs | ee | about
Abstract New

How to interview a Technical Architect

Interviewing Technical Architects - A Warning!

If I seem too harsh in my condemnation of “experienced” developers who have no idea of some of the concepts mentioned below, it is because my sympathies always lie with the beginners. If your senior technical folks have the wrong attitude, you would be creating a whole bunch of bad developers and drive good talent away. If you are not familiar with some of the concepts I have outlined, you have no business interviewing a technical architect - get someone who can do it.

Technical architects should at least have five or more years of hands on software development experience. They should be knowledgeable on all aspects of software development - from databases to user interfaces.

Curiosity is a vital trait of a developer.

Questions to ask a Technical Architect

Database/ Data Modeling

You heard me right. Start with the database. I have had technical architects tell me that “databases are not their thing". This is like an civil engineer saying - "I can design bedrooms but for restrooms whoa...for that you'd have to get another dude".

Some pointers
  • Designing a database schema for a simple scenario- say an employee database with department masters or how they would handle employees of different companies – extra credit if you can ask them about multi-tenancy.
  • Different locking levels and concurrency. Every experienced programmer should know these concepts.
  • Normalization and denormalization - Yes, there is such a thing as denormalization even though word might mark it with a red squiggly line.
  • Check familiarity with concepts such as NoSQL. If they blurt out cool names such as Mongo and Raven, keep them going.
  • If they seem uber confident on the above points, ask them about scaling and sharding

Architecture & Design

I have interviewed developers with 10 years of experience having no clue of what web services are - I kid you not. Others have interviewed Senior Java “architects” who did not know the difference between a JDK and a JRE. Design and architecture should cover the following concepts (you can build on the above example).

  • Authentication concepts - How do you authenticate a web application? If they have not implemented authentication that should be a red flag, unless they are the creators of Wikipedia.
  • Web services - REST and SOAP. Check if they understand the concepts.
  • ORM’s - If they think it is a new processor from ARM, quickly take a bow and leave.
  • Web servers and related concepts
  • Cloud computing - it is a bit out of place but check knowledge on cloud and especially Paas ecosystems
  • Concepts such as Multi-tenancy

Programming

A technical architect should be able to sit down and write code. So set them up with an environment they are comfortable with and ask them to write code.

  • An essential trait of a good technical architect is their ability to quickly jump into programming languages they do not know. “I am a Java dude” or “I am a .NET fanatic man” does not work.
  • Though I am not a big fan of asking design pattern questions, I am assuming the purists would want to do it anyways. It is safe to assume that a vast majority of candidates would want to talk about the singleton pattern. Stop them and ask them about Inversion of control. If they think it is a new faith based healing exercise, walk away slowly.
  • Concepts such as threading (which most web developers have forgotten) - extra credit if they talk about mutexes and semaphores. If they think these are names of ancient Greek gods, give them a reassuring nod and mentally prepare to proceed to the next candidate.
  • Knowledge of client side scripting frameworks - Javascript knowledge is a big plus. I am going to go out on a limb and say this - Genius programmers probably hate Javascript, but they would still know what it does. I was kidding about the genius part, but any web developer worth his/her salt should have a working knowledge of Javascript.
So that brings us to the conclusion of “What should you ask a Software Architect?” Feel free to add anything I might be missing.

No comments:

Post a Comment

© 2014 - 2015 abstract new. All rights reserved.