Почему DevOps-инженеры зарабатывают больше программистов и чем они важны для бизнеса
Спрос на DevOps-инженеров растет на 59% ежегодно, указывает hh.ru. А вот число профессионалов в этой области увеличивается не так быстро — всего на четверть в год. Разбираемся, чем занимаются DevOps’ы, почему бизнес готов платить ему больше, чем программисту, и какие навыки нужны для входа в профессию.
Что такое DevOps-подход и зачем в нем инженер
Пандемия ускорила переход компаний в онлайн. Так, если в 2019 году рынок интернет-торговли в России увеличился почти на четверть, то уже в 2020 году рост составил порядка 60%, говорят данные профильной ассоциации АКИТ.
Необходимость в срочной цифровизации и масштабировании бизнесов привела к тому, что IT-отделы стали отказываться от старого подхода к разработке цифровых продуктов — каскадного, где задачи решаются последовательно и строго по плану: от аналитики и сбора требований до передачи проекта заказчику и его поддержки.
Ему на смену пришла более гибкая и эффективная Devops-методология (сокр. "Development & Operations" от англ. «разработка и эксплуатация»), при которой работа над продуктом идет в одном горизонтальном потоке: вся команда отвечает за его релиз, а не просто каждый отдел — за свой этап. Роль же связующего звена между членами команды берет на себя DevOps-инженер. Его главная цель — собирать технические требования с разработчиков, тестировщиков, специалистов по информационной безопасности и заказчиков со стороны бизнеса и автоматизировать все промежуточные процессы в разработке ПО для того, чтобы сократить временные затраты специалистов и ускорить выпуск продукта, тем самым снижая расходы бизнеса.
Для того, чтобы выполнить эту задачу, DevOps-инженер помогает автоматизировать внутренние технические процессы. Например, у нас в Нетологии стояла задача снимать дамп базы данных с рабочей версии продукта и раскатывать его на тестовую среду, чтобы периодически актуализировать. Проблема заключалась в том, что такая информация не должна содержать сведения о пользователях, которые нельзя передавать по 152 ФЗ «О персональных данных». Кроме того, нам нужен был конкретный набор таблиц, а не весь объем БД, включая более 500 ГБ истории транзакций. Для того чтобы автоматизировать этот процесс, DevOps-инженер создал инструмент, который сократил срок выполнения операции с нескольких дней до 20-30 минут.
Кому нужен DevOps-инженер сегодня и какие перспективы у профессии
Не всем компаниям выгодно нанимать отдельного специалиста для автоматизации IT-инфраструктуры. Держать в штате дорогостоящего профессионала и покупать лицензию на специальное ПО не выгодно малому бизнесу, стартапам и тем, кто не специализируется на технологиях. В большинстве случаев они приобретают готовые решения: программное обеспечение как услугу (SaaS) или платформу как услугу (PaaS).
Зато среди корпоративного сегмента и технологических компаний, а также у других работодателей, где больше одной команды разработки, профессия DevOps-инженера очень востребована — с июня 2022 года она, по данным «Хабр Карьеры», стабильно входит в топ-5 самых востребованных в IT-отрасли и по прогнозу спрос на нее будет расти на 19,1% ежегодно. В таких специалистах нуждаются банки, ретейлеры, компании в секторе телекома, развлечений и строительства и, конечно, в сфере IT. Кроме того, на спрос влияют и определенные тенденции на IT-рынке. Один из них — тренд на микросервисную архитектуру, когда приложение разбивается на компоненты с отдельными интерфейсами. Такой подход к разработке внедряют DevOps’ы: они помогают развертывать такие сервисы и эффективно управлять ими.
В ближайшие годы профессия станет еще более востребованной. По данным исследования Global Market Insights, рынок DevOps-решений в 2022 году вырос с $7.2 млрд до $8.95 млрд и до 2026 года будет ежегодно увеличиваться еще на 20%. Чем больше продуктов выпускают разработчики и чем быстрее меняется мир, тем большему количеству компаний будет нужен в команду DevOps-инженер.
Что должен уметь DevOps-инженер
Основную часть времени DevOps-инженер выявляет текущие недостатки и изъяны в проектировании инфраструктуры, процессах разработки, исследует технические особенности приложений и их зависимость от окружения, заменяет устаревшие технологии и прочие legacy или отказывается от них. Если задача сисадмина заключается только в том, чтобы устранить проблему и сделать всё возможное, чтобы в будущем она на этом участке не повторилась, то цель работы DevOps'а состоит в том, чтобы при возникновении похожих сложных ситуаций их можно было решить быстрее — нажав на кнопку в интерфейсе, введя команду в командной строке или используя краткую пошаговую инструкцию. Из этих задач и складывается набор необходимых профессиональных и экспертных навыков (hard skills):
-
Знания и навыки системного администрирования высоконагруженных и отказоустойчивых (HL&HA) систем;
-
Навыки построения процессов непрерывной интеграции (CI) и непрерывной поставки (CD);
-
Сильные навыки в дебаге кода и диагностике, в том числе на стороне контрагентов;
-
Навыки проектирования инфраструктуры и знание архитектурных особенностей программных продуктов и сервисов;
-
Навыки работы с облачными и интернет-провайдерами;
-
Знание Linux и несколько лет опыта работы с системами и ПО на его основе;
-
Знание Bash и Python — для написания скриптов, Golang и Perl — для автоматизации ПО, а также декларативных языков программирования и инструментария IaC;
-
Технический английский для чтения документации и быстрого поиска необходимой для работы информации;
-
Умение оптимизировать работу баз данных, навыки работы с реляционными и NOSQL СУБД;
-
Работа с предметно-ориентированным языком (DSL), например, с Puppet.
В российском государственном секторе также имеет значение навык работы на сертифицированном ПО и перенос на него IT-инфраструктуры. В частности, это отказ от Ubuntu, CentOS и Red Hat в пользу Debian, Astra Linux, Red Linux и тп.
Также задача специалиста — объединить команду так, чтобы все ее участники совместно эффективно работали над быстрой разработкой продукта и его улучшением. Поэтому DevOps-инженер должен иметь определенные soft skills:
-
Обладать высоким уровнем аналитических способностей и исследовательских навыков, понимать, как систематизировать накопленные знания;
-
Быстро находить информацию и уметь работать с большим объёмом данных;
-
Знать, как договариваться и вести коммуникацию. Общаться придется с программистами, сисадминами, проджект- и продакт-менеджерами, а также с сотрудниками других отделов в своей компании, при этом говорить с каждым из них нужно на их языке;
-
Быть стрессоустойчивым, быстро находить решения и принимать их. В работе неизбежно возникают неисправности, ошибки, информационные атаки, и DevOps-инженер должен быть готов к работе в таких условиях.
Наконец, есть мета-скиллы, которые DevOps’у стоит развивать. Это те навыки, которые являются универсальными для специалиста в любой сфере:
-
Системное мышление, навыки планирования и развитая интуиция, которые помогут понять, на какой аспект работы стоит обратить внимание;
-
Эмпатия, так как успех во многом зависит от умения слушать и слышать своих коллег.
-
Привычка работать в режиме ненормированного рабочего дня, т. к. аварии случаются не по графику, а лучшее время для инфраструктурных изменений — вечером. Кроме того, нужно постоянно учиться и быть в тренде технологий, а заниматься этим в течени дня у вас вряд ли получится.
-
Искренний интерес к профессии: невозможно проработать 3–6 лет, необходимых для того чтобы развиться в профессии, без любви к этому делу.
Как войти в профессию DevOps-инженера и сколько можно зарабатывать
Так как DevOps-инженер приносит бизнесу значительную пользу, он получает одну из самых конкурентных зарплат в отрасли. По данным статистики Real HR, Junior специалист получает в среднем по стране 150 000 руб., Middle - 199 000 руб., а Senior - 355 000 руб.
Стать DevOps-инженером совсем без опыта в IT не получится: ошибка в работе этого специалиста может дорого обойтись компании, поэтому начинающих профессионалов до такой работы, как правило, не допускают. Самый оптимальный вариант попасть в профессию — переквалифицироваться из сисадмина. Для этого нужно быть на уровне Middle-специалиста — такого, который не просто настраивает технику, а уже управляет парком оборудования и умеет работать с серверами. Помочь преодолеть этот этап может прохождение онлайн-курсов, например, в Нетологии, есть программа, с помощью которой уже через 6-8 месяцев обучения можно пробовать устроиться junior Devop’ом в крупную компанию. В DevOps-инженеры также можно перейти из разработки: для этого нужно прокачать навыки работы с инфраструктурой и развертывания приложений.
Начну с того, для чего необходимо развитие личного бренда ИТ-директору. Причин несколько, и все они крайне важны.
Опубликовано 31.03.2023