DevOps: карьерный обзор
Небольшой обзор рынка труда от ИТ-специализированного кадрового агентства Spice IT.
Наталья Трифонова — Senior IT Recruiter в Spice IT пообщалась с руководителями практики DevOps и собрала данные для статьи. Юлия Попова оформила иллюстрации к исследованию.
DevOps – методология, а не должность. В понимании стейкхолдеров DevOps-инженер – это такой человек, который применяет DevOps-инструменты и методологии для поддержки инкрементальной разработки софта. DevOps – это business enablement.
Начало карьеры
Чаще всего в профессию приходят бывшие системные администраторы. Реже — разработчики, которые или решили, что DevOps — это круто, или не смогли реализовать себя в программировании и решили перейти в поддержку разработки. Обычно из них получаются сильные девопсы. Они знают сборку, тестирование, CI/CD со стороны разработчиков. Менее распространенный путь — из тестирования. Переход в DevOps из профессий, не связанных с IT, встречается редко.
Образование необходимо при трудоустройстве в компании с наукоемкой разработкой. Котируются ведущие государственные ВУЗы: МФТИ, ВШЭ, Бауманка, МГУ ВМК.
В других случаях отсутствие образования не так критично. Поможет профиль на Github, в котором работодатель сможет посмотреть реализованные проекты, попытки джуниора что-то написать.
Грейды
Зарплата — 90 000 - 120 000 net
Кандидат должен знать базовые вещи — уметь работать с линуксом и попробовать развернуть кубернетес.
Оценивают soft-skills, логическое мышление, готовность учиться. Ценится умение самостоятельно находить информацию, рассуждать, задавать вопросы.
Требования:
- Знание ОС: в РФ чаще требуется Linux и сертифицированные ОС для госструктур; в западных компаниях — Windows.
- Базовые знания инфраструктуры и сетей, разработки ПО, модель OSI, что такое CI/CD.
- Английский язык на уровне чтения технической документации. Без этого развиваться в профессии практически невозможно — все полезные статьи на английском.
- Умение усваивать большие объемы информации – технология живет 2-3 года, и потом приходится переучиваться.
Джунами в основном берем без опыта в DevOps, так как рынок «голодный». Обучаться дома сложно — нет мотивации. Можно почитать, попрактиковаться по материалам из статей, но это не принесет новых знаний. Развивает, когда ставят задачу и нужно, превозмогая боль и себя, ее выполнить, тем самым повышая свои компетенции.
Зарплата — 150 000 - 230 000 net
DevOps Middle умеет самостоятельно выполнять детально сформулированные задачи, но полного понимания предметной области еще нет. Работодателей больше интересует понимание основных типов данных в языках программирования. Например, стек, очередь, массив, когда какие из них применяются, когда использовать.
Требования:
- Базовое администрирование Linux.
- Docker и Kubernetes.
- Траблшутинг.
- Понимание и применение практик, опыт работы с метриками.
- Опыт написания плейбуков Ansible, задач в Jenkins.
- Работа с мониторингом.
Зарплата — 190 000 - 250 000 net
Senior умеет решать абстрактно сформулированные задачи, принимает решения и берет на себя ответственность за результат. Знает, когда нужно подключить к задаче коллег, координировать их работу.
С одной стороны, Senior обладает более глубокими знаниями, чем Middle, и умеет все делать руками, с другой – уже начинает понимать верхнеуровневые процессы с точки зрения бизнеса.
Требования:
- Обязательно знать конкретное направление. Если CI/CD – знание hands on, с установкой с нуля, настройкой, направление проекта. Если стек Microsoft – Visual Studio, cmake для С++, инсталляторы.
- Знание трекинговых систем (например, Jira) – нужно уметь делегировать задачи и отслеживать результат.
- Базовое понимание бюджетирования, умение договариваться с бизнесом (если нужно купить железку, нужно объяснить, в чем будет ее ценность).
- Хорошее знание предметной области, большой багаж инструментария. Виртуализация, контейнеризация, агрегация логов, метрик.
- Понимание верхнеуровневого процесса организации и будущих шагов по развитию практик DevOps в компании, внедрения новых практик, системный подход.
Зарплата – в среднем 250 000 - 300 000 net, но может доходить до 400 000
Team Lead – точка контакта DevOps с бизнесом. На первом месте – управленческие soft-skills, а технические скиллы уже не так актуальны.
Должен обладать пониманием общей картины, а каких-то конкретных вещей уже может не уметь делать руками (когда-то умел, но навыки устарели)*.
* Это спорное мнение. Кто-то считает, что Team Lead должен уметь делать все. Но большинство респондентов сходятся на том, что ему достаточно верхнеуровневых знаний технической части.
Требования:
- Опыт в AWS, Google Cloud Platform, Terraform, Kubernetes.
- Подходы проектного менеджмента: Agile, как работать по Scrum.
- Оценка эффективности работы команды, работы с метриками: Mean time to detection (MTTD), Mean time to recovery (MTTR).
- Atlassian стек, метрики сходимости/расходимости.
- Решение проблемных задач.
- Умение переложить ИТ язык на бизнесовый, и наоборот. Навык жестких переговоров.
Карьерное развитие
Обсудили с респондентами варианты карьерного развития в DevOps и выбрали самые популярные:
Вертикальный рост: senior – manager/head of DevOps – архитектор – технический директор. Для этого должно быть глобальное видение процессов и хорошо прокачаны управленческие скиллы.
- Горизонтальный рост: повышение своей стоимости на рынке за счет прокачки технических скиллов.
- Переход в разработку: когда задачи подразумевают автоматизацию, работу с API, это увлекает и девопс со временем уходит в разработку.
Каждой организации нужно понимать, что для неё ИТ, сопутствующая это роль или основа бизнеса. Для компаний, у которых уникальность ИТ системы являются частью бизнес-модели на лицо тренд появления новых инженерных ролей. Во-первых, все начинают писать код и развиваться в этом, во-вторых классические инженерные роли разработчика, тестировщика и системного администратора заменяются на новые — Cloud-Native App Developer, SRE (Production Engineer), System Engineer, Platform (Infrastructure) Engineer, Test Automation Engineer, Security Automation Engineer и это не полный перечень. Рост этих людей происходит или на экспертном уровне или на организационном — Senior позиция, лидер команды до Product owner внутренних технических решений и CTO.
ТОП компаний-работодателей
Попросили наших респондентов перечислить компании, опыт работы в которых высоко оценивается на рынке:
Google, Amazon, Facebook, Luxoft, EPAM, Яндекс, Лаборатория Касперского, Mail.ru, Ecommpay, Тинькофф, Райффайзенбанк, Сбербанк, Флант, Express 42
В крупных компаниях есть как очень сильные команды, так и слабые. Уровень специалистов зависит от конкретного руководителя.
В компаниях поменьше DevOps-инженер будет выполнять также роль архитектора окружений и IT-систем. В энтерпрайзе, когда продуктов много, DevOps занимается релизами и CI/CD, а инфраструктурой будут заниматься архитекторы и админы. Возможны варианты, особенно в компаниях с матричной структурой. Если работодатель - не Гугл и Фейсбук, девопс-инженер - это и IT-архитектор, и разработчик, и сисадмин, и DBA, и релиз-менеджер.
Тренды
Что будет актуально
Спросили у наших респондентов, какие технологии будут актуальны в ближайшем будущем, и выбрали наиболее популярные ответы. Прокомментировал и дополнил Денис Васильев — Руководитель группы системного администрирования в АйТеко.
1) Внедрение AI – позволит автоматизировать рутинные процессы. Например, анализ логов, задачи, которые можно описать скриптом.
На рынке присутствует большое количество продуктов с элементами Ai/ML, позволяющих сократить затраты на тестирование и уменьшить количество ошибок в ходе разработки ПО. Системы анализа логов, которые трансформируются из технологических систем в полноценные ETL, аналитические системы оценки потребительского поведения также требуют очень активного использования AI/ML. Это ведет к значительному увеличению стоимости специалистов по тензорным вычислениям и обработке больших данных. В ближайшем будущем будут активно применять технологии AI/ML только консультативного характера. Директивные системы не будут использоваться из-за значительного недоверия к системам AI/ML. Так что написанное ИИ программное обеспечение в продуктивной среде мы увидим не скоро.
2) Kubernetes продолжит развиваться – будут уходить средства для разворачивания серверов (они нужны, если нет Kubernetes).
Сейчас многие уверены, что альтернативы Kubernetes нет, но это не так. Основным фактором здесь является технологическая усталость от контейнеризации на основе docker. Появляются интересные альтернативные варианты. Например, использование в REDHAT Linux (Centos, Fedora, Oracle Linux) другой технологии контейнеризации - podman, что в течении 3 лет с высокой вероятностью понизит долю использования Kubernetes на корпоративном уровне. Kubernetes не является silver bullet-инструментом для работы со всеми представленными технологическими площадками. В ближайшее время мы ожидаем появления новых сервисов на основе альтернативных специализированных процессоров. Swarm64 (процессор для работы с Postgresql), PaloAlto (процессор для анализа трафика) и «Эльбрус», в рамках импортозамещения. Альтернативы будут предлагаться, но в ближайшей перспективе Kubernetes останется лидером внедрения.
3) Развитие средств администрирования облачных экосистем. Своих и публичных (Terraform).
В российском сегменте происходит рост количества провайдеров облачных услуг. И заказчики становятся все более требовательными к непрерывной интеграции на основе различных систем CI/CD, мотивируя провайдеров предоставлять широкие возможности интеграции с использованием API. Возрастает необходимость развертывания различных продуктов для конечных пользователей, не являющиеся специалистами по технологическому стеку. Эти два фактора заставляют облачных провайдеров вкладывать ресурсы в развитие средств администрировании и масштабирования услуг. Заказчики очень редкой сталкиваются с проблемой интеграции CI/CD при выборе облачного провайдера.
У данной ситуации есть и обратная сторона. Многие разработчики решений с открытым кодом все чаще меняют политики лицензирования продукта для использования в облачной инфраструктуре, поэтому необходимо обращать внимание на политику лицензирования продуктов и модулей, которые будут использоваться у провайдеров облачных услуг.
4) Построение CI/CD с нуля в части облачных сервисов. Повсеместная унификация и стандартизация.
Унификация и стандартизация становятся необходимостью для непрерывной интеграции между системами в различных контурах в разных провайдерах. Со стороны бизнес-подразделений заказчика возрастают требования к стандартизации процесса разработки кода ПО. Это в свою очередь требует применения CI/CD со стороны всех участников процесса разработки и эксплуатации ПО. Облачный провайдер является непосредственным участником процесса на множестве этапов — выдвигаемые требования критически высоки. Возрастают требования к сотрудникам на всех этапах взаимодействия с ПО: использование систем контроля версий (GIT) и систем отслеживания ошибок (JIRA, Redmine), использование методологии Scrum на всех этапах.
Рекомендации
Курсы
Geekbrains от Mail.ru
Coursera
- EdX
Литература
Marko Luksa - Kubernetes in Action (есть русская версия)
Ramalho, Luciano - Fluent Python: Clear, Concise, and Effective Programming
- Reitz, Kenneth - The Hitchhiker's Guide to Python: Best Practices for Development
- Kim, Gene - The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations (описание всей экосистемы с областями применения)
- Kim, Gene - The Phoenix Project: A Novel About IT, DevOps, and Helping Your Business Win
Geerling, Jeff - Ansible for DevOps
- Nemeth, Evi - UNIX and Linux System Administration Handbook (есть русская версия)
Полезные Web сайты и инструменты
Wiki страницы Корнуэльского университета, содержит много полезной информации о работе IT-департамента в топовом университете мира.
- Калькулятор AWS ресурсов.
Тестирование доменов, очень полезно при разворачивании своего сервера и проверки, что у него всё хорошо настроено.
- Тестирование своего web сайта на соответствие лучшим практикам по настройкам безопасности заголовков.
Библиотека разных интересных статей.
- NixCraft - набор туториалов на все случаи Unix жизни.
Главные новости IT и OpenSource (комментарии не читать)
- Набор пошаговых инструкций с картинками для множества сервисов.
- Блог компании Флант – корпоративный блог на хабре
Если есть много свободного времени или большое желание познать Linux во всех деталях, то я очень рекомендую посидеть на Gentoo в реальной жизни, со всеми нюансами конфигурации. Но тратит много времени, и может развить ненависть к Windows, а нужно не забывать что всё это инструменты для решения задач, и у всех экосистем есть своя область применения. Я сейчас в основном пересел на Windows, для быстрого офисно-планового пространства, и разработки под Windows. По скорости работы приложений Windows часто выигрывает, несмотря на загроможденность.
YouTube
Подкасты
- DevOps Дефлопе– русскоязычный подкаст о DevOps.
- Выпуск о DevOps подкаста LovingIT.
Telegram-каналы