Разобрались, кто такой DevOps-инженер, какие задачи решает, и что нужно, чтобы вырасти из мидл разработчика в девопс инженера.
Кто может стать DevOps-инженером
Как стать DevOps-инженером
Если вы middle-разработчик или системный администратор, то ваш путь в DevOps лежит через изучение самой методологии и предметной области, в которой работает ваша компания, разрабатывается проект. Затем необходимо будет прокачать программирование или системное администрирование, а также навыки руководства командой. Естественно, освоить одну или несколько систем постановки задач, контроля версий продукта, научиться их интегрировать.
Есть две основные отправные точки к позиции девопса. Первая — позиция middle-разработчика, который кроме написания кода хочет решать глобальные задачи. Вторая — позиция сисадмина, изучающего программирование, новые серверные технологии, совместную разработку. DevOps engineer — одна из логичных следующих должностей для обоих.
Обычно девопсами становятся когда больше некому и занимает это довольно ощутимое время. Если вы — middle developer, которому скучно просто писать код? Или сисадмин, хороший сисадмин, которому надоело разворачивать одно и то же по нескольку раз? Уперевшись в стеклянный потолок, многие сворачивают, но можно его и пробить.
В крупных компаниях составляют индивидуальные планы развития — настаивайте на включение в него стажировки, дублирования действующего девопса. Но не везде это работает. В таком случае можно воспользоваться внешним ресурсом.

Это либо курсы, либо прямое наставничество. На курсах вы узнаете много нового, заплатите за пересказ теории, которую опубликовали миллион раз в разных видах.
Работа с наставником — другой вариант развития ваших навыков. Идите к нему за планом, по которому вы будете изучать теорию самостоятельно, выполнять учебные задания или вести учебные проекты. А ментор с высоты текущей позиции и опыта подскажет, какие теоретические выкладки работают, а какие нет, на изучение каких областей стоит тратить время, а на какие нет.
Но мы забегаем вперёд. Начнём по порядку.
Чем занимается DevOps-инженер
Цикл жизни программного обеспечения подразумевает довольно длительный — до 75-80 % от всего цикла — период развития. В этот период клиенты интенсивно используют продукт, дают обратную связь по функциональности и удобству. Пользователи находят ошибки, пропущенные тестировщиками, высказывают мысли и по UX/UI дизайну. Обратная связь поступает в службу эксплуатации или службу поддержки — в контексте нашей статьи это одно и то же.
Тестировщики тоже не сидят без дела. Находят новые баги — ошибки и неточности, корректируют UX — User eXperience, пользовательский опыт — см. Почему UX-дизайн — это круто, вносят предложения по дизайну интерфейса.
Служба поддержки тоже генерирует обратную связь — что изменить для удобства работы и обслуживания.
Задача девопс-инженера — проанализировать обратную связь, наметить пути дальнейшего развития продукта, сформировать график выхода новых версий, синхронизировать разработчиков, тестировщиков и службу поддержки и объединить их в одну команду, которая эффективно решает задачи развития продукта.
Процитируем одного из наших менторов Александра Шуляка, Senior Site Reliability Engineer — Divido.
Девопс — это сильно посередине между operations и разработкой, но требует довольно ощутимых знаний в обоих областях. Так что придётся и писать свои инструменты, и работать с инфраструктурой. Плюс придётся довольно много взаимодействовать с клиентами, будь то своя собственная компания или аутсорс.

Соответственно, девопс-инженер должен эту методологию внедрять и развивать. Хороший специалист может смотреть на продукт с позиции клиента и с позиции разработчика и находить пути развития, пути удовлетворения требований клиента, которые не потребуют от разработчиков чудес. Есть чудесная русская метафора «меж двух огней» — пожалуй, devops-инженеру она подходит как нельзя лучше.
Деятельность devops-инженера можно сравнить с проджект менеджером — только треугольник у PM другой.
Кто может стать DevOps-инженером
Процентов 85-90 девопсов выходят из разработчиков или сисадминов.
Современное приложение, современная информационная система — это не просто программа-калькулятор. Это, как правило, трёхкомпонентная структура — сервер базы данных, сервер приложений, клиентские приложения — веб-приложение, мобильное приложение, «толстый клиент». Сервер базы данных отдаёт информацию для обработки серверу приложений. Сервер приложений обеспечивает передачу данных, обработку данных, взаимодействие с клиентскими приложениями или выполнение клиентских приложений.

Клиентское приложение нужно, чтобы пользователь мог получать от приложения или информационной системы необходимую информацию, видоизменять и преобразовывать, дополнять её.
Невозможно организовать работу продуктовой команды не представляя, как работает вся связка. Практически нереально ставить задачи не представляя, сколько времени займёт реализация — а это может сделать только опытный программист. Необходимо представлять себе возможности операционных систем, на которых работают сервера и клиентские приложения, виртуализацию — а это хорошо знает системный администратор.

Вот что говорит по этому поводу ментор Solvery Андрей Борю, Principal Engineer — Snapcart из Убуда, Индонезия.
Я бы сказал, что в девопсов можно развиваться из программистов или сисадминов, так же можно учиться с нуля, но это сложней.
Есть ещё один путь в devops-инженеры — из поддержки. Он более длинный, так как девопс-инженер без перечисленных выше знаний никому не нужен, он не сможет эффективно функционировать.
От devops-инженера требуется знание предметной (она же технологическая) области. Например, девопс на проекте облачной бухгалтерии должен сам разбираться в бухучёте на уровне главного бухгалтера крупной организации. Девопс на приложении по обработке фотографий должен очень хорошо разбираться в цифровых изображениях. Иначе он не сможет понять запросы пользователей, закрыть их боли. И продукт умрёт на середине планируемого цикла жизни.
Получить опыт, достаточный для девопс-инженера, вряд ли возможно, оставаясь на позиции джуниора. Поэтому в девопсы идут либо middle, либо senior developers.
Интервью с DevOps-инженером
Мы поговорили с действующим специалистом, Александром Шуляком из Кембриджа, Великобритания, Senior Site Reliability Engineer — Divido, ментором Solvery.
Всем ли подходит позиция девопса?
И да и нет. Девопс находится посередине между operations и разработкой, должен иметь довольно ощутимые знания в двух областях. Придётся и писать свои инструменты, и работать с инфраструктурой. Позиция DevOps подойдет тем, кто хочет в равной степени работать в этих двух областях. Плюс нужно довольно много взаимодействовать с клиентами, будь то своя собственная компания или аутсорс. Поэтому развитые навыки коммуникации или soft skills так же необходимы.
Куда развиваться потом?
В самом DevOps’e на самом деле можно развиваться. Но есть много смежных Operations направлений вроде SRE/PlatformOps/CloudOps/DevSecOps и т.д. Например, DevSecOps сегодня — очень популярное направление, подразумевает знания как DevOps, так и безопасности.
Но если говорить только про DevOps, то вертикальный рост — это DevOps менеджер, т.е. менеджер команды. А горизонтальный— solution architect, консультант. Для таких позиций необходимы менеджерские навыки, отличные навыки коммуникации, так как на этом уровне предполагается работа с клиентом/эффективное управление командой/умение делегировать рутинные задачи.
Чтобы ты посоветовал для старта?
Для тех, кто хочет начать карьеру DevOps я могу посоветовать не бояться пробовать новые технологии, внимательно читать ошибки в консоли и документацию и просто начать делать свои проекты дома. А так же советую подтянуть английский язык, так как все свежие статьи/обновления документации выходят сначала на английском языке. Плюс, английский откроет возможности для сотрудничества с западными компаниями, которые сейчас активно нанимают на удаленку и предлагают очень хорошие зарплаты.
Тем, кто уже работает как middle devops, могу посоветовать глубже вникать во все задачи,а не просто копипастить готовый код. Ведь именно понимание процессов и технологий позволит в будущем занять ответственные Senior/Lead позиции.
Ты можешь помочь стать DevOps-инженером?
Да, конечно. И мой опыт этому поможет. Я начинал свою карьеру около семи лет назад системным администратором. Далее у меня было несколько вариантов развития: подтянуть кодинг и начать карьеру разработчика либо углубится в админство. Но мне хотелось совместить и то и другое в одной профессии. Так я пришел в DevOps.
В то время DevOps только начал набирать обороты, большого количества вакансий на рынке не было. Особенно сложно было найти Junior позиции. Я откликался на множество вакансий, часть из которых было больше связано с админством, чем в DevOps. Наконец мне удалось пройти собеседование в аутсорс средних размеров. Компания расширялась и решила выделить отдельного человека для DevOps задач.
Так я оказался Junior DevOps инженером, единственным в компании.
В такой ситуации выбора не было, приходилось прокачивать свои знания семимильными шагами. Это было стрессово, но эффективно. Через полгода я проводил собеседования в DevOps отдел, которым затем успешно заведовал.
Такой темп работы позволил мне успешно пройти собеседование в рижский офис компании Accenture. Работа в крупной корпорации отличалась от аутсорса в Минске более спокойным темпом, распределением задач, менеджментом и коммуникацией с клиентами на английском.
Жить в Минске или Риге мне не хотелось, выбор пал на Великобританию. К тому моменту моего уровня английского было достаточно для прохождения собеседований и работы в англоязычной среде. Сейчас я работаю Senior Site Reliability инженером в финтех отрасли.
Спасибо тебе за обстоятельные подробные ответы!
А что потом?
Допустим, вы стали крутым devops engineer. Коммуникация в команде налажена, тикеты решаются на счёт «раз», с продакт менеджером полное взаимопонимание. Приложение живёт и развивается практически без вашего участия, вы спокойно можете изучать смежные области, прокачивать другие навыки. В общем, опять стеклянный потолок.
Может ли девопс уйти в менеджеры проекта или продукта? Вот что думает ментор ментор Solvery Андрей Борю.
Человеку с опытом девопса это, скорее всего, будет не сложно. Но надо ли оно ему? Зачастую девопсы работают в тесном контакте с менеджерами, что создает эффективную команду.
Процитируем мнение ещё одного ментора. Сергей Байдин, Руководитель отдела разработки — Stream (MTS) из Перми, Россия.
Девопсу всегда есть куда развиваться.
- Можно погружаться в технологии: становится экспертом в девопсии.
- Имея богатый багаж знаний и опыта можно уйти в менеджмент — развивать девопсов и за счёт множества «рук» решать более глобальные задачи.
- В случае наличия опыта разработки можно попробовать двигаться на позицию разработчика.
В менеджмент можно уйти с любой позиции — было бы желание. Как правило, желания у разработчиков идти в менеджмент нет. Часто в менеджмент уходят в силу обстоятельств. Но если спросить у разработчика или девопса, хочет ли он уйти в менеджмент — с большой долей вероятности он ответит «нет!»
Подводя итог: работа devops engineer — интереснее, ответственнее, напряжённее и доходнее, чем у разработчика или сисадмина. И самый короткий, интенсивный и эффективный путь к этой позиции — вместе с ментором Solvery.
Главное, о чём стоит помнить: у вас есть 15 минут на бесплатное общение с ментором. За это время вы поймёте, подходит ли вам наставник или стоит поискать ещё. А когда найдёте — прокачаете навыки так быстро, как сможете сами.
Учитесь, растите и развивайтесь вместе с Solvery.