Універсальний солдат чи вузький фахівець? Що повинен знати та вміти DevOps-інженер

Універсальний солдат чи вузький фахівець? Що повинен знати та вміти DevOps-інженер
Технології та інструменти, які потрібно освоїти DevOps-інженеру.

DevOps - висхідний тренд в IT, популярність та затребуваність спеціальності поступово зростає. У GeekBrains нещодавно відкрився факультет DevOps, на якому готують спеціалістів відповідного профілю До речі, професію девопса часто плутають із суміжними — програмуванням, системним адмініструванням тощо.

Для того, щоб прояснити, що взагалі таке DevOps і для чого потрібні представники цієї професії, ми поговорили з Миколою Бутенком, архітектором Mail.ru Cloud Solutions. Він брав участь у розробці програми курсу факультету DevOps та одночасно викладає студентам третьої чверті.

Що взагалі має знати та вміти хороший DevOps?

Тут краще одразу сказати, чого він не повинен уміти. Існує міф, що представник цієї професії — людина-оркестр, яка може написати відмінний код, потім протестувати його, а у вільний час іде та лагодить принтери колегам. Можливо, ще допомагає на складі та підміняє бариста.

Щоб знати, що має вміти DevOps-специалист, повернемося до визначення самого поняття. DevOps - це оптимізація часу від розробки товару до випуску товару на ринок. Відповідно, фахівець оптимізує процес між розробкою та експлуатацією, розмовляє їхньою мовою та будує грамотний пайплайн.

Що потрібно знати та вміти? Ось те, що є важливим:

  • Потрібні хороші soft skills, оскільки потрібно одночасно взаємодіяти з кількома відділами всередині однієї компанії.
  • Аналітичне структурне мислення, щоб дивитися на процеси згори і розуміти, як їх оптимізувати.
  • Треба самому розбиратися у всіх процесах розробки та експлуатації. Тільки тоді їх можна оптимізувати.
  • Потрібні ще й чудові навички планування, аналізу та проектування для створення уніфікованого виробничого процесу.

Всі представники DevOps однакові, чи є відмінності всередині спеціальності?

Останнім часом виникло кілька відгалужень усередині однієї спеціальності. Але загалом, у поняття DevOps включені переважно три напрями: SRE (адміністратор), Developer (розробник), Manager (відповідає за взаємодію Космосу з бізнесом). DevOps-фахівець розуміє потреби бізнесу та організовує ефективну роботу між усіма шляхом створення уніфікованого процесу.

Він також добре уявляє всі процеси циклу розробки продукту, архітектуру, розбирається в інформаційній безпеці на тому рівні, щоб оцінювати ризики. Крім того, DevOps знають і розуміють підходи та засоби автоматизації, а також перед і пост-релізну підтримку програм та сервісів. Загалом, завдання DevOps — бачити всю систему, як єдине ціле, спрямовувати і керувати процесами, які сприяють розвитку цієї системи.

Універсальний солдат чи вузький фахівець? Що повинен знати та вміти DevOps-інженер
На жаль, у Росії, що за кордоном роботодавці далеко не завжди розуміють суть DevOps. Переглядаючи публіковані вакансії можна помітити, що, називаючи вакансію DevOps, компанії шукають то сисадмінів, то Kubernetes-адміністраторів, то взагалі тестерів. Особливо сильно впадає у вічі дуже різнорідний фарш знань і умінь у вакансіях по DevOps з HH.ru, LinkedIn.

Важливо відзначити, що DevOps — не просто спеціальність, це насамперед методологія ставлення до інфраструктури як до коду. Через війну впровадження методології всі учасники команди розробки бачать і розуміють як свою ділянку робіт, вони виникає бачення роботи всієї системи.

Чим може допомогти DevOps компанії, де працює?

Одна з найважливіших метрик для бізнесу – Time-to-Market (TTM). Це час виходу ринку, тобто відрізок часу, протягом якого виконується перехід від ідеї створення товару до виведення товару у продаж. TTM особливо важливий для тих галузей, де продукти швидко старіють.

За допомогою DevOps ціла низка відомих рітейлерів у РФ і зарубіжжя стали розвивати нові напрями. Ці компанії масово переходять в онлайн, повністю чи частково відмовляючись від офлайн-майданчиків. У цих умовах потрібна швидка розробка додатків та сервісів, яка неможлива без використання інструментів DevOps.

Універсальний солдат чи вузький фахівець? Що повинен знати та вміти DevOps-інженер
У результаті деяким ритейлерам вдалося прискорити процес виведення необхідних додатків і сервісів буквально протягом дня. І це — найважливіший чинник конкуренції за умов сучасного ринку.

Хто може стати DevOps?

Звичайно, тут буде простішим представникам технічних спеціальностей: програмістам, тестувальникам, сисадмінам. Тому, хто збирається в цю сферу без відповідної освіти, потрібно бути готовим до вивчення основ програмування, тестування, управління процесами та системного адміністрування. І тільки потім, коли все це освоєно, можна буде починати вивчення DevOps-концепції як єдиного цілого.

Для того, щоб краще зрозуміти концепцію та отримати уявлення про необхідні знання та навички, варто прочитати «Посібник з DevOps», вивчити «Проект Фенікс», а також методологію «Філософія DevOps. Мистецтво управління IT». Ще одна чудова книга — "DevSecOps The Road to Faster, Better and Stronger Software".

Найкраще DevOps дається тим людям, хто має аналітичний склад мислення і здатний використовувати системний підхід. Важко сказати, скільки часу знадобиться новачкові, щоб стати класним DevOps'ом. Тут все залежить від початкової бази, а також від оточення та завдань, які потрібно вирішувати, плюс від масштабу компанії. Серед компаній, яким потрібні девопси, багато технологічних гігантів: Amazon, Netflix, Adobe, Etsy, Facebook і Walmart.

Як висновок можна сказати, що більше половини розміщених вакансій з пошуку DevOps насправді призначені для досвідчених системних адміністраторів. Тим не менш, потреба в DevOps поступово зростає, і зараз не вистачає грамотних фахівців цього профілю.

Для того, щоб стати таким фахівцем, потрібно вивчати нові технології, інструменти, використовувати системний підхід під час роботи та грамотно застосовувати автоматизацію. Без неї дуже складно, якщо взагалі можливо, грамотно організувати DevOps.

Джерело: habr.com

Додати коментар або відгук