I put together a set of potential questions to use when interviewing people for DevOps roles. I’m sharing them here so that others may benefit from using them. Alternatively, feel free to comment so that we all, interviewers & candidates alike, can improve on the hiring experience.
They are clustered into topics such that if I think a candidate has answered an initial question or questions really well (or indeed not at all), I’ll skip to the next cluster; there’s little point asking about related areas under different guises.
Conversely, if the candidate has struggled, I’ll probe deeper. It might be that my phrasing of the question is the cause of the misunderstanding.
- What can you tell me about yourself that isn’t on your CV?
- What is your greatest achievement/accomplishment?
The point here is to get the candidate relaxed and talking more freely.
- Discuss your experience building bridges between various separate groups?
- Can you give an example of where you’ve been able to use your leadership and communication skills?
- Can you describe a situation where you endured adversity?
I’m looking for STAR responses here – Situation, Task, Action, & Results
- What are the advantages of Pair Programming?
- What do you know about DevOps?
- Is there a difference between Agile and DevOps? Please explain your answer
Starting to get under the skin of what the candidate really knows.
- Why has DevOps gained prominence in recent times?
- What is the most important thing DevOps helps us achieve?
- What are the key components of DevOps?
- What is Devops with respect to Cloud Computing?
- How would you explain the concept of Infrastructure-as-Code?
- How might IaC be implemented?
- Why are configuration management processes and tools important?
Has the candidate got a genuine understanding? Or have they researched the topic the previous night in prep. for this moment?
- What is meant by Continuous Integration?
- Why do you need a Continuous Integration of Dev & Testing?
- What are the success factors for Continuous Integration?
- What are Design Patterns?
- What testing is necessary to ensure that a new service is ready for production?
- What is functional testing and non-functional testing?
- Which testing tool are you comfortable with and what are the benefits of that tool?
- What is continuous testing?
- What is test automation?
- What are the benefits of test automation?
- How to automate testing in DevOps lifecycle?
- Why is continuous testing important for DevOps?
How are the candidate’s development skills?
- Why is continuous monitoring necessary?
- Are you a team player?
- Explain your understanding and expertise on both the software development side and the technical operations side of an organization you have worked with in the past.
Some candidates have focused far too heavily on the Dev aspect, neglecting the Ops element; these questions are intended to bring that side to the fore of candidates’ answers.
- What is your approach to learning new skills?
- What was the last book/article you read?
I treat these as gateway questions in that the candidate may well be able to teach me something new here. Depending on their initial response, I will ask unrehearsed, follow-up questions in a more conversational style.
- Why is this job the right fit for your career?
- Do you have any questions for us?
While the last question might be thought of as obligatory, cliche even, in combination with its predecessor, it still provides an valuable indicator of the buy-in by the candidate. I don’t mind helping anyone practice their interview skills; it’s also practice for me as an interviewer, with zero lost-opportunity impact. What I don’t want is to offer/appoint a candidate who is only biding their time, looking for something better whilst in role. In the meantime, I may have missed out on the perfect appointee.