Приветствуем всех, друзья!
Когда за создание приложения или интернет-платформы берется большая группа людей и каждый отвечает за разные аспекты деятельности, может возникнуть неразбериха. И если веб-сервис перестает работать, можно услышать от коллег, мол, эта проблема по вашей части. Все перекидывают ответственность друг на друга, а по итогу в минусе остаются пользователи. Им нет дела до того, кто именно должен исправить поломку, ведь они хотят только положительный результат.
Чтобы сплотить разработчиков и сотрудников из поддержки, быстро решить проблему и устранить конфликт интересов, появилось направление DevOps.
Сегодня мы расскажем вам о таком специалисте, как DevOps-инженер: кто это такой и чем занимается, плюсы и минусы профессии, заработок и обучение.
Кто такой DevOps-инженер
Для начала поговорим, что такое DevOps. Это не инструменты и не сервисы. Это концепция, культура, целый комплекс методов, технологий и правил взаимодействия сотрудников из разных команд.
DevOps-практики направлены на объединение работников, устранение разрозненности и распределение ответственности за всю работу на каждого члена команды.
Несмотря на то что веб-разработчики трудятся над написанием кода, тестировщики ответственны за его проверку, а системные администраторы занимаются эксплуатацией, все участники, которые задействованы в создании продукта, берут на себя ответственность именно за конечный результат, а не только за свою часть работы.
Барьер между разработкой и поддержкой стал рассеиваться. Проблемы не перекладываются друг на друга, команда действует сообща, каждый пытается внести свою лепту в решение проблемы. В этом и состоит вторая составляющая DevOps-практик. Важно не только сплочение, но и реальное решение проблем.
Поэтому проекту нужны не конкретно DevOps-инженеры, т. е. люди, которые внедряют девопс-практики в коллективную среду, а тот результат, что они помогают достигать. В некоторых фирмах даже нет такой должности, а обязанности этого сотрудника поделены между всеми участниками проекта.
Простыми словами, DevOps-инженер – это специалист, который понимает, как проходят все этапы разработки, умеет автоматизировать процессы производства и способен выполнять работу сисадмина, разработчика, тестировщика и менеджера.
Хотя работодатели и готовы назначить заработную плату от 200 000 руб. и больше, все равно ощущается дефицит этих сотрудников из-за сложности обязанностей.
DevOps-инженер должен делать все для решения проблем при производстве и реализации продукта.
Для этого в работе специалисту необходимо придерживаться:
- Автоматизации всех процессов.
- Ускорения выхода продукта в свет.
- Моментальной обратной связи от потребителей.
Насчет автоматизации понятно: все повторяющиеся действия выполняются автоматически, быстро, отлажено и четко.
Второе – это важный пункт для заказчика. Всем производителям выгодно представлять свое творение раньше, чем конкуренты придумают что-то похожее. Это осуществимо благодаря слаженности в действиях всех частей команды проекта. И это самое единство организует DevOps-инженер.
Обратная связь от клиентов предполагает внесение корректировок и обновление приложения сразу после получения жалоб от пользователей.
По этим пунктам понятно, что обязанности DevOps-специалиста распространяются на все этапы жизненного цикла веб-продукта: от выбора архитектуры и написания кода до выпуска приложения и мониторинга отзывов пользователей.
Обязанности специалиста
Если ознакомиться с описанием вакансий на эту должность, можно заметить разнообразие требований к сотруднику. Сразу понятно, что работодатели ищут многопрофильного специалиста со знаниями во многих компетенциях. И не все до конца понимают, что именно должен делать DevOps-инженер в рамках своей должности. Поэтому мы расскажем о часто встречающихся требованиях.
DevOps-инженеры все процессы стараются автоматизировать, упростить и ускорить.
Они знают специфику задач своих коллег, учитывают пожелания и мнение заказчика. Эти специалисты склеивают воедино все части проекта и, как мы уже говорили, принимают участие в каждом этапе разработки и после нее.
Они участвуют в выборе архитектуры приложения, масштабировании, системы оркестрации. Инженер помогает настраивать сервера, автоматизирует тестирование, подготавливает окружение и среду разработки продукта, мониторит работоспособность всех инструментов и процессов, работает с облачными технологиями.
После релиза DevOps-специалист налаживает обратную связь от пользователей, внедряет улучшения и обновляет продукт.
Помимо этого, минимизирует затраты, налаживает работу всех специалистов, решает не один десяток мелких и часто срочных задач, организует совместную работу в команде и передачу опыта между коллегами.
Но это идеальная картина проекта.
В реальности же могут пропустить планирование, ошибиться с архитектурой, об автоматизации вспомнить перед самым релизом и прочие подобные ситуации. В этом случае задача DevOps-специалиста обеспечить бесперебойную работу и вывести команду из застоя.
Знания, умения и личные качества
DevOps-инженера можно назвать многопрофильным специалистом со знаниями из различных сфер IT-деятельности: программирования, мониторинга, работы с базами данных, операционными системами и системами сборки, оркестрации и конфигурации, облачной инфраструктуры.
Специалист обязательно должен знать несколько языков программирования. В первую очередь это необходимо для автоматизации. Пригодятся языки Python, Bash, Ruby, Go, PowerShell. Достаточно знать основы синтаксиса, скрипты для автоматизации, понимать объектно-ориентированное программирование.
Разбираться в операционных системах надо, чтобы определять сервер для установки приложения, среду для запуска, инструменты для работы, возможные ошибки, которые могут возникнуть. Нужно понимать общие принципы работы на любой операционной системе, но чаще используют Windows или Linux.
Хороший DevOps-инженер должен уметь разбираться и работать с облачными провайдерами. Они автоматизируют многие процессы и экономят время, силы и деньги, что будет полезно не только для специалиста, но и для клиента.
И вот еще тот минимум, что надо знать:
- системы оркестрации, такие как Docker и Kubernetes;
- системы конфигураций Chef, Ansible, Puppet;
- системы сборки GitLab, Jenkins;
- языки разметки JSON и YAML;
- базы данных;
- сервисы мониторинга и оповещений;
- сервисы логирования;
- настройки кибербезопасности;
- процессы CI/CD;
- английский язык;
- периодическая таблица DevOps.
Список того, что нужно знать и уметь DevOps-специалисту можно продолжать долго. Но только практикуясь станет понятно, что именно изучать и как.
Для DevOps-инженера важны и личные качества:
- системное мышление;
- внимательность;
- хорошая память;
- коммуникабельность;
- ответственность;
- работоспособность;
- исполнительность;
- быстрая обучаемость.
Это только основные требования. Конкретные условия зависят от работодателей.
Карьера и заработная плата DevOps‑инженера
На рынке наблюдается огромная нехватка DevOps‑специалистов. Это касается как России, так и зарубежных стран.
Вакансий достаточно много, особенно на специализированных IT-сайтах и сервисах по поиску работы. Больше предложений для сотрудников на полный день в офисе. Если же говорить о фрилансе, то тут меньше проектов.
Специалисты могут найти работу в банке, IT-компаниях и в любых других организациях, которые разрабатывают приложения или управляют большим количеством серверов. К примеру, DevOps‑инженеры есть в таких известных гигантах, как Amazon, Facebook, Netflix.
Но кроме крупных организаций, где надо объединить много разноплановых специалистов и команд, такой работник может пригодиться и более мелким предприятиям.
Часто на эту должность идут бывшие сисадмины, с которыми DevOps-инженеров иногда путают. Эти две должности может и похожи чем-то в определенном плане, но все же подход к работе у них разный. Системный администратор всегда знает, что ему надо выполнить завтра. Он имеет список задач, которому следует.
У DevOps-инженера такой роскоши нет. Сегодня он может заниматься одним, завтра делать совершенно другое, а послезавтра появится еще что-то новое, что необходимо для команды.
И если после года или два работы сисадмин изучит дополнительный язык для автоматизации, пройдет курсы или займется самостоятельным обучением, то вполне может стать DevOps-специалистом.
Или же DevOps-инженер может сразу получиться из выпускника университета или специализированного курса, из программиста или тестировщика. Практически любой может стать специалистом в этой области, нужно лишь желание учиться.
Новички на старте получают 40–80 тыс. руб., а средняя зарплата по России находится на уровне 100–200 тыс. руб.
В регионах DevOps-инженерам платят от 100 000 до 140 000 руб. В Москве и Санкт-Петербурге зарплаты выше: от 120 000 до 400 000 руб.
Для сравнения: американские специалисты в среднем получают 85–95 тыс. $ в год. Если переводить в рубли, то это около 500–550 тыс. руб. в месяц.
DevOps engineer может дорасти до системного архитектора или IT-директора и, соответственно, получать еще чуть больше.
Плюсы и минусы профессии
Как и все остальные, эта должность имеет и преимущества, и недостатки.
Достоинства:
- высокий заработок;
- востребованность;
- интересные задачи;
- перспектива карьерного роста.
Недостатки:
- непрерывное обучение;
- необходимость знать много из разных областей;
- возможны стрессовые ситуации и высокая нагрузка.
Как стать DevOps‑инженером
Если совсем нет никаких знаний в IT-области, легко и быстро начать работать не получится. Необходимо иметь предварительную подготовку.
Хорошо, если человек понимает процедуру старта приложений, в какой среде они развиваются, как найти и исправить ошибки. Идеально, если есть опыт работы разработчиком, тестировщиком или системным администратором.
В чем обязательно надо разобраться перед началом работы:
- освоить работу с локальными и глобальными сетями: уметь устанавливать, настраивать и управлять ими;
- как писать скрипты на каком-либо языке программирования;
- изучить объектно-ориентированное программирование;
- в чем состоит жизненный цикл разработки продукта.
Не помешает и английский язык для чтения документации и интерфейса.
Можно не увлекаться, т. к. для старта подойдет и минимальный уровень подготовки. С вышеперечисленными навыками можно начинать осваивать DevOps самостоятельно или же записаться на курсы.
Самостоятельное обучение
Для самостоятельного освоения профессии подойдут следующие ресурсы:
- еженедельная рассылка Devops Weekly – новости о DevOps;
- сайты DZone и DevOps.com;
- Slack-чат для программистов, где можно найти работающих DevOps-инженеров, попросить у них совет или задать вопрос;
- Telegram-чаты Devops Deflope и DevOps – новости, статьи, полезные ссылки и информация;
- YouTube-каналы Cloud Native Computing Foundation и DevOps Channel, на которых можно найти вебинары, конференции и другие полезные видео.
При самостоятельном обучении также помогут книги по DevOps.
Вот самые эффективные и полезные:
- Джин Ким, Кевин Бер, Джордж Спаффорд «Проект “Феникс”. Роман о том, как DevOps меняет бизнес к лучшему»
- Джин Ким, Джон Уиллис, Патрик Дебуа, Джез Хамбл “Руководство по DevOps”
- Дженнифер Дэвис, Кэтрин Дэниелс “Философия DevOps. Искусство управления IT”
- Джез Хамбл, Николь Форсгрен, Джин Ким “Ускоряйся! Наука DevOps”
Онлайн-курсы
При выборе онлайн-курсов можно руководствоваться следующими преимуществами:
- сжатые сроки для освоения профессии;
- выбор времени, места и длительности занятия остается за студентом;
- теория четко структурирована, подается в удобном формате;
- из домашних заданий можно сформировать портфолио.
Курсы для DevOps-инженеров можно найти на нашем сайте.
Некоторые из них представлены ниже:
- Профессия DevOps-инженер – Skillbox.
- Профессия DevOps-инженер PRO – Skillbox.
- Старт в DevOps: системное администрирование для начинающих – Skillbox.
- DevOps-инженер – Нетология.
- DevOps-инженер – GeekBrains.
Знаний после курсов будет достаточно, чтобы начать работать и стать востребованным сотрудником.
Заключение
DevOps-инженер связывает всех членов команды. Он понимает специфику процессов на каждом этапе, решает проблемы, автоматизирует, ускоряет и упрощает работу.
Если вас заинтересовала профессия, читайте специализированные книги, проходите курсы, глубже изучайте различные направления программирования. В результате вы сможете получить высокооплачиваемую работу с возможностью карьерного роста.
Оставайтесь с нами, подписывайтесь на рассылку и читайте полезные статьи сайта.
Еще увидимся!