It’s hardly a well-kept secret: Now is a great time to be on the DevOps job market.
As the culture and practice of DevOps spreads, companies are hiring to build out their teams. And they’re really hiring. At the time of this writing, a national search on Glassdoor for “DevOps” turns up more than 37,000 open positions. You’ll find similar numbers on LinkedIn.
Just because the market is hot right now doesn’t mean you’re going to breeze your way into a new gig, though. You’ll still need to ace that interview—often multiple interviews, and that means careful preparation. Study the company and be sure you understand the specific requirements of the role. For DevOps interviews, you’ll also want to think about how the interviewer is going to gauge the depth of your understanding of DevOps.
You can certainly find examples online, including company-specific interview questions for various DevOps-related positions, such as “DevOps engineer” or site reliability engineer (SRE).
Glassdoor users, for example, sometimes post questions from actual interviews. You can also find example questions on Quora or GitHub. These are all great places to start, but questions posted online don’t always come with reliable advice—if any—on how to best answer those questions.
Moreover, because you can’t actually predict the exact questions you’ll be asked in an interview, a better strategy might be to prepare for particular types of questions—and, better still, seek out trusted expertise and advice on how to develop honest and authoritative responses.
A framework of critical DevOps interview questions
To give your DevOps interview prep a serious head start, we built a framework of critical DevOps interview questions and invaluable insights on crafting answers to them.
First, we talked to New Relic’s own solution consultant Eric Mittelhammer, who has deep experience building and working in DevOps teams. We also connected with Jim Johnson, senior vice president at national recruiting firm Robert Half Technology to find out the kinds of questions companies are currently asking DevOps candidates during phone and face-to-face interviews.
We also asked Eric and Jim to share their expert advice on how to develop smart answers to these questions that will help you stand out from the pack.
The questions they pose span three categories: technology and tools, process, and culture. Of course, any DevOps pro will tell you many of these questions bridge all three categories—but that’s kind of the point: The close relationship of culture, processes, and technology is what DevOps is all about.
So, let’s get to the questions, along with Eric’s and Jim’s expert thinking on how to respond in a compelling, knowledgeable manner.
Q: How would you describe the functions of an ideal DevOps team?
Right off the bat, here’s an interview prompt that, as Eric notes, intersects all facets of DevOps. It’s almost inevitable that you’ll face one or more “big picture” questions like this to test your understanding of DevOps and to show that you see it as more than a set of tools or a development methodology.
This is a rather open-ended question, Eric says, and the answer can include points and anecdotes about processes, tools, and culture. But they should all center around the theme of removing obstacles that slow the pace at which code is delivered to end users by using the right tools to give you the confidence to do it.
In answering, you’ll want to hit themes like:
- Reducing the boundaries between those who own software and those who own hardware
- Empowering teams to make decisions about the tools and infrastructure they use
- Encouraging small, frequent code releases that address as narrow a scope of functionality as possible (small changes are easier to roll back and fix)
- Eliminating testing and QA environments
- Releasing directly to production and relying on instrumentation and performance metrics to validate releases
Q: How would you describe DevOps?
Here’s Jim’s—our recruiter—perspective for developing a strong response to this question:
“Make sure you highlight the main goal of any DevOps project, which is to improve collaboration in planning and delivery to achieve faster deployment of a project, service, or software to create business value. Dive further into your answer by listing some technical and collaborative examples of DevOps projects you’ve worked on, or perhaps studied, in the past. The employer wants to know your familiarity with the DevOps process and gauge your experience level.”
The bottom line with these big-picture, high-level questions about DevOps is simply to be prepared for them. On the surface, they seem straightforward, but if you haven’t developed a cogent response, they could leave you hemming and hawing during the interview, which is never a good position to be in.
Jim recommends leaning significantly on your past experience. (More on that in a moment.) If you’re just starting out, though, you can study up on DevOps success stories, as there are plenty floating around. Media giant Gannett, for example, is a great case study in DevOps success.
- Case study: Etsy, Sprouter and Conway’s Law (IT Revolution)
- Case study: What the enterprise can learn from Etsy’s DevOps strategy (ComputerWeekly.com)
Q: Can you describe a previous success within your DevOps experience?
Being able to illustrate your big-picture understanding of DevOps with a particular project or team experience is incredibly useful in an interview setting. It lets the hiring team know that you’re the real deal, rather than someone who’s just littering their resume with a bunch of DevOps-oriented catchphrases and hoping for the best.
Even if you haven’t had significant real-world DevOps experience, try to put your past experience in the best light, and ensure that you can connect your individual contributions to the broader team and business:
“Bring up projects in which you’ve been a key player,” Jim says, “How did you help your team succeed? What technology and processes did you use? What value did this project bring to the business? Touch on the project as a whole, but also emphasize your main contributions and how your team worked together.”
Q: What skills have you learned to help you better succeed in a DevOps role? How did they help?
At just about any career stage or experience level, hiring managers in DevOps environments tend to look for people who show a commitment to continuous learning and skills development. Tool X might be the best solution for a particular process or problem today, but there’s no guarantee it will still be right for a problem that arises tomorrow. Take the time to reflect on how you’ve added new skills and experience over time, whether it was learning a new programming language, building a sandbox project to learn a new cloud platform, or taking advantage of educational opportunities offered by a previous employer.
Jim says: “Be prepared to talk about any certifications or skills you’ve gained, why you did so, and any results that may have come from it. The employer will want to know how dedicated you are to your professional development. It also shows that you went above and beyond to meet a challenge or fill a need for the business.”
Q: Explain why proper instrumentation and measurement are so integral to DevOps culture and process. How do you use them in a development and deployment workflow?
This is another great example of the need to be able to connect the dots between the technical aspects of DevOps and equally important pieces like culture and measurement.
For advice on answering such questions, Eric says it’s important to know that “DevOps relies heavily on automation and tools rather than people and process. Properly instrumented systems will let us know when they are under stress, rather than relying on humans such as testers—or even worse, end users—to discover those conditions. Candidates should be able to describe a workflow in which they make small, atomic, incremental changes. Their deployment process should be as automated as possible, and they should use instrumentation tools to verify the impact and correctness of their change.”
Don’t miss our post Guide to Measuring DevOps Success
Q: If there is a new technology or process you’d recommend for improving our DevOps strategy, how would you evaluate said improvement?
Candidates may overlook the importance of measurement to DevOps, thinking it’s something to consider after they get the job. But a high-functioning DevOps team is definitely going to want to gauge how you measure the efficacy of tools and processes.
Here’s Jim’s advice on developing a good response to this question:
“DevOps transformation relies heavily on a team’s ability to implement new tech and processes. You should explain how you go about researching, evaluating, and trying out new technologies and strategies, and how you would explain to stakeholders how this will improve the project and create value for the business.”
It’s pretty likely the interviewer is going to want to hear about how you’d evangelize the value of DevOps to the broader organization when necessary; they’re also ensuring that when it comes to things like selecting a new tool, you’ll be more thoughtful than “throwing some spaghetti against the wall to see if it sticks.”
Q: What does “infrastructure as code” mean, and how does that idea fit into DevOps culture?
Automation is one of the fundamental concepts of DevOps—it’s what makes the promised speed, agility, and efficiency possible. For many organizations, thinking of infrastructure as code is the key their overall automation strategy. As Eric explains:
“Infrastructure as Code is the practice of managing infrastructure with a single ‘source of truth’ such as a configuration or source code file that can be versioned and used by automated systems to create, provision, and configure infrastructure with minimal human involvement. This greatly increases the speed at which new systems can be provisioned and existing systems can be expanded, scaled, and improved. Furthermore, it allows the team developing the software to specify exactly what they need, without necessarily having to know how to provision it themselves.”
Depending on the organization and its job description, DevOps candidates may also want to bone up on infrastructure automation tools and container technology:
- The Best Tools for Cloud Infrastructure Automation
- What Is Container Orchestration?
- Docker vs. Kubernetes: It’s Not About One or the Other
Q: How would you go about diagnosing and fixing problems in production?
You should expect questions on process and practice; the interviewer will want to know how you go about solving problems in your day-to-day job. Eric advises focusing on the importance of metrics and using the proper tools to monitor the metrics that matter most to the organization, so you can act when necessary:
“Candidates should talk about which performance metrics are important to them and why. They should discuss both user-focused timing and latency metrics, such as response time and Apdex score, as well as application-wide quality metrics such as error rate and throughput. They should know how to use their tools to alert them to critical conditions on these metrics, and then describe how they can use them to drill down to find out what specifically is causing the problem.”
Related link: DevOps Without Measurement Is A Fail
Q: How would you take our company’s DevOps strategy to the next level?
If you’re going for a mid-level or senior position, the interviewing team will likely ask for your thoughts on the next phases of its DevOps transformation. This is definitely a “big-picture question,” but you’ll want to specifically connect your skills and experience to this particular position and organization. Jim suggests answering this way:
“The hiring manager wants you to think strategically and apply your previous experience to the challenges they’re facing. It would be beneficial to explain that you understand DevOps is a culture as well as an efficiency process, creating a collaborative environment across teams. Discuss any improvements you’d make to the collaboration factor of their DevOps strategy in addition to any technologies you’d recommend to the team.”
The importance of this question lies in the fact that successful DevOps teams—and the executives and managers responsible for building them—know that there’s no completion date for a DevOps journey. It’s about continuous evolution and improvement. You’ll want a thoughtful answer that offers specific ideas on what that continuous evolution and improvement might look like for the particular team or company interviewing you.
Finally, what should you ask the interviewer?
Conventional wisdom recommends that you always ask a few questions of your own in a job interview; it shows that you’re not only interested in that particular employer, but that you’re also “interviewing them.” Moreover, it shows you want to understand their particular iteration of DevOps culture, which is especially important given that there’s not really a one-size-fits-all blueprint.
When it’s your turn to ask the questions, Eric suggests the following:
Q: How quickly do you expect new hires to begin contributing and deploying code?
This might seem like a very specific question, but it’s a great way to tell if the employer is a DevOps shop in name only.
“Teams that are serious about DevOps will do their best to remove as much friction as possible from the development and deployment process,” Eric explains. “Ideally, a new hire should be able to commit and deploy source code on their very first day, whether that be a small bug fix, or simply adding their name to a humans.txt file.”
If the employer indicates it’s going to be a while, you might want to probe a bit deeper; it could be sign that they’re saying “DevOps!” but that their actual processes and culture aren’t there yet.
“Their answer to this question could be considered a holistic measure of the organization’s collective and cultural trust in their development team as well as the maturity of the team’s continuous integration and continuous delivery process,” Eric says. “In other words, you’re finding out how physically easy it is to move code to production.”
Finally, if you’re curious about what may be going through the mind of your potential new manager, check out our post, How to Manage a DevOps Team: Q&A With the Manager of New Relic Mobile Team. Hopefully, it’ll lead you to a useful question or two.