Технический найм

Как оценить навыки DevOps инженеров: методология и рубрика

ClarityHire Team(Editorial)5 min read

Ошибка в оценке DevOps

Большинство команд оценивают кандидатов DevOps так же, как инженеров ПО: упражнения по кодированию. Но DevOps — это не в первую очередь кодирование. Это системное мышление, суждение о компромиссах и операционная устойчивость.

Кандидат может написать красивый Terraform и катастрофически провалиться, когда БД звонит в полночь. И наоборот, кандидат с пятнистым кодом может архитектировать систему, которая переживает полный отказ зоны без ручного вмешательства.

Вам нужен другой фреймворк.

Какие навыки DevOps действительно предсказывают производительность

1. Системное мышление и рассуждение о режимах отказа

Могут ли они назвать режимы отказа? Могут ли они проектировать для них упреждающе?

Что оценивать: Дайте им простую архитектуру (веб-приложение, говорящее с RDS) и спросите: "Что здесь ломается? Какой радиус взрыва? Как вы смягчаете?" Не просите их разработать Netflix. Попросите укрепить базовую установку.

Хороший ответ: "RDS — единая точка отказа. Я добавил бы read replicas для failover и connection pool для предотвращения истощения соединений. Само приложение должно быть stateless и loadbalanced. Я добавил бы circuit breaker для БД."

Слабый ответ: "Используй Kubernetes."

2. Операционный прагматизм

Выбирают ли они самое простое решение, которое действительно работает? Или тянутся к самому причудливому инструменту?

Что оценивать: "Вам нужно запустить ежедневное задание резервной копии. У вас два варианта: Kubernetes CronJob или Lambda. Ваша команда не запускает Kubernetes. Обсудите компромиссы."

Хороший ответ: "Lambda проще эксплуатировать, если вы уже не запускаете Kubernetes. Меньше движущихся частей, проще отлаживать, CloudWatch встроен. Компромисс — 15-минутный timeout и latency холодного старта, что не имеет значения для резервной копии. Я бы использовал Lambda."

Слабый ответ: "Всегда используй Kubernetes, потому что это портативнее."

3. Наблюдаемость и отладка

Могут ли они спроектировать мониторинг? Могут ли они отследить проблему от alert до причины?

Что оценивать: Живые интервью по кодированию здесь не применяются. Вместо этого дайте им production alert: "CPU на 80% на вашем Postgres инстансе. Выглядит случайно. Диагностика?" Попросите их рассказать: какие инструменты запроса они использовали бы, что бы они проверили, в каком порядке?

Хороший ответ: "Сначала я проверил бы pg_stat_statements для самых медленных запросов, потом проверил бы, коррелирует ли это с конкретным application эндпоинтом, потом посмотрел бы на статистику индексов, чтобы увидеть, недостаёт ли индекса или он раздут."

4. Суждение об автоматизации

Когда что-то должно быть автоматизировано против ручного?

Что оценивать: "Вы деплоите 20 раз в день, но миграции БД происходят только раз в неделю. Должны ли вы автоматизировать миграции так же, как деплои?"

Хороший ответ: "Нет. Автоматизация снижает когнитивную нагрузку, когда операция частая и низкорисковая. Миграции редкие и высокорисковые — вы хотите, чтобы человек проверил и одобрил перед запуском, и вы хотите dry-run сначала."

Слабый ответ: "Автоматизируй всё."

5. Компромиссы облачной архитектуры

AWS против Azure против GCP — это не про features, а про операции и стоимость.

Что оценивать: Представьте сценарий и спросите для разбора cost-benefit. "Вы строите microservices платформу. Должны ли вы использовать managed Kubernetes (EKS/AKS/GKE) или самоуправляемый?"

В идеале они скажут: "Managed лучше для маленьких-средних команд. Он обрабатывает control plane, обновления и networking за вас. Компромисс — меньше контроля и немного выше стоимость. Самоуправляемый лучше, если у вас есть выделённая команда и специфичные требования к networking."

Структура оценки

Часть 1: Take-home сценарий (2 часа)

Предоставьте диаграмму архитектуры или кодовую базу Terraform с намеренными gaps или проблемами безопасности. Спросите:

  • Выявите проблемы
  • Предложите исправления с анализом компромиссов
  • Набросайте стратегию мониторинга для этой системы

Это асинхронно-дружественно и тестирует знание в масштабе.

Часть 2: Live troubleshooting (45 минут)

Сценарий: Production latency spike. Пройдитесь по тому, как бы вы её отлаживали.

Кандидат говорит; вы слушаете. Вы тестируете:

  • Систематичный подход (не угадывание)
  • Знание инструментов наблюдаемости
  • Приоритизация (где смотреть сначала)
  • Коммуникация (могут ли они объяснить свои мысли)

Часть 3: Разговор об архитектуре (30 минут)

Представьте ограничение или требование. "Нам нужно мигрировать 50TB данных в новую БД с нулевым downtime. Какой ваш подход?"

Это тестирует суждение и прагматизм. Нет правильного ответа — вы слушаете рассуждение о радиусе взрыва, планах rollback и операционной сложности.

Рубрика: Фреймворк скоринга

НавыкУровень 1 (Ниже)Уровень 2 (Соответствует)Уровень 3 (Превосходит)
Рассуждение о режимах отказаНазывает только очевидные проблемыДумает 2–3 слоя глубоко (первичный отказ и каскадные)Предвидит edge cases и радиус взрыва
Суждение об автоматизацииАвтоматизирует без разбораВыбирает правильный инструмент для частоты/рискаПроектирует автоматизацию с явным rollback и gate'ами безопасности
НаблюдаемостьЗнает базовые метрики; думает логи для отладкиИнструментирует и мониторинг и отладку; понимает cardinalityПроектирует наблюдаемость для on-call опыта; коррелирует сигналы
Осведомленность о стоимостиИгнорирует стоимость; предпочитает "более мощное"Уравновешивает производительность с стоимостью в пределах лимитовПредлагает оптимизации стоимости без ущерба надёжности
Дизайн системыЕдиная точка отказа; без плана резервной копииДобавляет redundancy где нужно; понимает RPO/RTOПроектирует multi-region или multi-cloud с ясным failover

Чего избегать

Не:

  • Просите DevOps кандидатов решать проблемы LeetCode. (Они получат высокий балл, но это не предсказывает производительность на работе.)
  • Относитесь к DevOps как к "software engineering lite". (Это другой набор навыков.)
  • Фокусируйтесь на ширине инструментов. (Знание Kubernetes не предсказывает, могут ли они эксплуатировать что-либо ещё.)
  • Игнорируйте живые интервью. (Обсуждение проблемы выявляет их рассуждение.)

Делайте:

  • Представьте реалистичные ограничения. (Бюджет лимиты, время в market, размер команды.)
  • Тестируйте суждение, не факты. (Могут ли они объяснить, почему Terraform вместо CloudFormation?)
  • Записывайте их объяснения. (Асинхронные troubleshooting упражнения не выявляют рассуждение; живые выявляют.)

Найм DevOps в масштабе

Если вы нанимаете 5+ инженеров DevOps, используйте структурированный процесс оценки с этой рубрикой. Создайте шаблон сценариев один раз, переиспользуйте, и сравнивайте результаты по кандидатам. Консистентность улучшает сигнал. Или пропустите настройку полностью: готовый шаблон DevOps-оценки от ClarityHire включает сценарии K8s, Terraform и CI/CD, а также взвешенную рубрику оценивания.

Для более глубоких оценок, специфичных по навыкам, исследуйте AWS vs Azure vs GCP фреймворки тестирования для выявления gap'ов, специфичных облаку.

devopssreоценка навыковрубрика найма

Похожие статьи