- 1351
Особливості співбесіди з DevOps-інженерами
Шукаєте DevOps-інженера собі в команду, але потребуєте додаткової технічної експертизи, щоб якісно провести співбесіду? Експерт поділився з Work.ua, як підготуватися до інтерв’ю та знайти найкращого спеціаліста.

У цій статті Роман Бурдюжа, СТО в компанії Gart Solutions, яка є DevOps і cloud services провайдером, поділився своїми думками та підходами щодо методик проведення співбесід з DevOps-інженерами. Адже ці спеціалісти навіть в наш буремний час мають неабиякий попит на ринку.

Для того, щоб найняти крутого DevOps-а, потрібно чітко розуміти, що це за звір та які завдання входять до його списку обов’язків. Бо останні можуть доволі сильно відрізнятися від одного проєкту до іншого. Крім того, ще існує така річ, як спеціалізація — CloudOps, TechOps, DevSecOps тощо.
Загалом DevOps-інженер значно економить час, який зазвичай витрачається на синхронізацію вимог до коду, компонентів, фреймворків та бібліотек.
Junior, Middle та Senior — як визначити рівень спеціаліста
Градації Junior, Middle та Senior серед DevOps-інженерів визначаються на засаді рівня навичок, досвіду та самостійності у виконанні завдань. Важливо враховувати, що ці рівні можуть відрізнятися від компанії до компанії.
Доволі часто буває, що на співбесіду приходить людина, яка займала позицію Middle в іншій компанії. Але впродовж розмови рекрутер може зрозуміти, що кандидат не відповідає заявленому рівню.
Наприклад, багато інженерів не розуміють основ, хоча й вправно працюють із високорівневими інструментами. І це рано чи пізно призводить до проблем.
Хороший інженер рівня Middle знає відповідь на питання «чому», а не тільки «як».
Рівні й компетенції спеціаліста:
- Junior — початківець, який має набір основних знань та навичок, але ще не може працювати повністю самостійно. Йому потрібен постійний нагляд та підтримка менеджменту.
- Middle — це інженер, який вже може працювати самостійно під невеличким наглядом. У нього є достатній досвід та знання для розв’язання типових задач. Такий інженер може взяти на себе відповідальність за окремі аспекти проєкту та забезпечувати його стабільність.
- Senior — досвідчений інженер, здатний виконувати складні завдання самостійно. Він володіє глибокими технічними знаннями, вміє розв’язувати проблеми та вдосконалювати процеси. Він може виступати у ролі лідера, надаючи підтримку менш досвідченим членам команди.
Співбесіда — що запитувати
DevOps-інженера шукають під визначені задачі: конкретну інфраструктуру, певний environment чи вже чинний тулсет. Щоб зробити правильний вибір серед шукачів потрібно чітко прописати вимоги до кандидата. Так ви значно зекономите свій час.
Я завжди запитую про:
- Networks — тут якраз «валяться» багато Junior та Middle спеціалістів, а інколи й Senior.
- Clouds — загально для Junior і в деталях для спеціалістів рівня Middle.
- Monitoring / Logging.
- Автоматизація — Infrastructure as Code, Configuration Management, Scripting тощо.
- Security — принципи, best practices, рекомендації, стандарти та інше.
- Git і робота з ним.
Інколи запитую щось по девелопменту, особливо якщо шукаємо людину в продукт і особливо, коли потрібно працювати з кодом. Загалом, я дуже люблю на інтервʼю моделювати якусь задачу та обговорювати її з кандидатом. Цікаво послухати, як людина думає та які має аргументи.
Як будувати співбесіду з Junior-спеціалістом та на що звернути увагу в розмові Самовдосконалення
Потрібно визнати, що сфера DevOps доволі розлога, і володіти глибокими знаннями чи досвідом одразу в кількох напрямках Junior DevOps-інженер не може. Існує безліч інструментів, технологій та методологій DevOps. Для ознайомлення з ними часто потрібні роки. Тому одним з найважливіших скілів для DevOps-інженера є вміння вчитися та постійно оновлювати свої знання.
Хороший кандидат повинен мати не лише технічні знання, але і комунікаційні навички, гнучкість у сприйнятті інформації та стійке бажання постійно розвиватися. Під час співбесіди слід звернути увагу на прагнення до самовдосконалення, оскільки знання можна швидко накопичити, а бажання зростати — це ключ до успіху.
Linux
Наступний ключовий крок для співбесіди з Junior-спеціалістом — перевірка знань системи Linux. Вона доволі складна само собою та вимагає глибокого розуміння основних аспектів: структури операційної та файлової систем, процесів, мережевих налаштувань та системних ресурсів. Це важливо для ефективного управління та розв’язання потенційних проблем. Недостатні знання Linux можуть призвести до серйозних помилок, що вплинуть на роботу інфраструктурного середовища.
Моніторинг
Ще один важливий пункт у співбесіді з DevOps-початківцем — це запитання моніторингу, наприклад:
- Як ви розумієте процес моніторингу в інфраструктурі?
- Що слід відстежувати, і які інструменти ви використовували для збору та аналізу метрик?
Відповіді дозволяють оцінити рівень знань кандидата з моніторингових процесів, їх значення в практиці DevOps та його досвід з різними інструментами для збору та аналізу метрик в інфраструктурі.
Networks
Варто почати з розуміння концепцій мережі та її практичного застосування в середовищі DevOps. Розпочніть із запитань про мережеві протоколи (TCP/IP, UDP та HTTP), та як вони працюють у контексті вебдодатків. Спитайте про досвід використання інструментів та методи розв’язання проблем мережі.
Важливий пункт — розуміння мережевої безпеки. Тому обов’язково варто поговорити про фаєрволи, віртуальні приватні мережі та найкращі практики забезпечення безпеки комунікації між різними компонентами розподіленої системи.
Clouds
На цю тему можна підготувати запитання про різницю між IaaS, PaaS та SaaS, які конкретні сценарії варто використовувати для кожного з цих типів хмарних послуг. Поцікавтеся про віртуальні приватні хмарні мережі (VPC) та їх складові.
Крім того, непогано було б дізнатися, чи має кандидат досвід роботи з віртуалізацією та контейнеризацією, такими інструментами, як Docker чи Kubernetes. Оцініть знання щодо інструментів автоматизації та конфігурації в хмарному середовищі, таких як Terraform або Ansible.
Як бачите, поговорити з «джуном» є про що.
Як проводити співбесіду з Middle та Senior DevOps-інженерами Інструменти та технології
Співбесіду з Middle чи Senior DevOps Engineer я часто починаю із запитання вибору технологій. Адже у світі DevOps існує безліч інструментів, які функціонально дублюють одне одного. Кожен новий інструмент — це додаткові можливості, але водночас додаткові обмеження та кошти. На цьому етапі мені надважливо почути аргументацію щодо того чи іншого рішення.
Middle чи Senior DevOps інженер має не просто знати найпопулярніші 10 інструментів, а й розуміти методику підбору тих чи інших рішень під конкретний проєкт.
Для Middle DevOps-інженера важливо також вміти обґрунтовувати свій вибір інструментів, пояснювати їхні переваги та недоліки. Якщо кандидат використовує застарілі рішення, то має пояснити причини, чому не було можливості або бажання їх змінити.
Для досвідченого DevOps-інженера важливо мати глибоке розуміння тонкощів конфігурації технологій, з якими він працював. У співбесідах з Middle та Senior DevOps часто включають запитання щодо CI/CD, Kubernetes, безпеки та конфігурації інфраструктури. Головна мета — оцінка рівня кваліфікації кандидата у використанні цих інструментів. Відсутність такого розуміння може свідчити про поверхневе опановування технології та недостатню експертизу в цій галузі.
Автоматизація
Зазвичай я запитую про автоматизацію монотонних процесів та написання скриптів мовами програмування, такими як Python або Golang. Запитання можуть стосуватися налаштування, масштабування та оптимізації баз даних.
Кейси
Можливо, найважливіший етап. Мене цікавить досвід роботи інженера, з чим він встиг попрацювати, які цікаві речі імплементувати. З кандидатами, особливо Senior, можна цікаво поговорити про досвід і винести для себе щось нове зі співбесіди. Такий спеціаліст зазвичай може успішно спланувати архітектуру проєкту з нуля та розуміє, як розгортати її у хмаровому середовищі як на власних рішеннях, так й для самостійного хостингу.
Тестові завдання
Це доволі суперечлива тема для DevOps-інженерів. Але я маю непоганий досвід. В одній компанії у нас в команді не було експертизи достатнього рівня, щоб оцінити технічні навички кандидата впродовж інтервʼю. Тоді ми давали невелике тестове завдання.
Завдяки йому можна не тільки оцінити сам результат, але й з’ясувати багато важливих моментів для роботи в команді:
- чи людина взагалі вмотивована його зробити;
- чи вона може його зробити;
- як комунікує (і чи взагалі комунікує) впродовж виконання;
- чи вкладається в терміни.
І наостанок: якщо ви шукаєте DevOps-інженера собі в команду, але не маєте технічної експертизи, щоб якісно провести інтерв’ю, таку послугу надає багато компаній. Наймайте найкращих!
Щоб залишити коментар, потрібно увійти.