We champion a security-first DevOps culture at Threat Stack, and I’ve had the opportunity of building DevOps best practices into the company since its earliest days. In our experience, this is the best way of simultaneously reducing risk and achieving peak operational efficiency.
Getting the right players on your DevOps team is crucial to this goal, of course. But how do you filter out the star players from the mediocre? Beyond a careful analysis of a candidate’s background and experience, asking the right interview questions can reveal valuable insights that make it possible to find the ideal candidate to complement your existing team’s skill sets and personalities.
To find out what questions today’s dev leaders turn to during interviews for these all-important insights, we reached out to a panel of hiring managers and dev team leaders and asked them to answer this question:
“What’s your favorite DevOps interview question (and why)?”
Meet Our Panel of Dev Leaders and Hiring Managers:
- Cristian Rennella
- Alan Zucker
- Don Tomlinson
- Josh Marotti
- Alexis Zanger
- Matthew Lenhard
- Christopher Quigley
- Gene Caballero
- Ian McClarty
- Juan Pablo
- Rafi Zikavashvili
- Jugal Dave
- Tom Ketcham
- Marcus Bastian
- Kean Graham
- Sylvain Kalache
- Brijmohan Bhavsar
- Sacha Ferrandi
- Grant van der Harst
- Steve Pritchard
“You have to finish a job that will take you one month, but you ONLY have 72 hours…”
You MUST convince three people to work with you. Who would you choose?
Rationale: I love this question because it helps me to know who this person prefers to work with. That is: Does he prefer to be with programmers or designers who are better than him? Equal? Worse? Always remember: Quality players always look for A+ quality partners, while B quality players tend to look for C quality partners.
Also, for each of these three people that the candidate names, I will ask: What are they like? Are they kind? Respectful? Attentive? Responsible? A strong team player? What are their weak points and their virtues? In this way, I can also evaluate whether the DevOps candidate is appropriate for our culture, because this candidate will be an average of the three people he/she looks to do the job with.
“Some of my favorite interview questions for a DevOps candidate are…”
1. What have your first priorities been when transitioning a team to DevOps?
DevOps is primarily a cultural transformation. I am looking for an answer that focuses on people and process over technology. I want to hear how she would break down the silos between development and operations. What steps did she suggest to increase collaboration between the different groups? What challenges did she encounter? How did she overcome them?
2. If you are assigned to work in an organization with a mix of new and legacy applications and technologies, what is the first thing you would do as the new DevOps engineer?
DevOps is focused on delivering value to the business more quickly. I am looking for an answer where the first steps will be to assess the environment. Conducting a value stream analysis is a great first step. Developing a strategy that stratifies the applications based on their need for speed and agility (Paced-Layered Strategy) is also a good answer.
For both of the questions, I want to see that the DevOps engineer is being thoughtful about what should be done rather than talking first about tools and technologies.
3. If the organization had fully adopted a continuous integration tool and a competitor came out with a slightly better product, what would you recommend that the organization do? Stay with the current tool or switch to the competitor?
“For DevOps, my favorite question is…”
What does the perfect release look like? Who is involved, and what is your role?
“DevOps is so new that a lot of people don’t even know what it is…”
Those who do sometimes have done very little. Those who do it significantly sometimes fall into bad habits, so showing how you can automate tests with DevOps shows you can do the work with good practices.
Alexis Zanger is the Senior Marketing Manager for Aegis Software Corp.
“There are a few important questions to ask someone interviewing for a DevOps position…”
“One of my favorite DevOps interview questions is…”
A deployment just failed. What steps will you take to remediate the situation?
This will show how the candidate handles troubleshooting. Hopefully they outline a clear and concise set of steps that they would take to fix the issue. Mentioning rollbacks and different log analysis techniques or tools is usually a good sign. This should also give you an idea of some of the tools the candidate is familiar with and how they have implemented them in the past.
Here’s another of my favorite questions. If you could improve one thing about the deployment process at your last job, what would it be?
“I’m in an interesting position…”
Where I can learn so much about the interview process from two perspectives: job seekers and companies looking for their next employee. As with any technology-focused role, there are often a lot of technical questions; however, I’ve actually found that the top interview question job seekers face is: What is the need for DevOps?
Given the infancy of DevOps as a philosophy, its application can vary greatly from organization to organization. Many companies want to gauge a job seeker’s understanding of DevOps in an interview setting to see if it matches their own philosophy. This question will provide insight into a job seeker’s understanding of DevOps and, ideally, the interviewee should have done their research and will be able to tailor the answer to suit the company they are interviewing for.
“My favorite DevOps interview question to ask a candidate is…”
“I like to kick things off by asking applicants to…”
Discuss their current or favored Development Lifecycle, their reasoning behind it, pros and cons, actors, and tooling involved.
I like to ask that question for a number of reasons:
- It gets the interviewee comfortable as he is talking about something he knows about (his existing day-to-day job).
- I get an understanding of what his current day-to-day job consists of.
- If he sees problems with the way his current company implements it, we can discuss that.
- We can discuss pros and cons of different processes.
- It lets me delve into the interviewee’s understanding of the various roles and responsibilities of the different actors within and outside the team (and where the team’s boundaries lie).
- I get an understanding of what tooling the interviewee has experience with and, importantly, how that tooling is leveraged to achieve the company’s goals.
- I gain an understanding of how holistic (or not) the interviewee’s thought process is (whether he thinks of operational concerns and so on and so forth).
- It is an excellent springboard to delve deeper into any of the above topics as well as other interrelated topics like Requirements Collection, Design, Design Patterns, Automation (CI & CD), QA, Deployment, Monitoring, Troubleshooting, etc.
Juan Pablo Bosnjak
“One of the best DevOps interview questions is…”
When you are committing a new feature, how do you make sure that it will work in production?
And, in case something goes wrong, how do you make sure you can detect and solve the issue quickly?
“A few questions I find valuable when interviewing DevOps candidates include…”
1. Describe how you would test X, where X is the specific component or DevOps change we’re focusing in on as a team.
Whether it’s Continuous Deployment, Configuration Management, Automated Testing, etc., this is a good question for them to show their strengths as a DevOps engineer. Testing DevOps is HARD. A lot of times, testing is ad hoc and not automated. But each type of DevOps component has its own method of testing and evaluation, and companies get into serious trouble when they don’t do it. Over time, this can lead to even more serious problems, including a long downtime, data loss, or loss of company productivity.
2. Would you document X (as above)? If No, why? What makes it clear enough? If Yes, how? How would you keep it updated?
“It’s important to ask the candidate what DevOps is…”
“I ask them to bring some of the books they are currently reading…”
“I like to ask DevOps candidates…”
In as much detail as you can, tell us what happens when you hit the Enter key to navigate to a domain in a web browser.
“The #1 DevOps interview question that allowed us to filter for the best DevOps talent is…”
“My favorite DevOps question is to ask about web stack debugging…”
“My favorite DevOps interview question is…”
What are the top DevOps trends that set the stage for 2018?
With years of effort making people realize the benefits of DevOps, I think 2018 is going to be the year of DevOps execution for teams and organizations. It is going to start being a way of life. Whether it be TDD, build management, continuous integration, or continuous delivery, people will realize that DevOps affects every single aspect of executing a project/product and will give it a much more organized shape than it has been given to date. Also, since it is not just something that only the Development team approves but something that is also stamped by Operations, it will be a widely accepted change for the whole organization to embrace.
“The hiring process is something that should never be taken lightly…”
Not only will you need to trust the new hire to carry on the work ethic and company culture you have worked to build, but also trust that they will continue to want to grow and stay in the know in their given industry.
Some of my favorite interview questions to help ensure that candidates have the skills and traits I am looking for are:
- How do you, if at all, go about continuing the development of your professional expertise and industry knowledge?
- Do you do any freelance work or partake in any at-home educational courses?
- Do you enjoy attending conferences and workshops?
Grant van der Harst
Grant van der Harst is the Managing Director of Anglo Liners.
“I like to ask DevOps candidates…”
What is the best method to deploy software?
“TThe best DevOps interview question is…”
What would you say is a high load average?
DevOps engineers must understand the rudiments of system preference monitoring for troubleshooting issues during production and planning purposes. For this reason, asking this question will help you to gauge whether the candidate understands what a load average is. If they are able to explain that it is not CPU usage, this is a great indication
that they have a sound technical knowledge. It also opens up the potential for you to have a further discussion on your specific troubleshooting performance, which gives them the chance to say how they could improve it.