I was reading some of the newsgroups and, for some reason, I’ve seen a LOT of requests lately about “interview questions for ‘blah-de-blah’ position.” Just saw another for .Net developers. Made me wonder, what would I consider is a good set of interview questions for an Enterprise Architect?
Let’s see… what would I look for in an enterprise architect?
- Visual Thinking – the need to communicate with pictures rather than words
- The ability to communicate complex ideas to widely different audiences. Excellent written communication skills as well as the ability to both speak in small and large audiences.
- A firm grasp of process engineering, lean or six sigma.
- A reasonable grounding in the notions of business capability modeling and application-to-capability mapping (needed for simplification and redundancy review exercises).
- The ability to lead architectural review sessions using the ATAM method of application architectural evaluation.
- A firm foundation in current ideas in software architecture, including SOA, MDA, EDA, and basic OOD. An understanding of the concept of pattern languages as well as deep knowledge of OO design patterns, architectural patterns, and messaging patterns.
- A solid understanding of software development processes and methodologies: Agile, RUP, Spiral, Waterfall… and the ability to describe actual situations that may be appropriate for each one (yes, including Waterfall).
- Reasonable experience in network infrastructure, including TCP networking, Firewalls, Routing, and Load Balancing.
- Solid understanding of encryption, authorization, authentication, and security mechanisms, especially the foundational elements of the Public Key Infrastructure.
- Excellent knowledge of data management, including operational uses of RDBMS, Extract-Translate-Load operations, business intelligence data management, and data distribution / caching strategies.
Of course, you can’t ask questions about every area, so you want to pick the particular areas that you think are indicative of the experience you need in the particular position, or which you think can lead to a tangent that may cover other areas. For example, a discussion of Business Intelligence enablement in an application infrastructure will hit on ETL, BI data management, and operational data management, but may also tangent into a good discussion of authorization at the data level, which can segue into a discussion of general authentication and authorization discussions.
Similarly, a discussion of networking and load balancing can lead to a tangent on HTTPS and right into the Public Key Infrastructure.
Public speaking is probably the hardest to wrangle in an interview. You can pull off ‘small group presentation’ by having them draw, on a white-board, the conceptual application architecture of a system that they are familiar with and walk you through the system, discussing tradeoffs, strengths, weaknesses, and things you’d do differently if you could rewind time. (Note: if they fail to reflect on any regrets, flip the ‘bozo bit.’ No one needs an arrogant or self-righteous Enterprise Architect).
Probably the least necessary is the ability to describe software development methodologies. Architects can be interested in, even passionate about, Scrum or RUP or TDD, but they have little to do with the ability to do the job.
So, while I didn’t describe any specific questions, I hope that someone looking to interview an Enterprise Architect can benefit from this profile and notes. At the end of the day, one company’s ideal candidate is a poor fit for another. At this level, the interview needs to be driven by proven abilities and past experiences, and not book learning.