В связи с ростом популярности философии DevOps увеличивается спрос на специалистов этого направления. Как правило, такие специалисты вырастают из Dev или Ops, которые по случайности или намеренно расширяли свой профиль работая со смежными отделами. Дальнейший карьерный рост таких специалистов заключается либо в переквалификации в инженера новой области, либо в добавлении управленческих функций.
Рисунок 1-Статистика принятия методологии DevOps по данным ежегодного опроса«State of the Cloud» компании RightScale
Проанализировав рынок предлагаемых вакансий можно выделить ТОП-10 основных управленческих качеств необходимых для руководителя командой (или несколькими командами) DevOPs-инженеров. Для анализа возьмем существующие сейчас вакансии на должность Директор DevOps с таких ресурсов, как LinkedIn, indeed.com, simplyhired.com и т.п.
Опыт работы
На подобные вакансии требуется внушительный опыт работы. Как правило, работодателей интересует успешная работа, связанная с управлением людьми и проектами, не менее 3-5 лет. Кроме этого необходим опыт технической работы, такой как: разработка ПО, написание скриптов, опыт поддержки облачных сервисов. Обязательным пунктом в резюме так же является опыт управления поставкой программных систем.
Способность управлять людьми и ресурсами
Из предыдущего пункта вытекает способность к управлению различными ресурсами, в том числе человеческими. Здесь пригодится аналитический склад ума, отзывчивость, способность работать в команде, стрессоустойчивость. Необходимо управлять квалифицированными и уверенными в себе специалистами, уметь ставить себя на место и разработчиков, и заказчиков, пытаться помочь. То есть важна готовность быть ключевой фигурой между командами разработчиков и инфраструктуры, подрядчиками, клиентами. Руководитель DevOPs должен понимать архитектуру и план развертывания облачных сервисов, чтобы определять дальнейшую стратегию развития компании. В его обязанности, как правило, входит установка ценностей для команды, установка KPI для производственных услуг, которые будут способствовать успеху.
Страсть к инновациям
Каждая компания имеет свое видение относительно функций отдела DevOps, но общими чертами, несомненно, являются автоматизация процессов, построение и поддержка высокопроизводительных систем, постоянное повышение эффективности работы. Эти ключевые моменты определяют необходимость знать новые инструменты и методологии (Agile, Kanban), постоянно следить за инновационными решениями и иметь желание внедрять их. Очень важную роль для успешного руководителя имеет способность к обучению. Это позволит, как самому вводить новые продукты и характеристики работы, так и контролировать своих специалистов. Кроме того, нужно постоянно искать дополнительные возможности автоматизации производственных процессов.
Высокая работоспособность
Работа руководителя DevOps отдела интересна, позволяет опробовать продукты компании в «боевых» условиях, постоянно узнавать что-то новое, сотрудничать с людьми из различных подразделений. Однако, все эти преимущества влекут за собой необходимость сверхурочной работы и вероятность возникновения внештатных ситуаций в ночное время или выходные. Целью такого специалиста должно быть непрерывное совершенствование.
Ориентированность на результат
Хороший директор DevOps должен знать, какого результата, он хочет добиться, какими путями он будет его добиваться, какие показатели работы специалистов он будет измерять. На него возлагаются такие функции, как:
- Разработка и поддержка сервисов и инструментов для обеспечения регистрации событий, мониторинга необходимых показателей.
- Определение адекватых и удовлетворяющих SLA для клиентов.
- Контроль выполнения этих SLA техническими специалистами.
- Поддержка высокого уровня предоставления услуг.
- Выполнение качественных обзоров и аналитик.
- Управление работой с операционными проблемами.
И все это в соответствующими с растущими требованиями производства.
Таблица 1- Изменения в показателях производительности высокопроизводительных ИТ-операторов с 2016 по 2017 год по данным аналитической компании Puppet
Показатели эффективности ИТ | 2016 | 2017 |
Частота развертывания | В 200 раз чаще | В 46 раз чаще |
Время выполнения изменений | В 2 555 раз быстрее | В 440 раз быстрее |
Среднее время восстановления | В 24 раза быстрее | В 96 раз быстрее |
Изменение частоты отказов | В 3 раза ниже | В 5 раз ниже |
Умение планировать
Развитие компании или ее подразделения зависит от способности руководителя к планированию. Очень хорошо, если у него есть такой опыт, а также владение соответствующими инструментами планирования. Планы развития должны быть четкими и измеримыми. Их необходимо донести до подчиненных и организовать, обратную связь и контроль выполнения ключевых моментов.
Финансовая грамотность
Наличие финансового образования не является обязательным требованием для директора DevOps, однако на него (как на любого руководителя) возлагается функция управления расходами на ИТ, закупками, составлением и защитой бюджета. Директор DevOps должен уметь строить высокоэффективные системы и высокодоступные сервисы, оставаясь при этом в оптимальной точке финансовых затрат. Иногда финансовые ресурсы могут быть ограничены и недостаточны для оптимального уровня. Но системы, все-равно должны работать эффективно и без критических сбоев.
Лояльность к компании
Хорошим руководителем DevOps является тот специалист, который видит свой успех в успехе своей компании. Он должен оказывать помощь в установлении процедур взаимодействия и внедрять практики, ведущие к успеху. Как правило, руководители DevOps «вырастают» из собственных кадров компании, работают на этом месте в течение длительного периода времени и знают продукты, проекты и историю становления изнутри. Но, когда компании приходится нанимать такого специалиста «со стороны», это вызывает некоторые опасения. Новый человек может выказывать неприятие существующим правилам и невольно тормозить работу некоторое время. Поэтому, чаще всего, работодатели в вакансиях на подобные должности указывают необходимыми личностными качествами лидерство и способность к сотрудничеству. Директор DevOps должен постоянно улучшать управляемость системами и людьми. Стремиться к тому, чтобы создать лучший в своем классе уровень технических услуг.
Стратегическое мышление
В DevOps нет единых универсальных решений. Есть только то, что работает для конкретной организации или даже проекта. Необходимо уметь, отталкиваясь от целей и ценностей компании, внедрить эффективные практики по наиболее эффективным и доступным каналам. Способствовать развитию компании и заботиться о том, чтобы решения были максимально масштабируемыми и универсальными в рамках одной организации или проекта.
Ответственность и инициативность
Инициативность – очень хорошее качество, если не сказать необходимое, для руководителя DevOps. Однако, внедрение новых инициатив оказывает влияние на сотрудников, клиентов и процессы разработки продуктов. Поэтому, руководитель должен быть способным нести ответственность за своих технических специалистов, быть ответственным перед многочисленными клиентами. Быть способным не сдаваться при повторных неудачах и искать решение в самых сложных ситуациях. И, в итоге, привести свою команду к созданию качественных и высокодоступных сред разработки и производства.
Что касается технических навыков, то здесь все зависит от истории фирмы-работодателя, принятых в ней стандартов и процессов.
Рисунок 2-Один из вариантов инструментального обеспечения DevOps
Но, чаще всего, необходимы навыки в следующих направлениях:
Методология Agile
Задачей методологии DevOps является развертывание уже разработанного ПО наиболее быстрым и безопасным способом, в то время, как Agile-методология направлена на разработку ПО. Таким образом, выходит, что эти две области не должны очень пересекаться. Но, работодатели предпочитают видеть руководителем DevOps человека, имеющего внушительный опыт в разработке ПО. А, потому, знание Agile-инструментов является основным требованием.
Опыт непрерывной интеграции и развертывания
Данный пункт встречается в 99% вакансий на должность DevOps специалиста. А все потому, что его функции понимаются так: «разработчик ответственный за выпуск ПО и вовлеченный больше других разработчиков в процесс его развертывания». Считается хорошей практикой, когда тот, кто выпускает продукт, будет его же и поддерживать.
Системное администрирование
Кроме опыта в разработке ПО или написании скриптов, необходимо понимать окружение, в котором будет работать выпускаемый продукт. С этим окружением надо уметь работать и правильно его настраивать.
Знание облачных технологий
Мало какая компания сейчас задумывается о построении своего дата-центра, когда все конкуренты давно в «облаках». Опыт работы с частными и публичными облаками, масштабируемыми, высокодоступными и отвечающими требованиям ИТ-безопасности – это то без чего не может существовать руководитель DevOps.
Системы управления конфигурацией
Главная концепция DevOps – это автоматизация и управление конфигурацией систем. Необходимо уметь автоматизировать различное количество серверов, знать соответствующие инструменты, уметь их дополнять и настраивать.
Как видно из вышеперечисленного, не так просто получить опыт, необходимый руководителю DevOps. Однако, это хорошая карьерная перспектива для ИТ-специалистов, которые предпочитают развиваться сразу в нескольких смежных областях и обладают управленческими качествами. Тем более, что количество вакансий на рынке увеличивается.
Рисунок 3-Рост числа вакансий DevOps по данным сайта DOU
Оплата труда, как правило, соответствует всем заявленным требованиям.
Рисунок 4-Статистика заработных плат за 2016 год
About The Author
Виктор Карабедянц
ИТ директор (CIO), руководитель нескольких DevOps команд. Профессиональный руководитель проектов по внедрению, поддержке ИТ систем и обслуживанию пользователей.