Хто такий DevOps-інженер, що він робить, скільки заробляє та як їм стати

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

Дмитро Кузьмін розповідає, чим конкретно займається DevOps та що потрібно вивчити, щоб претендувати на таку посаду. Бонусом — важливі посилання на книги, відео, канали та професійну спільноту.

Чим займається DevOps-інженер

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

Відповідно, DevOps-інженер – це фахівець, який впроваджує цю методологію у процес роботи:

  • На етапі планування DevOps-інженер допомагає вирішити, яку архітектуру буде використовувати програму, як вона масштабуватиметься, вибрати систему оркестрації.
  • Далі налаштовує сервери, автоматизовану перевірку та заливку коду, перевірку середовища.
  • Потім автоматизує тестування, вирішує завдання з деплою.
  • Після релізу важливо збирати зворотний зв'язок від користувачів та впроваджувати покращення. DevOps робить так, щоб користувачі не помічали цих покращень, а процес оновлення був безперервним.
  • І заразом вирішує десятки завдань, які допомагають налагодити систему роботи розробників, QA, системних адміністраторів та менеджерів.

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

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

Що потрібно для старту у професії

Вхід у професію потребує попередньої підготовки. Просто прийти на курси з нуля, нічого не розуміючи в IT, і вивчитися рівня junior не вийде. Потрібен технічний бекграунд:

  • Ідеально, якщо ви працюєте півроку та більше системним адміністратором, спеціалістом з експлуатації чи тестування. Або хоча б маєте уявлення про те, як програми стартують, в якому середовищі вони можуть розвиватися і що робити, якщо ви бачите помилку. Якщо досвіду роботи немає, пройдіть будь-який курс з адміністрування Linux, повторюючи все, що відбувається на домашній машині.
  • Розберіться, як працюють мережні технології — навчитеся встановлювати, налаштовувати та керувати локальними та глобальними мережами.
  • Подивіться, як і з чого влаштоване програмування - напишіть кілька скриптів на Python або Go, спробуйте зрозуміти принципи ООП (Об'єктно-орієнтоване програмування), почитайте загальний цикл розробки продукту.
  • Стане в нагоді знання технічної англійської — спілкуватися на вільні теми не обов'язково, достатньо вміти читати документацію та інтерфейси.

Не обов'язково знати все перераховане досконало, для початку навчання DevOps достатньо мінімального рівня підготовки. Якщо такий технічний бекграунд є, спробуйте записатись на курси.

Що повинен знати DevOps

Хороший DevOps-інженер – це багатопрофільний фахівець із дуже великим кругозором. Для успішної роботи вам доведеться розібратися відразу в кількох IT-напрямках.

Розробка

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

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

Операційні системи

Знати всі можливості кожної версії кожної системи неможливо - на таке навчання можна витратити тисячі годин і толку не буде. Натомість хороший DevOps розуміє загальні принципи роботи на будь-якій ОС. Хоча, судячи з згадок у вакансіях, більшість зараз працюють у Linux.

Хороший інженер розуміє, в якій системі краще розгортати проект, якими інструментами користуватися та які потенційні помилки можуть з'явитися у процесі впровадження чи експлуатації.

Хмари

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

У стандартних вимогах до інженерів зазвичай значиться GCP, AWS і Azure.

Сюди можна зарахувати і володіння інструментами CI/CD. Зазвичай для безперервної інтеграції використовується Jenkins, але варто спробувати аналоги. Їх багато, наприклад, Buddy, TeamCity та Gitlab CI. Корисним будемо вивчити Terraform — це декларативний інструмент, який допомагає віддалено піднімати та налаштовувати інфраструктуру у хмарах. І Packer, який потрібний для автоматичного створення образів ОС.

Системи оркестрації та мікросервіси

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

Докладно знає Docker та Kubernetes. Розуміє, як працюють контейнери, як будувати систему так, щоб можна було відключати частину з них без наслідків загальної системи в цілому. Наприклад, вміє побудувати Kubernetes-кластер за допомогою Ansible

Що ще спробувати майбутньому DevOps

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

Ось ще невеликий мінімум, який допоможе на старті:

  • Розберіться, як працюють Git та Github, якщо ще не стикалися з цим. Встановіть GitLab на свій сервер.
  • Ознайомтеся з мовами JSON та YAML.
  • Встановіть і спробуйте попрацювати в базах даних - не тільки MySQL, але і NoSQL. Спробуйте MongoDB.
  • Розберіться, як керувати конфігурацією декількох серверів. Наприклад, з допомогою Ansible.
  • Відразу налаштуйте моніторинг навантаження та логи. Спробуйте зв'язку Prometheus, Grafana, Alertmanager.
  • Пошукайте найкращі рішення для деплою під різні мови - досить просто познайомитися, впроваджувати і розбиратися будете на тренувальному або робочому проекті.

Чому варто почати вивчати DevOps зараз

На ринку DevOps-інженерів кадровий голод. Це умовно підтверджується кількістю та якістю вакансій:

  • У Росії на одному тільки HeadHunter постійно доступно понад 2 тисячі робочих місць за цим ключовим словом.
  • І лише 1 900 осіб розмістили резюме.

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

Хто такий DevOps-інженер, що він робить, скільки заробляє та як їм стати
Зверніть увагу на зарплатні вимоги претендентів

Не менш затребуваний DevOps і у світі — якщо ви зібралися на релокацію до США чи Європи, то лише на порталі Glassdoor таких фахівців шукають понад 34 тисячі компаній. З частих вимог — досвід 1–3 роки, уміння працювати з «хмарами» та не боятися консалтингових функцій.

На фрілансі пропозицій у рази менше - DevOps-інженерів переважно шукають у штат і на повний день.

Хто такий DevOps-інженер, що він робить, скільки заробляє та як їм стати
Знайти відповідний проект на фрілансі складно, але можна

Умовний кар'єрний шлях DevOps-інженера можна представити приблизно так:

  • Півроку-рік працює системним адміністратором у невеликій IT-компанії. Паралельно вивчає мову, що підходить для автоматизації.
  • Інтенсивно навчається на курсах приблизно півроку.
  • Переходить на іншу роботу — до компанії, яка продає хмарні рішення, філію великої корпорації до розробників великих проектів. Простіше кажучи туди, де є потреба у постійній автоматизації та впровадженні. На початковій позиції це приблизно 100 XNUMX рублів.
  • Кілька років активно працює та навчається, збільшує дохід у кілька разів.
  • Стає експертом у професійній спільноті та переходить у консалтинг. Або росте до системного архітектора чи IT-директора.

DevOps – це складно. Потрібно поєднувати у собі навички одразу кількох професій. Стати людиною, яка готова запропонувати покращення там, де інші IT-фахівці навіть не думають про щось інше. За це багато платять, але й обсяг знань буде потрібний великий.

Скільки заробляють DevOps

Середня медіанна зарплата за даними за другий квартал 2019 року у девопсов знаходиться у вилці між 90 і 160 тисячами рублів. Є пропозиції дешевші — здебільшого 60–70 тисяч.

Постійно є пропозиції до 200 тисяч, зустрічаються вакансії із зарплатою до 330 тисяч рублів.

Хто такий DevOps-інженер, що він робить, скільки заробляє та як їм стати
Серед фахівців з експлуатації DevOps оплачується вище за інших. Джерело: Хабр.Кар'єра

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

Відмінним кандидатом на молодшу вакансію із зарплатою в 60–90 тисяч стане системний адміністратор-початківець з досвідом близько року і профільним дипломом.
 
Хто такий DevOps-інженер, що він робить, скільки заробляє та як їм стати
Такої статистики немає, але за відчуттями, людям, які мають досвід у Linux, платять більше

Що дивитися і читати для зростання у професії

Щоб поринути у світ DevOps, спробуйте одразу кілька джерел інформації:

  • Фонд хмарних нативних обчислень [YouTube, ENG] – багато відео з конференцій та освітніх вебінарів.
  • DevOps Channel [YouTube, RUS] – відео доповідей з професійної конференції DevOps у Росії.
  • Довідник DevOps [Книга, RUS] - одна з найпопулярніших книг про філософію DevOps. У книзі є загальні принципи методології, вона розповідає, на що звертати увагу насамперед під час роботи на будь-якому проекті.
  • Thomas Limoncelli "Практика системи та мережі Administration" [Книга, RUS] - багато теорії та принципів про те, як має бути влаштоване системне адміністрування.
  • Devops Weekly [книга, ENG] - щотижневий огляд новин про те, що відбувається в DevOps по всьому світу.
  • Devops_deflope [Telegram, RUS] – новини індустрії, анонси конференцій, посилання на нові цікаві статті та книги.
  • Devops_ua [Telegram, RUS] – російськомовний чат, де можна запитати поради та попросити допомоги по конфігах.
  • Devops.com – великий міжнародний сайт зі статтями, вебінарами, подкастами та колонками найбільших компаній в індустрії.
  • Hangops_Ru — російськомовне співтовариство інженерів DevOps та співчуваючих.
  • Кращі книги з тієї мови, яку ви будете використовувати для розробки.

Де вчитися на DevOps

Здобути структуровані знання можна на курсі «DevOps-інженер» у Нетології. Ви навчитеся повному циклу методології:

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

Бонусом отримаєте курс з програмування на Python - вирішуватимете завдання ще швидше і простіше. Все на практиці використовуємо AWS, GCP або Azure.
Цього достатньо, щоб з інженера-початківця або системного адміністратора перетворитися на затребуваного DevOps і приємно підняти свій цінник на ринку праці.

Хто такий DevOps-інженер, що він робить, скільки заробляє та як їм стати

Джерело: habr.com

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