Now that DevOps is proliferating in the enterprise (many companies including Disney, Nike and Walmart, for example, are all on the adoption train) the term is starting to creep up more and more in job titles. This is challenging organizations to consider the significance of DevOps Engineer as a role and the value of having someone with “DevOps” in their title on their team. There are steps you can take to ensure that DevOps candidates are the right fit for your company.
When you are looking for someone with “DevOps Engineer” as their title, you are seeking someone who not only has the skills you need to complete technical work but also embodies the DevOps values and mindset. Part of the interview process needs to get at the DevOps culture you are seeking to create. You should ensure that you ask questions such as:
- What’s the most important business outcome for a DevOps team to deliver?
- Have you been able to achieve continuous delivery on the projects that you’ve worked on? What were the keys to ensuring that you could deliver that value to the business?
- What’s the most important character trait for DevOps engineers to have to make sure that the team is successful?
- How do you ensure that the DevOps team communicates effectively across team boundaries?
- What’s the most important operational requirements to ensure that you understand early in the process?
The goal of these and other questions is to dig into a candidate’s ability to work across teams, communicate effectively and understand of the full spectrum of DevOps capabilities. Communication skills are core to what we do as a consulting and digital software engineering services firm, so we may have an easier time and more background assessing the communication skills of engineers. But, we’ve seen clients also be successful by combining their typical technical interview process with some additional behavior-based communication questions.
It is also important to understand that being a true DevOps Engineer entails technical capabilities and there are specific tools that need to be mastered if someone claims to be an experienced DevOps Engineer. So, in addition to soft skills and values, it’s important to understand the technology and deployment environment specifics to effectively assess a candidate for such a position. There are big differences in technologies depending on what development technology (Java, Node.js, C#, React, or some combination of all those things) and what deployment environment (Azure, AWS, Google Cloud, etc.) you are working with. These differences are critical and must be understood. You should look for candidates who have experience with the tools your organization uses.
It also can be helpful to look for someone who has skills that matches your clients’ needs or the needs of a particular project. In some cases, you may be looking for a pure AWS DevOps Engineer who will work completely in the cloud deploying Node.js applications. In other cases, you may be looking for an engineer who might be skilled with Microsoft technologies for a hybrid deployment (on some cloud, some on-prem) of a .Net core application.
While progress is being made to try and abstract the platform differences, those technologies still require DevOps engineers have a good understanding of the underlying tools and infrastructure that will support the software.
Bottom line: Candidates who seek DevOps positions and self-identify as DevOps Engineers are good candidates for the general set of skills you are looking for, but be sure you have solid technical evaluation in place to ensure that your hard skill requirements are also met.