Чем занимается DevOps-инженер
Некоторые айтишники называют девопса «универсальным солдатом». Это связано с тем, что он работает на стыке сразу нескольких IT-направлений: разработки, тестирования и системного администрирования. При этом DevOps-engineer не заменяет занятых в перечисленных сферах сотрудников, а умело координирует и синхронизирует их деятельность.
В связи с многопрофильностью этого специалиста, большинство пользователей затрудняются ответить на вопрос, чем занимается DevOps инженер. Перечень должностных обязанностей для конкретного сотрудника напрямую зависит от компании, выпускаемой продукции и списка рабочих задач.
- унификация и автоматизация процессов разработки ПО;
- определение архитектуры будущих приложений;
- настройка системы оркестровки;
- создание облачной IT-инфраструктуры;
- участие в тестировании готовых продуктов;
- повышение отказоустойчивости и производительности сервисов;
- профилактика и устранение проблем;
- подготовка продуктивной среды к возможным внесениям изменений.
В результате деятельности DevOps-инженера компания получает автоматизированный процесс создания, настройки и релиза выпускаемого программного обеспечения. Для оперативного выполнения рабочих задач специалист использует широкий набор навыков. Так называемая «Периодическая таблица DevOps» содержит целых 120 инструментов, на изучение которых может уйти до 10 лет.
Для старта в профессии достаточно освоить несколько базовых hard skills:
- Программирование. Это основа, без нее двигаться вперед будет невозможно.
- Операционные системы. Для junior-специалиста это Linux, мидлам и сеньорам дополнительно потребуется Windows.
- Скриптовые языки. Начинайте с более доступного Phyton и постепенно двигайтесь в сторону Bash, Ruby или Go.
- Системы контроля версий. Самая востребованная — Git. Остальные (Mercurial, Bazaar, Darcs) можно освоить в процессе профессиональной деятельности, в рамках повышения квалификации.
- Облачная инфраструктура. Для начала советуем изучить Windows Azure или Oracle Cloud Platform.
- Базы данных. Например, MySQL, PostgreSQL, MongoDB.
- Контейнеры и их оркестровка. На старте потребуется хотя бы минимальный опыт работы с инструментами Docker Swarm и/или Kubernetes.
В итоге получается достаточно внушительный стек. Но это не всё. Главное, что должен уметь делать DevOps-engineer, — выстраивать взаимопонимание и хорошие рабочие отношения между всеми членами команды. Он выступает для остальных IT-специалистов в роли коуча и ментора, который всегда окажет поддержку, даст совет и оперативную обратную связь. Поэтому придется уделять внимание развитию коммуникативных навыков.
Где учиться на девопс-инженера
Хорошо, если к моменту входа в профессию у вас имеется трамплин в виде знания основ системного администрирования или программирования. При отсутствии такового на накопление теоретического и практического багажа уйдет минимум 2-3 года. Остановимся подробнее на каждом из возможных способов обучения.
Вуз
Преимущества обучения в вузе очевидны. Вы получите доступ к разложенному по полочкам и максимально понятному материалу, всегда сможете рассчитывать на оперативную обратную связь от преподавателей, пройдете практику под руководством опытного куратора. Кроме того, студенты университетов имеют возможность учиться на заочном отделении и параллельно зарабатывать на несложных проектах.
Девопс-инженер — относительно молодая профессия.
Еще каких-то 10–15 лет назад было сложно отыскать вуз для обучения конкретно по этой специальности. К счастью, сейчас такой проблемы нет. Сегодня в России насчитывается более сотни государственных и негосударственных университетов, в которых можно освоить направление DevOps.
- СПбНИУ ВШЭ
- НИУ МЭИ
- ЮФУ
- МТУСИ
- СПГУ
- ДВГУПС
- Финансовый университет (Москва)
Для поступления необходимо предоставить результаты ЕГЭ по математике, информатике и ИКТ, русскому и английскому языкам, физике. При нехватке баллов для прохождения на бюджетное место в некоторых вузах абитуриентам разрешают сдавать внутренние вступительные экзамены.
Ссуз
Среднее специальное образование также даст вам хорошую базу для погружения в профессию девопс-инженера. Однако в ссузах нет отдельных программ по DevOps-направлению. Поэтому при намерении поступать в техникум или колледж рекомендуем выбрать специальность «сетевой и системный администратор» и параллельно изучать программирование.
Онлайн-курсы
Самый быстрый способ стать DevOps-engineer — записаться на соответствующие online-курсы. Большинство удаленных программ получится освоить буквально за 1,5–2 года, при этом вы будете учиться по удобному графику и выполните несколько практических задач, которые сможете включить в портфолио.
Чтобы не тратить время на поиск хороших курсов для DevOps инженеров, рекомендуем выбирать программы для новичков на базе авторитетных образовательных платформ (Skillbox, Нетологии, GeekBrains, SkillFactory, LinuxTrainingCenter, Яндекс.Практикума, Udemy), а после — продолжить обучение по более продвинутым программам.
Самостоятельное обучение
Процесс изучения сферы DevOps, как и любого другого IT-направления, является непрерывным. После освоения одной программы придется приступать к следующей. В финансовом плане такая схема обучения выглядит очень затратной.
Поэтому, если вы не располагаете достаточными средствами, не отчаивайтесь. Стать девопс-инженером можно и самостоятельно. Без разработанных методистами программ и опытных преподавателей будет очень сложно. Но если справитесь, то станете настоящим гуру DevOps.
Для общего понимания особенностей этого направления рекомендуем сначала пройти теоретическую часть. Освоить азы вам помогут книги. Держите список:
- «Компьютерные сети», Эндрю Таненбаум, Дэвида Уэзеролл;
- «Unix и Linux: руководство системного администратора», Немет Эви, Снайдер Гарт;
- «Bash. Карманный справочник», Арнольд Роббинс;
- «Автоматизация рутинных задач с помощью Python. Практическое руководство для начинающих», Эл Свейгарт;
- «Запускаем Ansible», Лорин Хоштейн;
- «Kubernetes в действии», Марко Лукша.
После изучения базы приступайте к прохождению бесплатных онлайн-курсов. Как правило, они представлены в формате видеоуроков. С одной стороны, это хорошо — можно смотреть записи в любое время. С другой, в большинстве случаев отсутствует или очень затруднена обратная связь с преподавателями. Придется осваивать учебный материал и искать дополнительную информацию самостоятельно. Но в этом-то и смысл. Чем больше проблемных вопросов вы решите без сторонней помощи, тем больше в итоге будете знать и уметь.
Онлайн-платформы, предоставляющие возможность бесплатно выучиться на DevOps-инженера:
- Epam Training Center;
- Школа DevOps;
- IT академия;
- CloudMTS;
- Слёрм.
Несколько полезных видеоуроков на YouTube:
- Cisco Packet Tracer. Курс молодого бойца;
- DevOps;
- Основы GNU/Linux и подготовка к RHCSA;
- Практики и инструменты DevOps;
- Основы Docker. Большой практический выпуск.
Единственный минус самостоятельного обучения профессии DevOps-engineer заключается в том, что по итогу у вас не будет качественного портфолио. Здесь есть два выхода из ситуации:
- Предпочтительный. Найдите опытного наставника. Он будет не только направлять вас в нужное русло, но и подкинет 2-3 рабочие задачи, которые после выполнения можно будет оформить в кейсы.
- Запасной. Погуглите, наверняка вам удастся найти в сети описание хотя бы 1-2 проектов, реализованных девопс-инженерами. Попробуйте на их основе составить для себя несколько интересных ТЗ.
Если ничего не приходит на ум, загляните сюда. Здесь опытный девопс-инженер приводит примеры реальных задач, с которыми сталкивался в процессе профессиональной деятельности. Готовых ответов нет, но есть полезные комментарии и ссылки. Немного усердия, и вы сможете найти правильные решения. Начинайте с наиболее понятных для вас ТЗ и двигайтесь от простого к сложному.
Как устроиться на работу
Готовы ли вы стать лидером и идейным вдохновителем IT-команды? Чувствуете ли вы уверенность при работе с необходимыми для DevOps-engineer инструментами? Имеется ли у вас портфолио, включающее решение практических задач? Если на все три вопроса вы дали утвердительный ответ, пора заняться трудоустройством.
Поскольку от девопс-инженера напрямую зависят качество реализуемых продуктов и в целом показатели эффективности компании, новичкам на эту должность попасть очень сложно. При отборе кандидатов работодатели рассматривают в первую очередь анкеты профессионалов, готовых брать на себя ответственность и координировать деятельность целой продуктовой команды. Чтобы повысить свою конкурентоспособность, советуем сначала рассмотреть вариант стажировки.
Чтобы откликнуться на объявление, вам понадобится хорошее резюме. Составить его можно самостоятельно или с помощью онлайн-конструктора MyResume.
Второй вариант предпочтительнее. Готовые шаблоны разрабатываются HR-специалистами с учетом всех требований работодателей, поэтому вам не придется тратить время на детальное продумывание структуры и содержания своего резюме.
Чтобы не терять времени, откликайтесь на каждую подходящую вакансию. Профессия DevOps-инженер предполагает владение множеством hard skills, но каждая компания предъявляет отдельные требования к кандидатам с учетом особенностей своей деятельности. Поэтому не забывайте редактировать резюме под условия конкретных объявлений.
Возможно, вы не получите приглашение на собеседование после первого отклика, но рано или поздно это всё равно произойдет. Приготовьтесь к тому, что на встрече будут проверять вашу техническую базу.
Примеры вопросов на интервью:
Что такое IP-адрес?
Между двумя коммутаторами из разных сетей стоит роутер. Что происходит, когда компьютер A собирается направить данные в компьютер B?
Назовите отличия TCP от UDP.
Что такое MX-запись?
На каких языках вы умеете скриптовать?
Назовите особенности контейнерной визуализации.
Какие системы анализа кода вы используете?
Как ускорить базу данных?
Ответили? Поздравляем, вы успешно прошли трудный путь и готовы работать по специальности. При наличии каких-то непонятных моментов подтяните знания и вернитесь к вопросу трудоустройства через 3-4 месяца.
- Получить фундаментальные знания.
- Приобрести необходимые скиллы.
- Решить 2-3 практические задачи.
- Оформить портфолио.
- Заполнить резюме.
- Пройти стажировку.
- Найти постоянную работу.
- Непрерывно прокачивать hard и soft skills.