Ролі DevOps-фахівця: 7 варіантів розвитку

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

Історичне. Років 20 тому кілька різних бізнес-активістів об’єдналися навколо нової ідеї, де члени команди мали б працювати воєдино, а не один проти одного. У 2001 році склали маніфест з 12 принципами Agile-розробки. 

На деякий час це знизило рівень напруженості між командами. Та оскільки Agile більше про розробку, команди з експлуатації вирішили вдосконалити ідею зі своєї точки зору. 

І тут в гру вступає Патрік Дебуа, на той час сисадмін та Agile-практик. У 2008-2009 роках він активно працював над поліпшенням взаємодії між командами Dev та Ops, що це врешті решт вилилося в конференції DevOpsDays та нову методологію DevOps.

Нинішнє. Через 13+ років після усіх цих подій бізнес прийшов до того, що DevOps-інженери не лише про зворотний зв’язок та оптимізацію ресурсів.

Ця посада тепер приховує дещо більше. Вона містить виняткові ролі та обов’язки під завдання конкретної організації. 

Який він, сучасний DevOps-інженер? Чим займається на роботі та за що відповідає? Про це й поговоримо.

Хто такий DevOps-інженер? 

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

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

Що робить DevOps-інженер?

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

Спеціалісти мають вміти працювати з інструментами, які можуть знадобитися для автоматизації процесів та тестування. Основна ціль цієї професії: 

  • пришвидшити релізи,
  • покращити комунікацію між відділами,
  • автоматизувати рутинні процеси,
  • підвищити ефективність команд,
  • покращити якість продукту.

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

Робота DevOps-інженером в Україні: зарплата

За даними Djinni, Middle DevOps традиційно входить до списку ТОП 5 професій, які найбільше шукають рекрутери. 

Медіанні зарплати за даними Djinni

Стосовно зарплат, то за тією ж статистикою, DevOps-фахівці — найдорожча серед популярних професій. Спеціаліст цього напрямку із досвідом від 3 до 5 років, швидше за все, знайде роботу в Україні з місячною чистою зарплатою від 3 до 7 тисяч доларів.

Медіанні зарплати за даними DOU

За статистикою DOU, спеціалісти DevOps/SRE отримують: 

  • Middle DevOps — $2 900, 
  • Middle SRE — $2 650, 
  • Senior DevOps — $5 000, 
  • Senior SRE — $5 200, 
  • Junior DevOps — $1 200.

То ж за що ж їм платять?

Загальні навички, якими має володіти DevOps-фахівець

Обов’язки DevOps-інженера — багатогранні, адже він має бути і технарем, і керівником. Ось деякі з основних:

  • Розуміти вимоги замовника та KPI проєкту
  • Впроваджувати різні інструменти розробки, тестування, автоматизації та ІТ-інфраструктури
  • Планувати структуру команди та її діяльність
  • Налаштовувати інструменти та необхідну інфраструктуру
  • Визначати та налаштовувати процеси розробки, тестування, випуску, оновлення 
  • Мати технічні навички для перегляду та перевірки коду ПЗ 
  • Вміти усувати неполадки та виправляти помилки коду
  • Моніторити процеси протягом усього життєвого циклу продукту
  • Заохочувати та створювати автоматизовані процеси скрізь, де це можливо
  • Виявляти та розгортати заходи кібербезпеки шляхом безперервної оцінки вразливостей та управління ризиками
  • Управляти інцидентами та аналізувати основні причини
  • Налагоджувати комунікацію всередині команди та з клієнтами
  • Вибирати та розгортати відповідні інструменти CI/CD
  • Наставляти та направляти членів команди
  • Моніторити та вимірювати клієнтський досвід та KPI
  • Вести періодичну звітність про виконану роботу перед керівництвом та замовником

Досвід та основні навички, необхідні DevOps-інженеру:

  • Робота з інфраструктурою на базі Linux
  • Відмінне розуміння Ruby, Python, Perl та Java
  • Вміти налаштовувати та керувати БД, такими як MySQL, Mongo
  • Мати навички усунення несправностей
  • Знати різні опенсорсні інструменти та технології, типу Kubernetes
  • Розумітися на хмарних сервісах
  • Бути поінформованим про найважливіші концепції DevOps та принципи Agile

Ролі DevOps-інженера: які вони бувають та спектр відповідальності 

Команда DevOps будується з урахуванням наявних процесів розробки ПЗ. DevOps контролює наскрізну розробку та розгортання програмного забезпечення. Зазвичай людина, яка «сидить нагорі», повинна керувати всією командою як з технічними, так і нетехнічними знаннями. 

Загалом, кожна організація впроваджує DevOps відповідно до своїх потреб. Нижче навели деякі з робочих ролей, важливих обов’язків та необхідних навичок фахівців зі сфери.

РольНавички/технології
Release ManagerПланування та управління життєвим циклом програмного забезпечення
DevOps LeadJenkins, Git, Nagios, Zabbix, bit bucket, SVN, Chef, Puppet, Ansible
DevOps Automation ExpertGit, SVN, bitbucket, Jenkins
DevOps Testing ProfessionalМодульне тестування, тестування збірки, Selenium, MySQL
DevOps System EngineerLinux, AWS, Azure
DevOps Security ProfessionalАналіз ризиків, тестування на проникнення
DevOps Software DeveloperC, C++, Java, Ruby

DevOps Release Manager

Менеджер випусків — це досвідчений професіонал у сфері ПЗ. Зазвичай реліз-менеджер має не менше 3-4 років досвіду роботи в ІТ. Фахівець повинен добре знати наскрізну розробку програмного забезпечення та життєвий цикл розгортання. 

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

Обов’язки DevOps Release Manager

  • Контролювати життєвий цикл доставки програмного забезпечення
  • Керувати плануванням проєкту та документацією для членів команди
  • Забезпечувати якість продукту, шляхом аналізу відгуків клієнтів
  • Керувати ризиками та зменшувати їх шляхом належного планування
  • Підтримувати зв’язок між технічним і управлінським персоналом

Devops Lead

Керівник DevOps має 3-4 роки досвіду лише в DevOps. Він керує всім циклом DevOps і відповідає за належне виконання процесу. Фахівець повинен: 

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

Devops Lead відповідає за підтримку високої доступності робочого та невиробничого середовища.

Обов’язки та навички керівника DevOps

  • Відстежувати інфраструктуру безперервної інтеграції та розгортання
  • Отримувати відомості про реалізацію конвеєрів CI/CD за допомогою таких інструментів, як Jenkins, Chef, Puppet, Git
  • Мати навички роботи інструменти моніторингу, такі як Nagios, Zabbix тощо
  • Відповідати за управління високою доступністю виробничої та невиробничої інфраструктури
  • Вміти працювати з платформами хмарних обчислень, таких як IaaS, PaaS, SaaS
  • Мати великий досвід використання AWS, Azure, OpenShift тощо

Devops Automation Expert

Експерт з автоматизації DevOps — відповідає за створення автоматизованих конвеєрів для виробничого та невиробничого середовища. Фахівець зазвичай має 2-3 роки досвіду в IT. Експерт з автоматизації DevOps знається на Unix і Linux. Вміє автоматизувати завдання за допомогою сценаріїв оболонки.

Обов’язки та навички експерта з автоматизації DevOps

  • Створювати автоматизовані конвеєри CI/CD
  • Мати знання GIT, SVN, Jenkins
  • Розумітися на Unix
  • Знати сценарії Shell, Perl, Python
  • Мати досвід створення автоматизованих конвеєрів CI/CD за допомогою таких інструментів, як Gitlab, Jenkins, Chef, Ansible і Puppet
  • Мати знання про розгортання контейнерів за допомогою інструментів контейнеризації, таких як Docker

DevOps Testing Professional

Професіонал з тестування DevOps — відповідає за написання автоматизованих тестів для програм, що розробляються. Спеціаліст повинен мати 2-3 роки досвіду ІТ у тестуванні ПЗ. Обов’язково треба володіти інструментами типу Selenium, Cucumber, Silktest.

Ролі та обов’язки спеціаліста з тестування DevOps

  • Володіти глибокими знаннями щодо тестування ПЗ
  • Вміти створювати автоматизовані тестові конвеєри
  • Володіти глибокими знаннями модульного тестування
  • Вміти кодувати на Python, Java
  • Чітко розуміти суть методології DevOps

DevOps System Engineer

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

Ролі та обов’язки системного інженера DevOps

  • Відповідати за збереження інфраструктури
  • Володіти UNIX, Linux на високому рівні
  • Експертно створювати сценарії за допомогою скриптів Shell, Python, Perl,
  • Добре знати AWS, Azure, OpenShift тощо
  • Володіти навичками MySQL

DevOps Security Professional

Професіонал з безпеки в DevOps має близько 2-3 років досвіду у сфері безпеки ІТ-інфраструктури. Спеціаліст відповідає за безпеку, оцінює її та створює план протидії загрозам.

Ролі та обов’язки спеціаліста з безпеки DevOps

  • Чітко розуміти безпеку системи та мережі
  • Оцінювати ризики та складати план їх зменшення
  • Знатися на брандмауерах, IDS, ОС
  • Розуміти тестування на проникнення
  • Використовувати такі інструменти, як Metasploit, Nmap, Wireshark, Snort 
  • Мати глибокі знання безпеки в хмарі

DevOps Software Developer

Розробник ПЗ в DevOps повинен мати досвід написання якісного коду протягом 2-3 років. Фахівець має працювати з такими інструментами керування версіями ПЗ, як Git, SVN тощо. DevOps Software Developer повинен глибоко розуміти різні етапи процесів розробки ПЗ.

Ролі та обов’язки розробника ПЗ в DevOps

  • Мати експертизу в комерційних IDE, таких як IntelliJ idea, Komodo тощо
  • Вміти писати високоякісний код
  • Мати глибоке розуміння алгоритму та структури даних
  • Знатися на C, Java, Ruby тощо

Післяслово

Більшість професіоналів, які працюють у сфері DevOps, є: 

  • або системними адміністраторами, які набули більшого розуміння програмування, 
  • або програмістами, які розвинули навички системного адміністрування. 

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

Хочеш зробити кар’єру в DevOps? 

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

Не маєш досвіду в ІТ, але хочеш опанувати нову сферу — ось список курсів для тих, хто починає знайомство зі сферою.

 
Нехай прибуде з тобою сила знань 🖖

Залишити відповідь

Дякуємо, що поділились