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.
I recently completed interviewing a number of candidates for a new team. It was the first time I had prepared and set the criteria. All the interviews I participated in previously were based on someone else’s script. The following is what I learned from the exercise…
- Look for people who have endured adversity
- How did they rise to the challenge? (Look for examples of demonstrating resillience)
- What did they learn from the experience? (Do they have a growth mindset)
- Ask questions designed to identify people who are…
- Humble, e.g. quick to admit their mistakes, willing to roll their sleeves up & get stuck in wherever needed? (I need team players, not lone wolves)
- Hungry, i.e. they’ll go above & beyond (results/goal oriented)
- Smart – more EQ-related than IQ, e.g. genuinely interested in other people, or using common sense in dealing with people-related issues (good culture fit)
- Get the interviewee away from the formal interview setting, the more radical, the better
- How rounded (as a person) are they, e.g. away from the workplace? Would you still want to hire them after a long, 1-on-1 road-trip?
- How adaptable (to context) & accepting of change are they? (The future is unpredictable)
- Look for the imperfect fit
- Don’t hire someone who has done the job already; they will get bored quickly
- Look for potential to grow into the role; a 70% fit, with a balance of skills & drive, is a good threshold, The candidate can make the remaining 30% their own in terms of stretch goals
- Ask them, if appointed, how will they help…
- …the team achieve their goals & objectives?
- …me with my short, medium, & long term goals & objectives, etc.?
The primary rationale for all of the above is this…
A poor fit, cultural or otherwise, will always gravitate towards the low performer group.
Footnote: I’m not sure on the radical-interview-setting point. I think it potentially opens up an avenue of criticism targeting unfair recruitment practices. I’d be happy to hear any thoughts on this because I can absolutely see the benefits but only if it can be done legitimately.
I’ve had some spare time recently so I’ve been through this material as a revision exercise.
This is a log of the online content I’ve been through during this revision exercise.