ERneSt⚡️os 6 months ago
kolomoyets #server

На словах ты Лев Толстой, а на деле не можешь развернуть Nginx в Kubernetes

Блог компании KTS Управление персоналом * DevOps * Kubernetes *

Проблема собеседований на позиции DevOps

Задача собеседования — понять, как будет справляться с задачами кандидат.

В собеседованиях по разработке всё проще: можно просто провести live coding и увидеть, как человек работает. Но в интервью по DevOps много теории, и в итоге часто неясно, есть ли у человека реальный опыт выполнения какой-то задачи или он просто вспоминает обрывки когда-то прочитанных материалов. 

Нам хотелось дать реальную задачу и увидеть действия специалиста. Но готовую задачу дать тяжело, потому что нужно поднимать инфраструктуру, на которой будет решаться задача. Если не поднимать инфраструктуру, получится просто задачка ради задачки. Не получится посмотреть и проследить, как человек справляется с решением, траблшутингом и вещами, в которых опыта нет или его мало.

В итоге в собеседованиях было много воды. Мы задавали вопросы вроде: «Ну вот что бы ты сделал, если …» Понимание о компетентности и уровне кандидата на должность мы получали лишь примерное.


Как нашли решение и как изменилось качество интервью

У нас есть своя школа разработки Metaclass KTS. Дважды в год мы проводим курсы по фронтенду и бэкенду и ещё есть несколько нерегулярных — в том числе курс для разработчиков «Деплой приложений в Kubernetes». 

Когда мы готовили курс по Kubernetes, то хотели сэкономить время преподавателей для проверки домашних заданий и дать студентам платформу, на которой можно практиковаться. Для этого мы внедрили систему песочницы — под каждого студента разворачивается индивидуальный кластер, а задания проверяются автоматически. Есть редактор кода, все необходимые утилиты и терминал.

Мы поняли, что это отлично подходит для решения проблем DevOps-собеседований, и стали давать на интервью задачи на тренажёре. В итоге качество интервью резко выросло:

  • Автоматизировалась подготовка к собеседованиям — для запуска контура для задачек нужно нажать одну кнопку
  • Мы видели реальный уровень кандидата благодаря серии последовательных задач разной сложности: с первой может справиться и стажёр, но если человек справляется с последней, то это скорее уже мидл/мидл+. Конечно, мы видим уровень в разрезе нашего видения
  • Собеседование стало наглядным:
  • Хорошо видно, сталкивался ли человек с важными для нас темами внутри Kubernetes: 
  • развертывание приложения
  • работа с компонентами Куба и понимание принципа их работы — например, Ingress Controller и его связка с облачными балансировщиками
  • Helm-чарты и их параметры — например, установка стека мониторинга так, чтобы можно было посмотреть метрики в Grafana
  • Понятны навыки траблшутинга — если в процессе интервью кандидат допускает ошибки и/или сталкивается с проблемами, по его действиям хорошо видны приемы решения проблемы, навык поиска информации, поиск и правка багов и мисконфигураций в манифестах
  • По отзывам кандидатов — повысили интерес собеседований. Мы даём обстановку, приближенную к реальности. Это не кодинг на вайтборде, а настоящий Kubernetes-кластер в настоящем облаке и возможность пользоваться любой доступной информацией: Гугл, свои наработки, дока. Суть задачи сильно похожа на работу в реальных условиях
Как проходят собеседования

Сначала мы даём одну несложную, но показательную задачу: например, в пустом развёрнутом кластере Kubernetes развернуть Nginx-приложение и получить на него публичную ссылку.

Сначала обсуждаем тонкости решения, как надо действовать. После этого кандидат приступает к выполнению задачи. Мы разрешаем гуглить и пользоваться своими наработками, подсказываем. Чтобы было проще разговаривать, просим включить стрим вкладки с VS-кодом.

Если кандидат справляется с задачей быстро, добавляем задание посложнее: например, настроить мониторинг, чтобы мы увидели дашборд с нашим развёрнутым приложением.

После такого интервью мы сразу понимаем, подходит ли нам человек.

Другие наши статьи по DevOps для начинающих:


Другие наши статьи по DevOps для продолжающих:



Python OOP

Python OOP

1706541092.jpg
ERneSt⚡️os
6 months ago

Створення схеми зала

1706541092.jpg
ERneSt⚡️os
5 months ago

конфиг фронта

хуй

1706541092.jpg
ERneSt⚡️os
3 months ago

Швидкі операції з довідником номенклатури, груповий друк ТТК

1706541092.jpg
ERneSt⚡️os
5 months ago

Замовлення у кредит

1706541092.jpg
ERneSt⚡️os
5 months ago