Tips on Hiring and Interviewing for DevOps Roles
The DevOps field has become increasingly competitive as dev leaders hone in on the specific skill sets they need to round out their teams. If you’re hiring for a DevOps position, it’s important to determine whether an applicant understands software development principles and methods and is the right fit for your organization.
Let’s take a look at the current demand and examples of questions you should ask (or be expected to answer) in an interview.
Demand for DevOps Skills
As more companies and infrastructures switch to cloud computing, the demand increases for professionals with cloud-related skills. Peter Danchak, system administrator for Data Recognition Corp, says the rapid growth of the cloud environment continually opens new opportunities for businesses and workers. IT engineers, software engineers, and cloud architects are among those who stand to benefit most.
Among the top skills for DevOps pros are:
- Skills for using configuration management tools, for example, Puppet, Chef, and Ansible.
- Skills with containerization and virtualization tools like OpenStack and AWS.
- Programming skills in languages like Ruby, Python, Java, and Perl.
Sample DevOps Interview Questions
Below are several examples of different DevOps interview questions, grouped by topic.
Questions on the Understanding of DevOps
What’s your understanding of DevOps?
This query looks for the candidate’s understanding of the overall concept. It can include a discussion of DevOps as a mix of software development and IT operations functions. A correct answer here would highlight communication and collaboration between developers and IT operations.
What’s the need for DevOps?
This question aims to uncover whether the interviewee knows the features and benefits of DevOps. Angles here include technical and cultural aspects, how it relates to the business at large, and its role in transaction processing. The candidate should be able to discuss the ways it can help a business, such as by increasing deployment frequency and providing continual software development delivery.
Interview Questions Surrounding Agile Development
How are DevOps and Agile Methodology related?
Does the candidate know DevOps and Agile teams must work together to reach common goals? The applicant should know the relevance, similarity, and differences between DevOps and Agile Methodology. The job applicant should also be able to explain how a business can continue to meet customer needs while adapting to fast-changing technology.
What’s the role of a DevOps engineer in Agile development?
This uncovers whether the candidate knows his or her key functions. These include continuous delivery, integration, and automated testing. The job seeker should be able to demonstrate a knowledge of the importance of clear communication and close working ties with Agile development team members. Candidates applying for the position of DevOps engineer should also know the importance of close contact with developers.
Interview Questions Relating to Software Deployment
What’s your experience with software deployment?
This question gets at whether the candidate can freely and comfortably discuss code deployment. It also helps to assess if he or she has experience with integration tools and DevOps tools.
How have you managed software deployment failures?
Failures in software deployment are often inevitable. This question asks how the candidate typically identifies the source of a failure and how he or she reacts to real world breakdowns, particularly with respect to troubleshooting skills.
How do you know if something fails in production?
The biggest reason for this question is to learn the candidate’s approach to monitoring. Since monitoring is essential in DevOps work, planning it and implementing it are crucial.
How can Configuration Management tools help with DevOps?
This question tests the applicant’s experience with different Configuration Management (CM) tools. The candidate should understand the functions, advantages, and disadvantages of CM tools, as well as which ones stand out from the rest.
Asking the Right Questions
Asking the right questions is beneficial for obvious reasons, particularly when it comes to highly skilled roles in the field. It can also help you figure out exactly where a candidate might fit in the mix and complement the skills of your existing team. One candidate may be more proficient with the ops side, while another may have a more balanced set of skills – and the best candidate depends on your team’s needs. Asking the right questions enables you to:
- Compare different candidates in the context of skills gaps within your existing team.
- Gain an understanding of the strength of a given candidate.
- Learn a candidate’s facility with key skills.
- Determine whether an applicant has a deep understanding of the big picture of software development as it connects to ongoing operations.
- Understand the ability of a potential employee to improve and ensure collaboration across teams in the DevOps environment.
Hiring for DevOps Roles
Key best practices for hiring go beyond the interview itself and into the company culture. The short list below offers some insights.
- Trust the employee. According to VentureBeat, a former Netflix exec was frequently asked where Netflix got such great employees. His response? “We hired the same people you hired. We just got out of their way.” This is identical to the response of Toyota execs after GM hired away all their top people, then continued to underperform. Hiring the best and brightest experts on the market won’t work if they’re not brought into a company culture that respects their initiative.
- Ignore the “talent shortage.” According to the same article, the greatly bemoaned talent shortage doesn’t exist. Rather than agonizing over how to hire the very best employees, companies should strive to allow the employees they do hire to implement the strategies they know will work best.
- Focus on the big picture. Rather than sweating whether a developer knows exactly which port Kerberos uses or how to configure a GRE Tunnel in Junos, use the interview questions above to get at whether this is the right person for the job. Does he or she have the initiative, competence, and confidence to take on and complete major tasks? In many senses, a great DevOps employee isn’t very different from a great leader in any other discipline. Details can be learned and adopted, while the key quality is the drive and ability to follow through on necessary tasks.
Additional Resources: Hiring and Interviewing Advice
For more sample questions and answers, tips on hiring and interviewing for development roles in today’s competitive landscape, visit the following resources: