Однако, как и в других сферах, в digital важно «держать руку на пульсе» и понимать, каких специалистов действительно ждут на рынке. В настоящее время одной из самых перспективных и высокооплачиваемых профессий является DevOps-инженер. О том, с какими задачами придётся столкнуться молодым специалистам на этой должности и где освоить необходимые навыки, рассказал Игорь Никифоров, ведущий DevOps-инженер крупной компании.
Расскажите, что входит в обязанности DevOps-инженера и какие требования предъявляются к этой профессии сегодня?
Важно понимать, что DevOps-инженеры — это многопрофильные специалисты, совмещающие в себе обязанности сисадмина, разработчика, тестировщика и менеджера. Они должны одинаково хорошо уметь автоматизировать процессы, руководить командой, программировать, быстро осваивать новые инструменты и не бояться сложных и незнакомых задач.
Кроме того, предъявляемые требования к этой профессии во многом зависят от компании и того рынка, на который она ориентируется — Европа или США. Каждый инженер отличается определенной долей технической экспертизы или опытом в тех или иных технологиях. Проведя не одно собеседование, могу сказать, что у большинства из них наблюдается схожая проблема – они могут знать все новомодные технологии, но совершенно не понимать их работу изнутри.
Что касается меня, сейчас я работаю в компании, занимающейся разработкой платформы для помощи онкологам в подборе терапии, и отвечаю за все процессы, связанные с IT-инфраструктурой: прототипирование архитектуры и автоматизация внедряемых решений из разных областей — кластеры баз данных, инфраструктура мониторинга, сбор логов сообщений как приложений, так и самой инфраструктуры. Также консультирую других инженеров и разработчиков.
Из основных амбициозных задач, которые сейчас ставлю перед собой для развития нашей платформы — проектирование внутреннего решения на базе Kubernetes, позволяющее за считанные минуты развернуть готовые кластера.
Получается ли совмещать основную работу с другими проектами?
Да, свободное время я посвящаю развитию собственных проектов, связанных с автоматизацией инфраструктуры на Ansible. Большинство из них выросли из личных потребностей и отсутствия аналогов на рынке, их цель — помочь в решении определённых задач, с которыми рано или поздно сталкивается любой DevOps-инженер. Часть из проектов выложены как open source в GitHub, другие планирую закончить в ближайшее время и так же разместить в открытом доступе.
Какие советы можете дать тем, кто только делает первые шаги в DevOps?
Первый и, на мой взгляд, самый важный совет — изучить базовый стек любого инженера — Linux — и освоить основные навыки работы с сетями. Уже это позволит не бояться нестандартных задач и даст понимание, что практически все новейшие технологии — это «обёртка» уже существующих решений.
Также для хорошего DevOps-инженера важно не переставать учиться и следить за тенденциями развития IT. Рынок меняется очень быстро, поэтому если вы поняли, что изучили что-то идеально, вероятнее всего, оно уже устарело.
С другой стороны, для использования некоторых подходов и технологий порой требуются глубокие знания, широта взглядов и умение оценить реальную необходимость, а это приходит со временем и увеличением числа выполненных проектов. Скорее всего, вам не удастся избежать ошибок на этом пути, но расширение своих знаний и компетенций поможет принять верное решение в следующий раз.
Последним пунктом назову умение работать в команде. Специалист девопс синхронизирует все этапы разработки и обеспечивает бесшовное взаимодействие нескольких отделов. Для этого он должен уметь грамотно доносить и показывать ценность своих идей, планировать и правильно расставлять приоритеты по задачам.
Где сегодня учиться DevOps?
Во многом ответ на этот вопрос зависит от того, с каким стеком технологии вы планируете работать. Самое лучшее обучение — это практическое изучение новой технологии в контексте решаемой задачи.
Что же касается ресурсов, для получения теоретических знаний могу порекомендовать Udemy, на нём собрано много отличных курсов по различным технологиям, которые актуальны на сегодняшний день. Также любому инженеру обязательна к прочтению SRE Workbook от Google.
Для меня отличным способом подтверждения полученных знаний в IT области является сдача сертификации от вендоров. Она не только помогает закрепить полученные знания, но и повысить свою востребованность как специалиста, особенно, если речь о зарубежном рынке.
В данный момент у меня более 14-ти IT-сертификаций, также в ближайшее время планирую закончить сдачу сертификаций Confluent и HashiCorp. Но всё это не отменяет необходимости работы на реальных проектах, по этой части хочу продолжать делать упор на Kubernetes и облачные технологии.
Что, на ваш взгляд, ждёт эту сферу в будущем?
Сложный вопрос. IT-технологии развиваются слишком стремительно и предсказать, что будет в долгосрочной перспективе, практически невозможно. Самый очевидный прогноз для российского рынка — это масштабный переход компаний в облака и развитие подхода multi-cloud. Думаю, можно ожидать увеличение популярности DBaaS (база данных как сервис) и serverless (бессерверные технологии), также продолжит активно развиваться Kubernetes. Основным трендом на ближайшие годы, на мой взгляд, станет DevSecOps, где безопасность начинает внедряться с самого начала жизненного цикла приложения.
Ну а самой большой проблемой Игорь Никифоров называет кадровый голод. Сейчас наблюдается дефицит специалистов абсолютно любого уровня, и профессия девопс инженера востребована как никогда.