Кто такой DevOps-инженер?
DevOps-инженер — это звено, которое связывает все этапы создания продукта: от написания кода до релиза. Спрос на труд этого специалиста растет из года в год, и даже начинающие могут претендовать на зарплату от 100 тыс. рублей. Вместе с DevOps-инженером из Ростелекома, а также автором одноименного курса в SkillFactory Вячеславом Светловыми разбираем по полочкам эту профессию.
DevOps — что это такое?
DevOps — это набор практик на стыке системного администрирования (Ops — Operations) и разработки (Dev — Development).
До внедрения DevOps при создании приложения группа разработки занималась написанием кода, а группа инфраструктуры поддерживала работоспособность серверов. С появлением DevOps-инженера вся команда сфокусировалась на одной цели — создании качественного продукта.
При отсутствии DevOps-инженера в компании практикуют ручное тестирование, ручное управление инфраструктурой, однако это создаёт несостыковки в разных частях кода. Как итог: низкое качество продукта, низкая скорость вывода продукта на рынок, сложности при масштабировании и демотивированные сотрудники, тратящие большую часть времени на рутинные задачи.
Что делает DevOps-инженер?
DevOps-инженер помогает синхронизировать этапы создания продукта: от написания кода до тестирования и релиза.
Этот специалист обладает обширными знаниями в IT и имеет «видение» продукта. Он ориентируется в инфраструктуре приложения, понимает принципы разработки и построения архитектуры продукта. Также DevOps-инженер — менеджер-практик. Он знает современные методологии разработки и жизненный цикл приложения.
Что же входит в основные обязанности DevOps-инженера?
- на этапе планирования проведение консультации об архитектуре и масштабировании приложения;
- мониторинг работоспособности сред и инструментов разработки;
- по возможности автоматизация некоторых стадий создания продукта (к примеру, организация автотестов);
- выстраивание коммуникации в команде;
- организация работы разработчиков, тестировщиков, сисадминов и менеджеров.
Где нужен DevOps?
DevOps-инженеры требуются в компаниях, которые занимаются разработкой программного обеспечения для себя или на аутсорс. Это может быть софт для сферы медицины, транспорта, образования, автомобильной индустрии и т.д.
Что ему нужно знать?
Так как DevOps-инженер — разносторонний и многопрофильный специалист, то для продуктивной работы ему важно обладать компетенциями в нескольких IT-направлениях. Требования в разных компаниях отличаются, но примерный круг знаний включает в себя:
- Опыт системного администрирования. Базовые знания Linux и сетей помогут плотно взаимодействовать с Ops-командой (командой инфраструктуры).
- Навыки разработки. DevOps-инженеру важно иметь представление о процессе разработки ПО и знания некоторых языков программирования (Python, Java, Go и др.). Не обойтись и без понимания, как написать обращение к API и обработать его ответ, а также умения работы с Git.
- Английский язык. Он нужен постоянно — огромная часть необходимой информации есть только на англоязычных сайтах.
Какие нужны софт-скилы?
Кроме навыков автоматизации и технического кругозора DevOps-инженеру следует развивать гибкие навыки. Особенно необходимо уметь работать в команде, так как DevOps-культура подразумевает плотное общение между командой разработки и командой инфраструктуры. Порой для того, чтобы добиться конечного результата, приходится искать компромиссы.
Насколько это востребовано и сколько получает DevOps-инженер?
Согласно прогнозам IDC, количество специалистов DevOps с 2019 по 2024 год возрастет в два раза. Также предполагается, что к 2024 году минимум 30% компаний внедрят полноценный цикл DevOps.
Заметен тренд перехода DevOps из нишевого инструмента в глобальный рынок, где имеется солидный потенциал для роста. За период карантина в 2020 году рынок вырос на 29,3%.
Зарплата DevOps-инженера варьируется от компании и навыков. Зарплата младшего специалиста DevOps в Москве составляет от 70 до 150 тыс. рублей в месяц, а ведущий специалист получит на руки около 250 тыс. рублей. Согласно порталу Хабр Карьера, во втором полугодии 2020 года средняя медианная зарплата специалиста DevOps составила 155 тыс. рублей.
Плюсы и минусы профессии DevOps-инженера
Плюсы профессии:
- Востребованность. Прямо сейчас на рынке хороших специалистов меньше, чем вакансий для DevOps-инженеров.
- Всестороннее развитие. Работа DevOps-инженера требует решения широкого спектра задач, а полученные навыки можно применять в различных сферах.
- Мало рутины. Задачи всегда разные и можно влиять на разные аспекты создаваемого продукта.
Минусы профессии:
- Необходимость большого багажа знаний и умений. На начальных этапах работы DevOps-инженеру может показаться сложным соединять объем знаний сразу из нескольких профессий.
- Часто ненормированный график. Проблемы с софтом случаются в любое время — упавший сервер придётся поднимать в любое время суток.
Как начать?
DevOps — не стартовая профессия в IT. Для этой работы нужны иметь за плечами общее понимание разработки и опыт работы. Более того, важно знать фундаментальные основы системного администрирования и сетей.
Лучше понимать тенденции рынка помогают профессиональные сообщества, куда можно обращаться за советами:
- DevOps Moscow — московское сообщество разработчиков, тестировщиков и сисадминов. Здесь сидят все организаторы московских DevOps-митапов и конференции DevOpsDays Moscow.
- DevOps_Ru — самый большой чат про DevOps.
- Ru_DevOps — еще одно русскоговорящее сообщество про DevOps.
- DevOps — крупнейшее сообщество специалистов по DevOps в соцсети LinkedIn.
Теоретические знания можно отрабатывать на онлайн-курсах. С их помощью удобно систематизировать знания.
На курсе «DevOps-инженер» от Skillfactory вы за 6 месяцев освоите ключевые инструменты и востребованные рынком технологии. Под управлением экспертов вы создадите портфолио архитектурных решений и подходов, научитесь уверенно рассказывать о них на собеседовании и осознанно внедрять в своих проектах.
После этого вы присоединитесь к сообществу специалистов-практиков, получите рекомендации экспертов по внедрению изменений, решению реальных проблем и удержанию фокуса на постоянных улучшениях.
GitLab — это комплексное решение для управления репозиториями Git, которое позволяет разработчикам эффективно сотрудничать, управлять кодом, автоматизировать процессы развертывания и следить за состоянием проектов. GitLab объединяет в себе инструмен...
Python-разработчики — это специалисты, которые используют язык программирования Python для разработки программного обеспечения, включая веб-приложения, системы автоматизации и проекты в области машинного обучения. Язык Python популярен благодаря про...
В мире, где технологии развиваются быстрее, чем новые слова появляются в слэнге подростков, выбор правильного курса программирования для вашего ребенка может стать настоящим испытанием. Сегодня мы погрузимся в лабиринты кода и алгоритмов, чтобы помо...
В этой статье мы расскажем о разных программах для программирования, какие из них подойдут новичкам и что предпочитают профи. Редактор кода Это специальная программа для написания и редактирования кода компьютерных программ. Она обычно предлаг...
Системный администратор — это важный специалист в любой организации, который следит за тем, чтобы компьютеры и сети работали без сбоев. В этой статье мы расскажем, кто такие системные администраторы, какие задачи они выполняют, какие навыки им нужны...
Сейчас почти каждый из нас всегда носит с собой смартфон. А кто делает все эти приложения, которыми мы пользуемся каждый день? Это мобильные разработчики. В этой статье мы расскажем о том, кто они такие и что делают. Вы узнаете, какие умения нужны,...