array(2) {
  ["en"]=>
  array(10) {
    ["id"]=>
    int(7)
    ["order"]=>
    int(0)
    ["slug"]=>
    string(2) "en"
    ["locale"]=>
    string(5) "en-US"
    ["name"]=>
    string(7) "English"
    ["url"]=>
    string(27) "https://solvery.io/blog/en/"
    ["flag"]=>
    string(93) "https://solvery.io/blog/wp-content/plugins/polylang-pro/vendor/wpsyntex/polylang/flags/us.png"
    ["current_lang"]=>
    bool(false)
    ["no_translation"]=>
    bool(true)
    ["classes"]=>
    array(5) {
      [0]=>
      string(9) "lang-item"
      [1]=>
      string(11) "lang-item-7"
      [2]=>
      string(12) "lang-item-en"
      [3]=>
      string(14) "no-translation"
      [4]=>
      string(15) "lang-item-first"
    }
  }
  ["ru"]=>
  array(10) {
    ["id"]=>
    int(10)
    ["order"]=>
    int(0)
    ["slug"]=>
    string(2) "ru"
    ["locale"]=>
    string(5) "ru-RU"
    ["name"]=>
    string(14) "Русский"
    ["url"]=>
    string(94) "https://solvery.io/blog/ru/interesting/kak-vyrasti-iz-middle-razrabotchika-v-devops-inzhenery/"
    ["flag"]=>
    string(93) "https://solvery.io/blog/wp-content/plugins/polylang-pro/vendor/wpsyntex/polylang/flags/ru.png"
    ["current_lang"]=>
    bool(true)
    ["no_translation"]=>
    bool(false)
    ["classes"]=>
    array(4) {
      [0]=>
      string(9) "lang-item"
      [1]=>
      string(12) "lang-item-10"
      [2]=>
      string(12) "lang-item-ru"
      [3]=>
      string(12) "current-lang"
    }
  }
}
06.05.2021

Как вырасти из Middle разработчика в DevOps-инженеры?

Как вырасти из Middle разработчика в DevOps-инженеры?

Разобрались, кто такой DevOps-инженер, какие задачи решает, и что нужно, чтобы вырасти из мидл разработчика в девопс инженера.

Как стать DevOps-инженером

Чем занимается DevOps-инженер

Кто может стать 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.

Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
()
x