10 questions every DevOps candidate should answer
Strong DevOps teams require individuals with very special skills. The DevOps professionals you recruit must be able to balance coding chops with continuous integration/continuous deployment (CI/CD) competence, for example. If they’re heading up DevOps, they should also have a track record of being an active liaison with the business.
Many companies trying out the model have had negative experiences. They have failed to realize hoped-for advantages such as more frequent code delivery and greater application stability. Without the right people in place—those who understand DevOps as a cultural shift—to both serve in leadership roles and work on applications and services being delivered, things can easily go wrong, says the digital/cloud strategist Jeanne Morain.
Smart businesses are determined to avoid that scenario. “Like executive roles, these positions are expensive to fix if you make a mistake,” says Greg Scharer, COO at Perrone Robotics, which develops software for self-driving vehicles and general-purpose robotics and is actively looking to fill a senior DevOps management role. “So we over-invest in talking to candidates.”
That’s good advice for anyone involved in the DevOps hiring process. If that describes you, here are 10 questions you should ask to make sure your investment pays off.
Who would you include in efforts to create processes and policies for delivering applications in a DevOps environment?
This question gets to the heart of whether your candidate understands DevOps as a cultural shift—one that requires development and operations experts working together from the start on implementation strategy, and that acknowledges the need to actively include business counterparts in the dialogue, Morain says.
“If they can’t answer, or if they don’t include the business, that’s bad,” she says. The same is true if they don’t talk about engaging not just with executives on the business side, but also with end users. “How do you develop processes for users if you don’t know how it will impact them?” she says.
What has been your approach to resolving conflicts among team members?
Good communications skills and being able to calmly and effectively intermediate disputes matters, Scharer says, given that “sometimes DevOps can be a tinderbox for conflict.” It’s not uncommon for sparks to ignite when, for instance, something goes awry upon an integration build of multiple developers’ code compilations. No one wants to think their documentation or check-in timing error was responsible for a problem.
“Developers can wind up in fights among themselves and it’s very important for the DevOps manager to bring people together, asking them for help in ways that make them believe they are respected and valued,” Scharer says. Ideally, your candidate can offer a thoughtful and logical answer of how to sort through intra-team conflicts and proactively keep similar issues from arising in the future. “If they can articulate how they overcame a challenging conflict like that, that is useful feedback for me,” he says.
What to ask about past experience
Why did your previous/current company embrace DevOps and how did you support that?
The interpretation and methodology of DevOps in each company is different. So, it's important to know what candidates have been mandated to accomplish – whether it be database optimization, driving migrations to different tools/infrastructure, or fostering CI/CD pipelines – and what impact that work had on the engineering team’s overall strategy and objectives, says Danny An, technical recruiter for Influitive. The discussion should help you gain insight into things like how involved they were in testing, or what tools they have used.
“Since [DevOps] is so broad, learning more about where candidates are coming from and how that experience aligns with what you are doing or hoping to do can mitigate the risk of a false-positive hire,” he says.
How did the last system that you worked on as a DevOps engineer change from the time you started to the time you left, and who drove those changes?
Candidates’ answers should display an unquenchable desire to keep looking for improvements, and the willpower to make sure those improvements happen. “A great candidate will have transformed their systems for the better, by their own initiative,” says Brian Kelly, vice president of engineering at the DevSecOps company Conjur. Bonus points if they tell you they rallied others to their cause rather than just acted as a lone hero.
Candidates’ technical knowledge is important, of course, but that innate personal drive to improve the efficiency and velocity of systems is vital, says Kelly, who’s hired for DevOps roles at three different companies over the last five years.
Give me an example of a CI/CD failure you’ve experienced, and what you learned from it.
“Everyone who has learned the DevOps process will have hit a level of failure at some point,” says Morain, so you want to hear how those failures helped the candidate become a better candidate to work for your business.
One DevOps pro recalled to Morain how his team had not created a process to automate finding, fixing and immediately addressing issues that arose during a parallel implementation process as part of rolling out CI/CD. “It took days and they had to parachute someone in to rip everything out,” she says.
That hurts. But he walked away from the experience realizing the importance of testing a pilot production environment first, which is where a strong partnership with operations helps. People who can admit to such mistakes and explain how they are the wiser because of them are assets in waiting.
Questions that probe technical knowledge
Describe your cloud expertise.
As the world moves to the cloud, many companies want DevOps engineers who have experience with cloud-based technologies, says Joseph Kotlinski, partner and manager at talent acquisition firm WinterWyman's Information Technology Search practice. Some of these include the highly popular Amazon Web Server (AWS) and RackSpace, OpenStack, Google Elastic Cloud and Microsoft Azure, he says.
“It is important to understand not only the cloud technologies a candidate has worked with but also the depth of the candidate’s experience,” Kotlinski says. “A few years ago, all DevOps engineers had to say was they had worked with AWS. These days, if someone claims to have experience with AWS, you should probe further, and ask have they worked with EC2, S3, EBS, Glacier, Snowball, RedShift, Route53, etcetera.”
Good candidates also will be happy to tell you how many cloud instances they’re currently working with; if they’ve ever designed, implemented and/or led a migration to the cloud or scaled an environment from small to large; and how much of their time is spent working in the cloud in mixed environments.
What issues or deficiencies are “must fix ASAP”?
In DevOps, there’s always a balance to maintain between striving for technical perfection and meeting business goals. But candidates should demonstrate an understanding that there are some places where compromise isn’t appropriate if they are to maintain high personal standards of work quality, says Kelly.
“Great DevOps people will have a few things that they consider too sacred to break. For example, unreliable CI/CD systems, failing tests, or very slow release pipelines should always be getting fixed, rather than left to fester and worsen,” he says.
What are critical DevOps tool-chain integration points in relation to increased software release velocity?
Chris Ciborowski, CEO and principal consultant at enterprise DevOps consulting firm Nebulaworks, says that an integrated toolchain is the key to flow in the DevOps process. Candidates should be able to talk about the tools (version control, configuration management, continuous integration and so on) they like to put in place, why, and in what context.
A strong candidate who understands the need to deploy applications automatically to multiple environments (public cloud and on-premise) could say, for example, that he believes a key tool-chain integration point is to have automated code deployment using Jenkins, Ciborowski says. To be infrastructure-agnostic and provide a consistent mechanism to deploy applications in a familiar and easily documented fashion to upstream team members, the candidate may also talk about taking advantage of Jenkins plug-ins.
You can’t help but appreciate that approach, “which removes the need for a developer or release manager to understand the operational details of the downstream deployment endpoint, and could provide multiple deployment options without slowing releases into various infrastructure types,” Ciborowski says.
How would you get a web app from a developer’s laptop into production from zero?
Adam Serediuk, director of operations at intelligent communications platform vendor xMatters, uses this as an open-ended question that leaves candidates plenty of room to show whether they’re more focused on a particular skill-set or in possession of a broad range of DevOps skills.
“I want to find out about their knowledge of the whole stack.” he says. “I want them to look at building the app, version control, deployment, making sure the dev environment is a mirror of production, monitoring, and metrics like response time.” It’s a red flag if they make assumptions, if they don’t know continuous delivery, or if they don’t produce repeatable artifacts, he says.
You must design a system to onboard Shadow IT cloud applications quickly to your hybrid cloud infrastructure to reduce security and compliance risks. How do you do it?
It’s good news if your DevOps candidate talks up the idea of quickly pulling in others to form an incubator team that includes business, audit, and security to determine what the compliance and security risks are for applications to be on-boarded, says Morain.
It's equally good news if the candidate discusses how, based on compliance risk posture, the group would categorize the applications with the most significant profiles to prioritize resources and onboarding activities, she says, and also provide guidance or different solutions on how they would automate some of the legacy processes around change, incident, and problem management.
Another indication that interviewees are worth serious consideration is if they bring up implementing new solutions such as self-healing and automatic updates to IT service management systems, to avoid issues down the line with supporting them.
Those are some of the must-ask questions these experts say you should pose to potential DevOps team hires. But perhaps you have others, based on your own experience, that we've missed? If so, add your questions in the comment section below.
Image credit: Flickr