Top.Mail.Ru
Колонки

Сисадмин + разработчик = DevOps-инженер? Так ли это и чем они занимаются сегодня

Колонки
Виктор Попов
Виктор Попов

DevOps-инженер в группе НЛМК

Анастасия Удальцова

До 2009 года термина DevOps, как и соответствующей профессии, вообще не существовало. Сегодня же специалисты этого профиля весьма востребованны, причем в самых разных компаниях, хоть сколько-нибудь связанных с IT-тематикой: от промышленных предприятий до образовательных стартапов. 

Виктор Попов, DevOps-инженер в Группе НЛМК, рассказал, что это за профессия сегодня и как начать в ней карьерный путь.

Сисадмин + разработчик = DevOps-инженер? Так ли это и чем они занимаются сегодня
  1. Колонки

Содержание:

 

Что такое DevOps

В первую очередь — это культура, и только потом из нее появилась профессия.


Раньше разработчики и сисадмины существовали в отрыве друг от друга: одни что-то там поддерживали, другие писали какой-то код — в результате часто ничего нормально не работало. 

DevOps-подход призван это изменить — он основывается на совместной работе и совместном решении проблем админами и разработчиками. 


Сам термин DevOps — аббревиатура, которая сложена из двух слов: 

  • development (разработка)
  • operations (эксплуатация). 

Таким образом, это многозначный термин: 

  • с одной стороны, это методология, 
  • с другой — профессия (она называется DevOps-инженер).
Не знаешь, с чего начать бизнес? Всё о первых шагах в своём деле рассказываем на платформе «Курс».

Причем инженеров тоже можно поделить на несколько категорий:

  • Люди, которые занимаются продуктовой автоматизацией

Те, кто помогает разработчикам: 

  1. «выкатывать» продукт в разные среды, 
  2. делать тесты, 
  3. проверять все. 
  • Инженеры, которые занимаются поддержкой DevOps-платформы и сопутствующих инструментов (например, Kubernetes) и предоставляют их разработчикам и DevOps из первой категории

Фактически это те же сисадмины, какие были 20 лет назад. Просто профессия обрела более современное звучание: сисадминам платят мало, а DevOps много — поэтому название поменяли.

 

Задачи DevOps-инженера 

Круг обязанностей зависит от того, чем именно занимается специалист. 

Если это DevOps-инженер в продуктовой автоматизации, его задачи:

  • настройка pipeline;
  • организация сред на CI/CD-инструментах, Jenkins, Gitlab CI. 

Такой специалист должен иметь опыт работы с платформами: это может быть Kubernetes в чистом виде или, например, облачные платформы. 

В целом инженер должен: 

  • уметь работать с пулом инфраструктурных инструментов, которые предоставляются как сервисы, 
  • обеспечить их нормальную работу и соответствие требованиям заказчика.

 

Плюсы и минусы профессии

Это довольно индивидуальный вопрос — то, что нравится одному специалисту, может категорически не подходить другому. Взять те же менеджерские задачи, умение выстроить коммуникацию с клиентом — кого-то это увлекает, других отталкивает. 

Из объективных плюсов — хороший уровень дохода и актуальность профессии. 

Правда, из последнего вытекает и определенный недостаток: в специальности DevOps-инженера все меняется моментально, и чтобы быть востребованным специалистом, нужно постоянно актуализировать свои знания и навыки. Так что популярность профессии — это и плюс, и минус одновременно. 

С одной стороны, спрос на DevOps большой, с другой — очень высока конкуренция среди джуниоров, тогда как middle и senior находятся в дефиците. 

Порог вхождения в профессию довольно высокий: нельзя «где-то что-то услышать», пройти короткие онлайн-курсы и пойти в DevOps — нужно посвятить этому много времени, чтобы стать действительно ценным и востребованным специалистом. 

 

Где и как учиться

Короткий ответ: если вы только планируете войти в IT, то не на онлайн-курсах. Наверно, на условного тестировщика выучиться действительно можно, но только не на DevOps. 


Человек редко приходит в DevOps с нуля — обычно у него есть некий IT-бэкграунд (разработчик, сисадмин). 


DevOps-инженер — это, если условно, метапрофессия: более глубокая и сложная специализация, сочетающая в себе несколько направлений.

 

Как войти в профессию

Часто бывает так, что разработчики занимаются какой-то CI/CD-магией, иногда на своем же коде, на своем проекте, а потом плавно доучиваются и становятся DevOps. Это один популярный сценарий развития карьеры. 

Второй — переходить в DevOps со стороны системного администрирования. Но это касается только тех, у кого есть опыт.

Если все же начинать с нуля, то первый предмет изучения — инструменты. Методологию можно отложить на потом: на практике junior DevOps про методологию может не знать вообще ничего примерно первые пару лет своей карьеры — и это никак не скажется на его профессиональном развитии.


Читайте по теме: Как составить резюме в ИТ-компанию — инструкция


На старте может помочь портфолио.

Если вы устраиваетесь на первую работу, то в качестве портфолио может подойти ваш Github-репозиторий pet-проекта — на нем удобно отрабатывать то, чему научился, и демонстрировать свои навыки. На портфолио работодатель смотрит не меньше, чем на образование (а часто и больше).

 

Какие навыки нужны в профессии

Чуть более подробно остановимся на навыках работы с инструментами и ПО. 

Для начинающих инженеров базово достаточный набор может выглядеть примерно так: 

Если вы человек целеустремленный и у вас есть желание с нуля начать свой путь именно в сторону DevOps, имеет смысл для начала изучить администрирование какого-нибудь базового Linux. Конечно, есть и стеки на Windows, но это скорее исключение. 

Важно знать какой-либо из оркестраторов. Конечно, Kubernetes победил, но если у вас вдруг есть опыт работы с каким-нибудь Nomad или Docker Swarm, то это будет только в плюс — переучиться на Kuber недолго. 

Языки программирования — опциональный, но желательный пункт. 

Топ языков программирования для DevOps выглядит так: 

  • Python, 
  • Go, 
  • Bash. 

Знать их, конечно, не будет лишним, но есть много DevOps-инженеров, которые не пишут сами, и это никак не ограничивает их профессиональное развитие. 

Впрочем, может помочь и знание других языков: например, если вы работали с Java, то это пригодится. К примеру, вы можете указать разработчикам на особенности работы приложения в контейнерах или помочь со сборкой.


Читайте также: Пять языков программирования для начинающих


Нужно уметь работать с CI/CD-инструментами (Gitlab Ci, Jenkins, Bamboo, Teamcity). 

Пригодится опыт работы с инструментами мониторинга

  • Prometheus/Victoria metrics, 
  • Grafana, 
  • Loki/Elastic. 

Необязательно знать все досконально — но иметь в арсенале парочку точно лишним не будет. 

Для DevOps-инженера актуальны и soft skills

  • вам нужно уметь общаться с людьми, 
  • слышать и слушать, 
  • уметь объяснить сложную идею просто и понятно. 

Иногда даже приходится быть немного продажником: если заказчик просит выполнить задачу, но предлагает неоптимальный к ней подход, нужно уметь объяснить, как выполнить задачу правильно и почему она займет вдвое или втрое больше времени (а такие случаи происходят сплошь и рядом). 


Читайте по теме: Софт-скиллы разработчика: какие навыки нужны для получения оффера мечты


На рынке есть курсы, которые объединяют эти направления, но пока они дают не очень реалистичные знания. 

А еще нет единого инструмента, который все это сшивает в одно, в профессию, потому что знать по отдельности детали важно и нужно, но профессия — это немножко больше, чем просто набор инструментов.

 

Где искать работу

Рынок junior-специалистов в последние месяцы, прямо скажем, перенасыщен — это осложняет поиск. 

Хороший вариант сегодня — пройти стажировку в крупной компании, набраться опыта и зарекомендовать себя. Если вы можете позволить себе работать пару-тройку месяцев без зарплаты или за небольшую формальную сумму, стажировка даст вам хороший старт. 


Читайте по теме: «Я джун и ищу работу в IT»: где набраться опыта и чем заполнить резюме, чтобы получить оффер


Если вы уже в IT, здесь все немного проще — особенно, если в компании уже есть DevOps-команда. В этом случае переход в нее становится вопросом вашей личной инициативы. Всегда можно обсудить, договориться, попробовать, и если у вас все получается, перейти в DevOps на фултайм. 

Бывают случаи, когда человек уже работает в IT, но в его компании по тем или иным причинам нет DevOps-подразделения, куда можно было бы попроситься и попробовать свои силы. В этом случае релевантность опыта сотрудника зависит от того, чем он занимался и с какими стеками работал. 


Читайте также: DevOps: как измерить и изменить культуру компании


Например, если вы отлично владеете навыками системного администрирования на Linux и долго в этом направлении развивались, вы можете претендовать на позицию middle DevOps-инженера. 

Ситуация с разработкой похожа: если вы имеете middle или senior грейд в разработке или системном администрировании, перейти в DevOps на middle уровень вам будет проще. 


Читайте по теме: Какие навыки нужны джуниор-разработчику, чтобы получить работу


Если вы еще не работаете в IT, а вариант стажировки по каким-то причинам не подходит, здесь рекомендация самая традиционная: 

  1. Наберите портфолио, потому что работодатели обязательно заходят на него посмотреть. 
  2. Не сдавайтесь и не теряйте надежды: ситуация, когда вашу кандидатуру отвергли 20-30-50 компаний, совершенно нормальная. 
  3. Стучитесь в закрытые двери, предлагайте себя самым разным компаниям — и рано или поздно это сработает. 

Вопреки сложившемуся мнению о том, что HeadHunter плохо подходит для поиска IT-вакансий, на самом деле там много хороших предложений. 

Более специализированные площадки, сфокусированные только на IT:

  • «Хабр Карьера»,
  • профильные Telegram-каналы с вакансиями, например, «Слерм Карьера».

 

Карьерное развитие

Как и почти любая IT-профессия, DevOps-инженер имеет разные грейды: 

  • junior, 
  • middle, 
  • senior. 

В смысле вертикального развития на этом все: на уровне senior ты оказываешься на распутье:

  • либо уходишь в менеджмент, 
  • либо, например, в менторство. 

По менеджерской траектории можно подняться до тим/техлида или руководителя направления, а дальше и до СТО когда-нибудь дорасти. 

Однако это сложный и тернистый путь, осилить который может далеко не каждый, — поэтому большинство DevOps предпочитают либо развиваться горизонтально, либо переходить в менторство.

 

Фото на обложке сгенерировано с помощью нейросети Midjourney

Нашли опечатку? Выделите текст и нажмите Ctrl + Enter

Материалы по теме

ЛАНИТ
Как создать MVP на заказ: cтоимость разработки, выбор подрядчика, этапы и сроки
Подробнее