∞ Путь в профессию: интервью с инженером DevOps

Библиотека программиста продолжает серию интервью с представителями IT-индустрии. Наш корреспондент побеседовала с Алексеем Шараповым, Head of DevOps компании «ЦРПТ». Он рассказал о своем пути в отрасли, какие требования к кандидатам предъявляют работодатели и стоит ли считать DevOps профессией или только ролью.

Библиотека программиста: Добрый день, Алексей! Расскажите, пожалуйста, для начала о своем бэкграунде. Где учились, работали, прежде чем стать инженером DevOps?

Алексей Шарапов: Учился в Ярославском Государственном Техническом Университете по специальности «Органическая химия», но вскоре понял, что больше люблю разработку и все, что с ней связано.

Еще в университете я, читая разные статьи, наткнулся на самые первые упоминания DevOps. Это был примерно 2013 год, статья Барух Садогурского, которая меня невероятно впечатлила. Тогда было абсолютно непонятно что такое DevOps, кроме того, что этим занимаются парни, которые погружены в администрирование и разработку с одинаковой интенсивностью. Мне понравилось, загорелся идеей и решил для себя, что буду заниматься именно DevOps.

После окончания университета работал сначала на «Почте России», позже в небольшой компании фармацевтического завода, а разработкой занимался на фрилансе, искал клиентов на бирже Upwork. Со временем попал в «СберТех» в первую волну DevOps и закрутилось.

Б.П.: С чего начался ваш путь в профессию, почему решили уйти именно в DevOps?

А.Ш.: Мой путь в профессии начался с двух направлений параллельно. На основной работе я занимался администрированием парка серверов и в это же время разрабатывал сайты на фрилансе. После этого более глубоко погрузился в администрирование, Linux сервера. При этом разработку не бросал никогда, делал простые задачи, изучал Java и даже брался за задачи по разработке наравне с коллегами. Также проходил курсы по разработке на Java для более глубокого погружения, курсы по PHP и JavaScript, так как хотелось больше узнать о программировании изнутри.

Такой план действий изначально был выбран для понимания полного цикла как администрирования, так и разработки, изучения инструментов изнутри. И спустя пять лет таких упражнений стало более понятно, как строить процессы взаимодействия в командах.

Б.П.: Дайте свое определение DevOps.

А.Ш.: DevOps – это практики, направленные на взаимодействие между отделом разработки и отделом Ops, которые помогают быстрее поставлять продукт с меньшим количеством ошибок и проблем.

Б.П.: По вашему мнению, DevOps – это профессия или часть обязанностей?

А.Ш.: На мой взгляд DevOps – это часть обязанностей, процесс, но никак не профессия. Мне очень нравится, когда разработчики или администраторы глубоко погружаются в эти вопросы и сами могут решить большую часть проблем.

Б.П.: Опишите основные требования, которые предъявляют к специалистам разных уровней работодатели.

А.Ш.: Требования к специалистам с одной стороны растут, даже к джуниорам. С другой стороны – нехватка хороших инженеров DevOps позволяет на некоторые вещи закрыть глаза.

На данный момент я определяю требования к специалистам разных уровней следующим образом:

  1. Junior – это базовые знания Linux-администрирования, базовые знания одного-двух языков программирования, для старта этого бывает достаточно;
  2. Middle – к требованиями выше добавляются знания базовых инструментов контейнеризации, оркестрации, систем сборок, понимания принципов построения CI/CD процессов;
  3. Senior – ко всему прочему добавляется широкий бэкграунд в разных технологиях, а также умение правильно построить процесс и дать грамотную оценку задачи. Немаловажным является умение наладить контакт с коллегами. У специалиста, который будет в роли прокси-сервера между отделами, так называемые софт скиллз должны быть на высоте.

Б.П.: Опишите ваш типичный рабочий день.

А.Ш.: Типичный день обозначить очень сложно, так как каждый приносит что-то новое и интересное.

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

Б.П.: Какой стек технологий вы используете в работе?

А.Ш.: Стек технологий, который я использую в работе, достаточно широк. Это и K8S для запуска сервисов, GitLab CI для процессов CI (непрерывной интеграции), Ansible в связке с Python – для автоматизации всего.

Вокруг этих инструментов сосредоточен еще очень большой набор технологий. Например, Helmfile для накаток на разные среды, Argo CD в других проектах, иногда приходится писать на Go (например для экспортеров), где-то копаться в Java.

Б.П.: Какие технологии сейчас становятся более популярными, что учить, чтобы быть на шаг впереди остальных?

А.Ш.: Я бы выделил K8S, сейчас без него никуда. А также весь около K8S стек технологий. Это и Helm и GitOps-инструменты. Ну и облачные платформы – AWS и GCD идут впереди планеты всей и позволяют делать невероятные вещи.

Б.П.: К каким трудностям в профессии специалист DevOps должен быть готовым?

А.Ш.: Первое, что я выделил бы – понимание того, что коммуникации будут составлять достаточно большую часть вашей работы. Второе – вы должны всегда успевать за стеком разработчиков, за их изменениями и нововведениями. Ну и третье – отслеживать, что нового в индустрии, а новостей всегда много: K8S без Docker, Ansible без модулей и все в этом духе. Высокий темп в этой области превосходит многие другие.

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

Б.П.: Сколько лет вам понадобилось, чтоб вырасти до уровня senior? Что больше всего повлияло на ваш рост, как специалиста?

А.Ш.: До senior я морально вырос спустя семь лет с начала работы. Сейчас я лид направления DevOps в компании, руковожу лидами DevOps в группах разработки, но не бросаю и работу руками. Работаю с командами разработки, эксплуатации. Стараюсь уделять внимание и той и другой стороне.

На мой рост больше всего повлияли желание и увлеченность. DevOps как направление меня невероятно драйвит, а желание развиваться в профессии до сих пор такое же сильное, как и вначале карьеры.

Б.П.: Посоветуйте начинающим специалистам: как и где лучше получить знания, какие ресурсы будут полезны, что почитать и какие видеолекции, видео посмотреть, и прочее.

А.Ш.: В первую очередь, важен реальный опыт. Будь я на месте новичка в сфере – общался и советовался бы с опытными коллегами и не гнушался бы любой работы, которая будет развивать меня как специалиста.

Самая моя любимая книга для новичков – «Unix и Linux: руководство системного администратора», Немет Эви, Снайдер Гарт.

Полезно смотреть видеозаписи крупных российских и зарубежных конференций, таких как DevOpsConf, KubeCon, DockerCon.

Из ресурсов я читаю в основном блоги на официальных сайтах Docker, K8S, Red Hat, ну и Хабр, он до сих пор несет много полезной информации.

Выводы

Самостоятельно получить навыки и знания для работы инженером DevOps, судя по истории героя этой статьи, будет непросто. Вам понадобится много времени и сил на изучение необходимых в профессии технологий.

***

Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?

Можно учиться самостоятельно (долго) или пойти на курсы с преподавателями (быстро). Плюс нужно учитывать, что джунов много, конкуренция выше и работодатели повышают порог вхождения при найме на работу. Чтобы получить актуальные знания, мы в proglib.academy запустили курсы:

  • Основы программирования на Python.
  • Профессия Python-разработчик.
  • Алгоритмы и структуры данных.
  • Математика для Data Science.
  • Профессия Data Science.
  • Frontend Basic: принцип работы современного веба.
  • Профессия Фронтенд-разработчик.
  • Обработка естественного языка. Полный курс.

На подходе еще больше 10 курсов для взрослых и детей.

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

Библиотека программиста
12 июля 2017

Что такое Docker, и как его использовать? Подробно рассказываем

Разберем по косточкам, ведь Docker – это мощный инструмент, и огромное коли...