20 Dev Leaders and Hiring Managers Reveal Their Favorite DevOps Interview Questions
20 Dev Leaders and Hiring Managers Reveal Their Favorite DevOps Interview Questions
If you're hiring for a DevOps position or even preparing to interview for one, then these are questions you're going to want to know.
Join the DZone community and get the full member experience.Join For Free
Learn more about how CareerBuilder was able to resolve customer issues 5x faster by using Scalyr, the fastest log management tool on the market.
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
- Marcus Bastian
- Kean Graham
- Sylvain Kalache
- Brijmohan Bhavsar
- Sacha Ferrandi
- Grant van der Harst
- Steve Pritchard
Read on to find out what our experts have to say about their go-to interview questions for identifying top DevOps talent.
"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.
With this question and in less than five minutes, you can get to know your candidate perfectly. It is the key to successfully finding A quality players who fit your company's culture.
"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?
Many technologists will immediately jump to the new, shiny technology. I want to see the candidate ask questions about the cost of the two tools and the cost of transitioning to the new tool. Transition cost should include training and effort expended moving the existing applications and components into the new tool.
"For DevOps, my favorite question is..."
What does the perfect release look like? Who is involved, and what is your role?
This gives an excellent perspective on what their thought process will be through a release. Good DevOps engineers will also talk about the process to get to the release and the process after the release.
"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.
What is the most important characteristic of a successful DevOps engineer given that it's not strictly infrastructure nor strictly developer. They need to be flexible in both areas and willing to learn both.
"There are a few important questions to ask someone interviewing for a DevOps position..."
One is to ask a potential prospect: What are the best DevOps tools, and which ones have you used? A few of the more popular include: Selenium, a continuous testing tool; Git, a version control system tool; and Jenkins, a continuous integration tool.
"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?
This question would help show the candidate's ability to improve on processes and identify weak points in the development pipeline. Answers can obviously vary quite a bit here, but mentioning integration tests or improved logging along the pipeline would be a good sign.
"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.
This question provides a broad scope for the applicant to discuss their understanding of the benefits of DevOps, their understanding of the necessary tooling, and their experience. For the person conducting the interview, the answer could provide a nice segue to probe more deeply into the specific tools mentioned and gain a more complete understanding of the candidate's experience with each.
"My favorite DevOps interview question to ask a candidate is..."
Other than your family, what are you passionate about? Whether it's their Sunday night bowling league or their son's Boy Scout group, they need to be passionate about something. If the candidate is not passionate about anything, he/she will not be passionate about working for my company.
"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.
It is a very high-level question, but it can expose a common understanding or lack thereof. It also allows me to quickly zone in on any high-level knowledge gaps. That initial conversation can also be quite telling about the interviewee's general attitude.
"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?
This is one of my go-to interview questions! Through the answer, you can learn how a person works and what methodologies they've been exposed to. It also lets you see how close to the business and operations they are used to being.
"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?
DevOps processes and configurations can be forgotten and hidden, and some are only known to a handful of people in the organization. Making sure that the knowledge is transferable is HARD. There is no right way to do it. Making the information explicit and visible is not an easy job - sometimes it's impossible. Writing documentation and finding a process to maintain it is just as hard, so it's good to see what the candidate's ideas are on how to tackle this challenge.
"It's important to ask the candidate what DevOps is..."
Is it a department? Or is it a culture? And why? DevOps is not a department or domain, and if the candidate answers with this response, it shows that they do not truly understand that DevOps removes barriers between development and operations. It's a way of thinking. If companies establish a DevOps department, it won't solve the issues DevOps is supposed to address. If you just have a department, you don't have true DevOps. This question would help me determine whether the candidate truly understands DevOps or not.
"I ask them to bring some of the books they are currently reading..."
While the latest documentation is usually online, books still play an important part in learning. What they bring gives me a number of insights. First, can they follow direction? Some fail to bring anything with them. Second, do they understand the intent of what I am asking? Some have brought illustrated novels. Third, what level of technical books are they reading? Some have brought "... for Dummies" books. Finally, bringing any technical books suggests they are motivated to invest some time and money in their own skills.
"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.
I love this question because a lot happens behind the scenes, and such a question really asks someone to demonstrate how well they understand all of the underlying protocols that make the magic happen. DNS resolution occurs, and the client encrypts its traffic if it's going over HTTPS and relays the data to the webserver. If they're familiar with HTTP/2, they could go into details as to how many connections might be opened during that process. By understanding how all the pieces tie together, I feel more confident that they'll be able to troubleshoot issues when they come up.
"The #1 DevOps interview question that allowed us to filter for the best DevOps talent is..."
What's the best way to get five 9s with AWS?
"My favorite DevOps question is to ask about web stack debugging..."
A great engineer must have strong debugging skills, which are critical especially for DevOps engineers who often have to deal with a production environment. When the site is down and the whole company has stopped making money, these engineers must keep cool and quickly find the issue. For an interview, I will break a web infrastructure in different ways and ask the candidate to troubleshoot it. It's a great way to assess the candidate's problem-solving skills and knowledge in different technical areas that a DevOps engineer might interact with (system, application, network, security, etc.). It's also a great way to assess communication skills. I want the candidate to formulate a theory about what might be broken and tell me how he/she will verify the assumption. Debugging is often about asking the right question.
"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.
Nobody wants to be left out of the revolution! DevOps will not only impact the execution of products and/or projects but also the interaction and collaboration that will occur organically among team members. Of course, there will be challenges in terms of resolving conflicts and handling resistance to change, but the benefits will be more significant and widely accepted. Honestly, I'm looking forward to the continuous delivery of DevOps this year.
"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?
Asking these types of "What do you do outside of work?" questions helps gauge the amount of passion the candidate has for the role and the industry as a whole. It's good to know what kinds of things they are doing to grow in the industry, not because they should be working all day every day, but because you can always teach someone how to do a given job, but you can't teach work ethic and passion. Those traits are developed and grown within the individual over time.
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?
It is essential that you know whether the candidate can talk about and understand code deployment. Asking for an explanation to this question will help them prove that they do know how to deploy software, as well as give them the chance to show an understanding of how integration tools fit with DevOps tools. As part of the process, you can also ask them to draw a diagram on a piece of paper or a whiteboard to explain this question.
"The 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.
Published at DZone with permission of Pete Cheslock , DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.