When it comes to a job interview, software
architects must display the right mix of technical knowledge, project
management experience and effective communication skills. Because of this, the
conversations are generally divided into three parts: how the architect displays
knowledge and skills in a hypothetical situation, past projects and how he or she
communicates. Yet above all, software architects should be a good cultural fit who
can understand the specific needs of a business and work successfully with all
the people involved in software projects.
The following are commonly asked interview
Show me how you would go
about architecting this software solution.
will often give you a hypothetical software design solution to sketch out on a
white board, or simply explain. One such question asked by Vasanthan Dasan,
CTO and vice president of engineering for staffing firm the Armada Group, is: architect a software solution for a platform
as a service for the state of California’s vehicle registration records.
candidate should explain not only the technology aspect of the problem – such
as the front and back end of the Web technology, tables, databases and the like
– but also reveal good communication skills,” says Dasan. “They
should explain how they gather and translate client and user requirements to a
team of software engineers that is developing the solution.”
Explain a project you worked
This is the blanket interview question intended to gauge experience
and communication skills. You should explain in depth previous work including
the planning, problems, team building with engineers, time spent and obstacles
you faced. A common follow up question: Did the project work the way you originally
designed or intended it too? Why?
Talk about one of your
successful projects and why it was successful.
This question is used to find out what you value in the software
development process and to help the interviewer see if you’ll fit the needs of
a particular organization.
What kind of atmosphere
do you like to work in?
is designed to ascertain whether you’re the right cultural match at a company
try to really have a genuine and sincere discussion about what they like and
don’t like,” says Matt Allison, It product manager for Kelly IT. Another question Allison likes
to ask: What do you think
the best way for software to be architected?
How would you define a
database table for information to be stored and why did you choose that
Similar questions: What
database management systems have you worked with? Can you work with MySQL
and/or Oracle Database?
‘This gives me a good understanding of how this person thinks and
their familiarity with the latest technology,” explains Dasan.
How do you manage conflicts
in Web applications when different people are managing and working on data?
Similar question: How do you
help identify who is responsible for changes in a software project?
You’ll need to explain how you manage a team, including how the
team documents a project in order to avoid design conflicts. You should give
examples of how you’ve used effective communication for successful results in a
“Just because somebody can architect software doesn’t make
them a successful software architect, which is why I ask project management
questions,” explains Kelly O’Connell, a branch manager for Robert Half
Which tools have you used
for testing code?
Similar question: Tell me something
you know about testing or QA?
You should know the difference between functional or exploratory
testing and explain how you’ve used it in the past.
How do you find a middle
item in a linked list?
“I ask simple algorithm questions, since any programmer,
engineer or software architect should be comfortable talking about algorithms,”
Name the differences between
object-oriented design and component-based design>
This question is not only intended to test your knowledge, but also
to find out your design expertise.
Give an example of when
you were innovative with software architecture.
question: When did you think creatively
and create software that wasn’t seen before?
What do you think is the
best way for software to be architected?
questions: What methodologies have worked
with? Which do you prefer? Why?
– Chandler Harris
Some good resources:
Good thread from forum