DevOps engineer continues to be one of the hottest professions in IT. Indeed listed it as number 10 on their list of best jobs of 2018 based on growth in number of postings (91 percent) and average base salary ($125,714). It should come as little surprise that finding a great DevOps engineer can be a challenging prospect.
DevOps engineers usually come from a background in system or software engineering. They bridge a number of different skill sets from technical to interpersonal. While not everyone lin the DevOps community likes the title "DevOps engineer," these professionals are the glue that holds the DevOps team together – no matter what you call them.
[ Need to explain key DevOps terms to others? Get our cheat sheet: DevOps Glossary. ]
What makes a great DevOps engineer, and how can you spot one in a sea of candidates? Ask these questions to help secure your next superstar.
DevOps engineer interview questions to ask
1. In what ways do you factor security into your DevOps process? How have you helped past teams develop greater security awareness?
Everything in DevOps starts with security. DevOps automation helps bring software to market quicker than ever before, but it can also introduce crippling vulnerabilities just as fast. With the average cost of a data breach projected to hit $150 million this year, companies can ill afford to let security to take a backseat during their automation efforts.
DevOps engineers must lead the charge in securing applications. They don’t have to be network security experts, but they do have to operate from a mindset where security is the priority. This means incorporating tools into CI/CD pipelines and helping the team focus on securing their applications from outside threats.
[ How does continuous improvement help? Read also: How to set up a CI/CD pipeline. ]
2. Can you give examples of things you always automate and others that you don’t? Can you tell me about a process that was a real challenge for you to automate?
A great DevOps engineer wants to automate everything, but they are also cognizant of processes where it just isn’t possible or automation might cause more harm than good. Continuous Integration/Continuous Delivery (CI/CD) tools like Jenkins and Azure DevOps as well as Infrastructure as Code offerings should be second nature to them. Automation tools are their bread and butter, so it's essential they have absolute comfort working with them on day one.
3. Describe your ideal working environment for your DevOps team. What have you learned working closely with operations?
One of the key tenets of DevOps is collaboration. People from a variety of departments come together to craft the best software solution possible. The DevOps engineer is tasked with breaking down the differences to help everyone work towards a common goal. This isn’t a job for a lone wolf programmer who goes into a panic attack when someone approaches their cubicle.
The DevOps engineer must be personable as they have to interface with many different team members on a daily basis. They must be comfortable wearing the operations hat and helping the development team understand operations' needs and perspective.
4. Tell me about a few scripts you’ve developed in the past that have been critical to your DevOps success.
Scripting is one of those critical skills for DevOps engineers. I’m sure you’ve heard that old saying, “Life would be so much easier if there were two of me.” Scripting is your cloning machine. Whether it's Python, Powershell, or some other flavor, scripting is a powerful tool to help you do more with less. A DevOps engineer doesn’t have to be a full fledged programmer, but they do need to know how to leverage scripting to make their job easier.
[ Read also: Top 7 open source project management tools for agile teams. ]
5. Can you tell me about a release that went really wrong? How did you work to stabilize the environment? What did you learn from the experience?
Even the best teams make mistakes. A bug gets missed during testing. A configuration gets bobbled due to poor communication. Before you know it, all hell is breaking loose. It’s not fun when you are in the middle of the storm, but how someone handles those stressful moments is a key component of the job. DevOps engineers need to be confident and decisive in their decision making when it really counts.
Every second can feel like an eternity when a system is down so there is no time for second guessing or carefully mulling over available options. You have to make the best decision based on the information at hand, and the various competing business interests tugging at you.
6. How do you judge success, in the context of yourself and the DevOps team as a whole?
DevOps is inherently about improvement. You are trying to make your build and deployment process more efficient, more secure, and more highly automated. You are never done. Your DevOps engineer should be pushing the team to constantly improve, and establish measurable goals to judge success. Without measurable goals, it’s hard to keep track of what you were striving for and to know if you actually got there.
7. Tell me about your favorite DevOps tools. What makes them great in your opinion? What are some new tools, or fresh features of your existing toolset, that you’ve uncovered recently?
Every DevOps engineer should be blessed with an undying curiosity and a thirst for learning. DevOps toolsets are constantly evolving so an engineer can’t simply rely on how they’ve always done things. They have to keep up. DevOps tends to play with a lot of cutting edge technologies.
When your team comes to you asking how serverless will fit into the existing DevOps process, you need to know enough about the cloud technology to give them direction. Looking ahead, artificial intelligence and machine learning are natural compliments to DevOps that engineers will have to embrace to decipher patterns and spot problems.
DevOps engineers are one of the most important components of the DevOps team. They help automate the software build and deployment process and continually tighten the flow to make it more efficient. They help manage the chaos of competing priorities between developers and operations.
It’s not easy finding great DevOps engineers in this exceedingly tight talent market, but these questions should help you zero in on candidates who are passionate about their craft and have fought enough battles to bring that confidence and seasoned expertise to benefit your organization.
[ How can automation free up more staff time for innovation? Get the free Ebook: Managing IT with Automation. ]