Привет! Меня зовут Леонид, я руководитель DevOps-юнита в KTS.
Как понять на собеседовании, что человек действительно умеет что-то делать руками, а не просто красиво говорит?
В статье расскажу, как мы сделали аналог онлайн-код-интервью для DevOps-инженеров, чтобы точно увидеть уровень навыков и заинтересовать инженеров интересными задачами.
Проблема собеседований на позиции DevOps
Задача собеседования — понять, как будет справляться с задачами кандидат.
В собеседованиях по разработке всё проще: можно просто провести live coding и увидеть, как человек работает. Но в интервью по DevOps много теории, и в итоге часто неясно, есть ли у человека реальный опыт выполнения какой-то задачи или он просто вспоминает обрывки когда-то прочитанных материалов.
Нам хотелось дать реальную задачу и увидеть действия специалиста. Но готовую задачу дать тяжело, потому что нужно поднимать инфраструктуру, на которой будет решаться задача. Если не поднимать инфраструктуру, получится просто задачка ради задачки. Не получится посмотреть и проследить, как человек справляется с решением, траблшутингом и вещами, в которых опыта нет или его мало.
В итоге в собеседованиях было много воды. Мы задавали вопросы вроде: «Ну вот что бы ты сделал, если …» Понимание о компетентности и уровне кандидата на должность мы получали лишь примерное.
Как нашли решение и как изменилось качество интервью
У нас есть своя школа разработки Metaclass KTS. Дважды в год мы проводим курсы по фронтенду и бэкенду и ещё есть несколько нерегулярных — в том числе курс для разработчиков «Деплой приложений в Kubernetes».
Когда мы готовили курс по Kubernetes, то хотели сэкономить время преподавателей для проверки домашних заданий и дать студентам платформу, на которой можно практиковаться. Для этого мы внедрили систему песочницы — под каждого студента разворачивается индивидуальный кластер, а задания проверяются автоматически. Есть редактор кода, все необходимые утилиты и терминал.
Так на платформе выглядит решение задач по разработке:
Мы поняли, что это отлично подходит для решения проблем DevOps-собеседований, и стали давать на интервью задачи на тренажёре. В итоге качество интервью резко выросло:
Автоматизировалась подготовка к собеседованиям — для запуска контура для задачек нужно нажать одну кнопку
Мы видели реальный уровень кандидата благодаря серии последовательных задач разной сложности: с первой может справиться и стажёр, но если человек справляется с последней, то это скорее уже мидл/мидл+. Конечно, мы видим уровень в разрезе нашего видения
Собеседование стало наглядным:
Хорошо видно, сталкивался ли человек с важными для нас темами внутри Kubernetes:
развертывание приложения
работа с компонентами Куба и понимание принципа их работы — например, Ingress Controller и его связка с облачными балансировщиками
Helm-чарты и их параметры — например, установка стека мониторинга так, чтобы можно было посмотреть метрики в Grafana
Понятны навыки траблшутинга — если в процессе интервью кандидат допускает ошибки и/или сталкивается с проблемами, по его действиям хорошо видны приемы решения проблемы, навык поиска информации, поиск и правка багов и мисконфигураций в манифестах
По отзывам кандидатов — повысили интерес собеседований. Мы даём обстановку, приближенную к реальности. Это не кодинг на вайтборде, а настоящий Kubernetes-кластер в настоящем облаке и возможность пользоваться любой доступной информацией: Гугл, свои наработки, дока. Суть задачи сильно похожа на работу в реальных условиях
Как проходят собеседования
Сначала мы даём одну несложную, но показательную задачу: например, в пустом развёрнутом кластере Kubernetes развернуть Nginx-приложение и получить на него публичную ссылку.
Вот как это выглядит:
Сначала обсуждаем тонкости решения, как надо действовать. После этого кандидат приступает к выполнению задачи. Мы разрешаем гуглить и пользоваться своими наработками, подсказываем. Чтобы было проще разговаривать, просим включить стрим вкладки с VS-кодом.
Если кандидат справляется с задачей быстро, добавляем задание посложнее: например, настроить мониторинг, чтобы мы увидели дашборд с нашим развёрнутым приложением.
После такого интервью мы сразу понимаем, подходит ли нам человек.
Приходите попробовать
Если вы в описании наших вакансий вы узнаёте себя, приходите попробовать свои силы на собеседовании.
Если чувствуете, что знаний не хватает, записывайтесь на курс, где мы рассматриваем самые важные концепции, необходимые для взаимодействия с кластерами Kubernetes, и учим применять эти знания на практике.
А если вы тоже нанимаете DevOps-инжеренов и хотите такую же систему для собеседований, напишите нашему управляющему партнёру Александру.
Другие наши статьи по DevOps для начинающих:
Другие наши статьи по DevOps для продолжающих: