DevOps інженер: хто це такий і його обов’язки

DevOps инженер

Хто такий DevOps engineer і чому його не можна замінити системним адміністратором?

Поява нових професій нікого не дивує, але всіх турбує. Все тому що фахівцям необхідно бути вкрай уважними до змін, щоб залишатися в професійній формі і не втрачати своїх позицій на ринку праці. А для цього вкрай важливо стежити за гібридними професіями (перейди за посиланням та зрозумієш чому саме), одну з яких обговоримо детальніше. Хочемо поговорити про те, хто такий DevOps інженер, яка його роль в сфері IT, про його основні обов’язки і важливі скіли в роботі.

Почнемо, мабуть, з того, що існує методологія DevOps (Development Operations). Вона передбачає ефективну організацію роботи команди зі створення/оновлення програмних продуктів і послуг. Це впровадження організаційних змін, які призначені для створення динаміки в роботі на кожному етапі. Методологія заснована на ідеї об’єднання команди розробки, тестування та експлуатації ПЗ для ефективного і швидко створенню будь-якого програмного забезпечення.

А тепер перейдемо до самого інженеру DevOps і його характеристиці.

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

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

DevOps engineer — фахівець, який займається всіма циклами і процесами розробки. У його область впливу входить розробка, тестування, перед і пост підтримка релізу продукту. Він здатний розуміти архітектуру продукту, оцінювати ризики безпеки і автоматизувати процеси розробки, створення і випуску ПО. Його робота спрямована на створення взаємодії розробників з іншими IT-фахівцями. Наприклад, якщо програмісти і тестувальники відповідають за Development, то адміністратори відповідальні за Operations. Таким чином, DevOps фахівець, який залучений не тільки в безпосередню розробку, але також в процес деплоя і експлуатації системи.

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

Хтось каже, що DevOps фахівці це ті ж системні адміністратори (може навіть переходять із розробників). На практиці так і є, але для бізнесу цього мало. Тут треба бути не просто сісадміном, а важливо бути ланкою між Development і Operations, володіти глибоким розумінням всіх процесів для їх автоматизації. Але найкраще функціонал цього фахівця може охопити лише опис тих посад, які входять у позицію цього розробника.

Посада DevOps engineer поєднує у собі:

Senior System Administrator (для розуміння середовища, в якій працюватимуть ПЗ);

Networking — CCNA (для виявлення помилок, які можуть бути обумовлені особливостями роботи мережі);

Junior Developer (чим більше DevOps знає про код і інші підводні камені розробки, тим краще вийде зібрати і викотити додаток);

Junior database administrator (для роботи з базою даних і розуміння принципів налаштування, управління, ефективного використання, оптимізації, забезпечення безпеки, міграції даних);

SecOps (для орієнтування і спеціалізації на інформаційну безпеку).

Hard skills для DevOps

Для Junior DevOps:

  • знання основ адміністрування операційних систем Linux, git;
  • написання скриптів для автоматизації на Bash;
  • пошук помилок у програмі і їх усунення (дебажити);
  • навички контейнеризації та оркестрації.

Для Middle DevOps:

  • вміння адмініструвати БД (PostgreSQL)
  • знання мов програмування: Python, Ruby, Go;
  • робота з DSL (наприклад, Puppet);
  • навички по ELK stack, TICK stack на високому рівні;
  • написання і оновлення ролей для автоматичного розгортання;
  • заповнювати моніторинг під конкретні потреби.

Для Senior DevOps:

  • глибоке володіння вищепереліченими навичками;
  • написання eBPF;
  • впровадження Test-driven-development з хорошим покриттям тестами Rspec / Serverspec;
  • знання і володіння SRЕ-метриками.

Soft skills для DevOps

  • комунікабельність і лідерські здібності;
  • клієнтоорієнтованість;
  • емоційний інтелект (EQ);
  • навички time management;
  • стресостійкість;
  • ініціативність і залученість;
  • fluent english;
  • презентаційні навички.

Всі ці навички DevOps необхідні для досягнення таких цілей, як: мінімізація витраченого часу на розробку ПЗ для своєчасного виходу на ринок; зменшення ризиків відмов нових релізів; своєчасне виконання виправлень; координація роботи та автоматизація процесів розробки і вихід ПЗ.

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

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *