It is not a secret that DevOps engineers are quite demanded nowadays. Such specialists can significantly change internal processes in the company and you’ll get incredible results for the business. DevOps transformation is a process of redesigning the software development lifecycle in a more efficient way. When you decide to implement DevOps culture in your company, there is a question – “How do I find a qualified specialist?”. The small edition: we said “culture” because DevOps is not only a powerful toolset, it is also a great work with teams and collaboration between them. So, let’s say, you decided to implement DevOps and are looking for the specialist. You have two ways in this situation – outsourcing and in-house hiring. In both ways, you need to know how to choose a specialist.
If you want to outsource your DevOps tasks, Managed Service Provider (MSP) can deploy one specialist or a whole DevOps team for your needs and you can ask a few additional questions to select the best fit for your project requirements.
In-house hiring is more difficult because you need to test DevOps engineer skills yourself. It will be great if you already have an in-house DevOps engineer who can provide the interview. If not, don’t be upset, our article will help you to make an interview and choose the right candidate.
How to choose an appropriate candidate?
At first, you should decide what kind of specialist you need. There are a few roles in the DevOps team and you can just hire one specialist who will make whole DevOps transformation. DevOps engineer can be a Team Lead, Security engineer, Cloud architect, Site reliability engineer and others. So, when you decide who you need, you can ask more detailed questions. In general, a DevOps engineer needs to have at least 1-2 years of experience as a Linux system administrator because he couldn’t automate the processes without previous manual experience in this field.
Besides, DevOps engineer needs to be acquainted with the following technologies and have the following hard skills:
- good understanding of Infrastructure as Code, RBAC, IAM concepts;
- software Networking skills such as building custom Linux-based routers, firewalls, NAT Gateways;
- bash and Python scripting skills;
- experience dockerizing PHP, Python, Ruby, Java, etc. applications;
- ability to design and deploy product environment using Kubernetes and managing Kubernetes clusters with Helm;
- experience using configuration management tools such as Ansible, Chef, Terraform;
- knowledge and experience with different cloud providers like CGP, AWS, DO and others;
- ability to create and integrate CI/CD solutions using Jenkins, CircleCI, TravisCI, GitlabCI;
- knowledge and understanding of monitoring and logging tools like Sumologic, Logstash, Kibana, Prometheus, New Relic, Grafana and others.
These are common hard skills every DevOps engineer needs to have. There are also important soft skills. Your future employee needs to have strong attention to detail and a constant desire to develop. DevOps area is continuously growing, so even an experienced DevOps engineer needs learn to constantly.
Communication skills are also essential, because in the DevOps culture team collaboration and cohesiveness are very important ingredients of success. So, these skills are necessary, especially if you’re looking for DevOps Team Lead. In this case, the person needs to have leadership skills as well.
You might also take a laptop to the interview and give some small test tasks for a candidate. You will see how the person thinks, what tools he uses and how hard the task is for him. Even if the specialist hasn’t the necessary experience, you might see how he tries to solve this issue, how he searches for information and other important details.
Wrap up: choosing the DevOps engineer is quite a hard task
The more skilled a talent you need, the harder a search will be. Hiring an MSP company is still the most cost-efficient way to receive experienced DevOps engineers but if you really need a person in-house, you can use our small list of necessary skills to provide a good interview.
You might change some questions and requirements considering the kind of specialist you need. It would be better if the interview would take two or three parts. HR manager makes the first part and tests the soft skills, DevOps engineer makes the second part and tests the hard skills and CEO makes the final third part for conclusive decision. If you can’t do it in such a way, you can test technical skills by yourself and offer to perform a test task.
Summarizing, the interview is an important step but it is not the last. You’ll need to spend a lot of time on onboarding and adaptation. That’s why the outsourcing team might be better because they already know how to work together. Anyway, choose wisely and your DevOps transformation will be great.