Why this matters:
Over the decades that software architecture has developed as a field, certain principles have come to be recognized as best practices. While almost every candidate will be familiar with these principles, the strongest candidates will be able to explain why they’re necessary and point to specific examples of their past work that reflect their depth of understanding.
What to listen for:
- Mention of key principles like simplicity and scalability
- Comprehension of best practices in programming
- Discussion of how to implement these principles in practice
Why this matters:
The CAP theorem states that it’s not possible for a distributed computer system to simultaneously provide consistency, availability, and partition tolerance. It’s one of the fundamental rules of software architecture. A strong candidate understands the CAP theorem and its implications, and can put it into practice in their work.
What to listen for:
- Familiarity with the theorem and its meaning
- Explanation of the implications of the theorem
- Discussion of how CAP forces necessary compromises
Why this matters:
This question tests the candidate’s understanding of the principles of software architecture and allows them to demonstrate their understanding of complex program design. Strong candidates will show they understand the rationale behind the principle and might even describe programs where they’ve put it into action.
What to listen for:
- Explanation of the importance of modularity in design
- Reference to greater comprehensibility and elegance
- Discussion of specific cases where this principle might apply
Why this matters:
The development of software architecture can feel like the ultimate puzzle, requiring the ability to think laterally and approach a problem from multiple angles. Every software architect occasionally faces challenges in their work, and strong candidates can explain how they met and surpassed those challenges in order to deliver an excellent finished product.
What to listen for:
- Ability to recognize and define problems
- Capacity to devise original and robust solutions
- Application of lessons learned going forward
Why this matters:
Ideal candidates demonstrate a hunger for knowledge and enjoy taking on new challenges. Whether the skills they cultivate are directly related to their work or not, the ability to develop mastery on their own shows that a candidate possesses a growth mindset and will be an active contributor to the company culture.
What to listen for:
- Desire to continually improve skills
- Interest in diverse subjects
- Internal motivation and personal drive
Why this matters:
Software architects never operate entirely on their own. But it takes time for new members of the team to get up to speed on how your company operates — and much of the responsibility to help them falls on their fellow software architects. An ideal candidate has experience as a teacher and mentor and looks forward to helping others develop their skills.
What to listen for:
- Patience when bringing new hires up to speed
- Explanation of company norms and expectations
- Desire for a tightly knit, strongly collaborative team
Why this matters:
Even in a company where tech is the main product, not every member of the team will have a background in software engineering. This is where the ability to break down software architecture concepts in straightforward language comes into play. In doing so, the best candidates enable greater collaboration between technical and nontechnical staff.
What to listen for:
- Ability to speak in plain language without oversimplifying
- Strong communication and presentation skills
- Comfort working closely with nontechnical staff
Why this matters:
Bugs are a common headache for software architects, but top candidates don’t let glitches in their code interfere with their work: they focus on using the best tools available to identify and correct errors. They ensure their code operates at the highest level, and provide thorough documentation to help others make additions and adjustments in the future.
What to listen for:
- Use of debugging tools
- Extensive documentation
- Adherence to coding standards
Why this matters:
The world of software architecture is constantly changing. As new technologies and practices emerge, an ideal candidate knows how to keep up with these exciting innovations. For example, they may be involved directly with open source projects to develop superior APIs or other tools, or they may be subscribers to journals showcasing new discoveries in computer science.
What to listen for:
- Portfolio showing active participation in open source projects
- Interest in new research and papers
- Relentless curiosity and hunger for knowledge
Contact a sales consultant.