Идеальный девопс: какой он?
С развитием корпоративных и клиентских цифровых продуктов резко выросла популярность методологии DevOps и спрос на специалистов, которые могут стать тем самым связующим звеном между группами разработки и операционной поддержки.
Несмотря на то, что DevOps-инженеры пока не возглавляют топ самых востребованных профессий, поиск специалиста в штат долог и тернист. По нашим оценкам, он занимает от двух месяцев до полугода и более. При этом, как показывает практика, требования к сотрудникам часто противоречивы. Ни работники, ни работодатели часто не понимают, что будет входить в обязанности инженера. Из-за этого растет обоюдное недовольство.
Мы попытались собрать вместе наиболее значимые характеристики, которые помогут соискателю на вакансию DevOps найти свое место в большой ИТ-компании (или в ИТ-разработке enterprise-предприятия) и развить профессиональные скилы.
Чем обычно занимается DevOps-инженер?
Самое главное, чего обычно ждут от инженера его руководители — это помощь в ускорении вывода продукта на рынок, того самого пресловутого time to market. DevOps может добиться этого с помощью автоматизации жизненного цикла ПО, готовности и умения писать соответствующие скрипты. Главная задача инженера DevOps — минимизация человеческого влияния на доставку релизов до зоны продуктива, а это означает, что улучшается жизнь как у разработки, так и у эксплуатации.
Какое образование нужно DevOps-инженеру?
Как и во многих других областях, диплом особого значения не имеет. Однако в крупных компаниях предпочитают нанимать выпускников технических вузов, обладающих широким кругозором. Дело в том, что DevOps в своей работе может сталкиваться с различными пластами инфраструктуры, поэтому ему нужно понимать, как устроены операционные системы, знать скриптовые языки (пусть не все, но хотя бы один, например, bash, python), уметь настраивать web-серверы, балансировщики, базы данных (mysql, postgresql, mongodb), обладать навыками администрирования, траблшутинга.
Какие компетенции нужны начинающему «девопсу»?
Анализируя вакансии в открытом доступе, мы видим, что чаще всего рядом с термином DevOps упоминаются слова «контейнер» и «Kubernetes». Знания, как управлять такими средами, конечно, важны, но начинать все же нужно с базовых вещей. Самая главная из них — понимание, как работает Linux — наиболее популярная операционная система сегодня не только на Земле, но и в космосе. Она работает, например, на марсоходе, запущенном NASA в феврале 2021 года. Linux лежит в основе большинства современных сервисов и ПО для различных девайсов, поэтому обучение работе с ОС — ключевой навык для ИТ-инженера. К счастью, чтобы познать азы, уже не надо читать огромные талмуды. Достаточно установить Linux (это даже проще, чем установка Windows), скачать исходный код и начать читать документацию.
Помимо этого, DevOps должен быть немного программистом. Как уже было сказано, основная его цель — минимизация человеческого фактора. И проще всего добиться этого с помощью автоматизации процессов.
Сетевые компетенции тоже очень важны. Знаниями о том, как работает сеть, к сожалению, обладает далеко не каждый первый DevOps. И даже не каждый третий. А между тем, это базовая инфраструктура, сбои в которой грозят длительными даунтаймами в работе всей команды. Основы сетевых технологий и протоколов (маршрутизация, vpn, nat, dns, dhcp), владение инструментами диагностики — это must have и для начинающих, и тем более опытных инженеров.
Любопытство — это плюс
Как мы успели заметить, DevOps-инженеры часто гики, они любят использовать новые инструменты. И это на самом деле нередко помогает работе, так как каждая новая версия продукта для автоматизации ускоряет развертывание кластеров, проведение мониторинга, сбора логов и т.д. Поэтому определенным плюсом для соискателей является умение работать с такими (относительно) новыми средствами управления конфигурациями, как Ansible и Puppet, иметь опыт работы с OpenShift, Kubernetes. А стремление привнести в команду новые знания, передавать свой опыт будет дополнительным преимуществом.
В IDC утверждают, что к 2024 году 70% приложений во всем мире будут разворачиваться в контейнерах, а количество продуктов, созданных полностью в соответствии с методологией DevOps увеличится до 35%. Это означает, что возрастет роль инженеров, которые готовы аккумулировать в себе функции и администратора, и программиста. Самое время начать исследование темы, пройти обучение или найти перспективную работу.
____________
статья для Tproger