In words, you are Leo Tolstoy, but in reality you cannot deploy Nginx in Kubernetes

In words, you are Leo Tolstoy, but in reality you cannot deploy Nginx in Kubernetes

Greeting! My name is Leonid, I am the manager of the DevOps unit at KTS.

How to understand at an interview that a person really knows how to do something with his hands, and not just a nice talker?

In the article, I will tell you how we made an analogue of an online code interview for DevOps engineers in order to accurately see the level of skills and interest engineers in interesting tasks.

The challenge of interviewing for DevOps positions

The task of the interview is to understand how the candidate will cope with the tasks.

In development interviews everything is simpler: you can simply conduct live coding and see how a person works. But there is a lot of theory in a DevOps interview, and as a result, it is often unclear whether the person has real experience in performing a task or is simply recalling excerpts from materials they once read.

We wanted to give a real task and see the actions of a specialist. But it is difficult to give a ready-made task, because it is necessary to raise the infrastructure on which the task will be solved. If the infrastructure is not raised, it will be just a task for a task. It will not be possible to see and trace how a person copes with the solution, troubleshooting and things in which there is no or little experience.

As a result of the interview, there was a lot of water. We asked questions like: “Well, what would you do if…” We received only an exemplary understanding of the competence and level of the candidate for the position.

How the solution was found and how the quality of the interview changed

We have our own Metaclass KTS development school. Twice a year, we hold frontend and backend courses and there are several more irregular ones, including the course for developers “Deploy applications in Kubernetes”.

When we designed the Kubernetes course, we wanted to save time for teachers to check homework and give students a platform to practice on. To do this, we implemented a sandbox system – an individual cluster is deployed for each student, and tasks are checked automatically. There is a code editor, all the necessary utilities and a terminal.

This is how the solution of development tasks looks like on the platform:

We realized that this was great for solving DevOps interview problems and started giving simulator tasks to interviews. As a result, the quality of interviews increased dramatically:

  • Automated interview preparation – click one button to launch the task outline

  • We saw the real level of the candidate thanks to a series of successive tasks of varying difficulty: the first one can be handled by a trainee, but if a person can handle the last one, then it is more likely already midl/midl+. Of course, we see the level in the section of our vision

  • The interview became visual:

    • It is easy to see if a person has come across topics that are important to us within Kubernetes:

      • program deployment

      • working with Kuba components and understanding the principle of their operation – for example, Ingress Controller and its connection with cloud balancers

      • Helm charts and their options – for example, setting up the monitoring stack so that metrics can be viewed in Grafana

    • Understandable troubleshooting skills — if the candidate makes mistakes and/or encounters problems during the interview process, his actions clearly show problem solving techniques, information search skills, finding and editing bugs and misconfigurations in manifests.

  • According to the feedback of the candidates, the interest of the interviews increased. We provide an environment close to reality. This is not coding on a whiteboard, but a real Kubernetes cluster in this cloud and the ability to use any available information: Google, your own work, the dock. The essence of the task is similar to work in real conditions

How do interviews take place?

First, we give one simple but demonstrative task: for example, in an empty deployed Kubernetes cluster, deploy an Nginx application and get a public link to it.

Here’s what it looks like:

First, we discuss the intricacies of the decision, how to act. After that, the candidate starts the task. We allow you to Google and use your findings, we give you tips. To make it easier to talk, please enable tab streaming with VS code.

If the candidate copes with the task quickly, we add a more difficult task: for example, to set up monitoring so that we can see a dashboard with our deployed application.

After such an interview, we immediately understand whether a person is suitable for us.

Come try it

If you recognize yourself in the description of our vacancies, come and try your hand at an interview.

If you feel that knowledge is lacking, sign up for a course where we review the most important concepts needed to interact with Kubernetes clusters and learn how to apply this knowledge in practice.

And if you are also hiring DevOps engineers and want the same system for interviews, write to our managing partner Oleksandr.


Our other articles on DevOps for beginners:

Our other DevOps articles for those who want to continue:

Related posts