Hard
Знание Linux. Ядро Linux — основа DevOps, поэтому нужен хороший практический опыт работы с этой операционной системой.
Коммуникабельность. DevOps-инженер — связующее звено между эксплуатацией, разработкой и менеджерами. Важно уметь выстраивать взаимодействие внутри большой команды.
Необходимые навыки
Soft
Навыки тестирования. Важно проводить не только проверку функций, но и непрерывное тестирование, а также тестирование производительности и операций.
CI/CD. Свести к минимуму ошибки, повысить темпы сборки и качество — главные задачи DevOps-инженера. Модель программирования, CI/CD — непрерывная интеграция и непрерывная доставка, помогает их решить.
Безопасность программного обеспечения. Поскольку DevOps поставляет код быстро, появляется много уязвимостей. Инженеры должны уметь писать безопасный и надёжный код для защиты приложения от нежелательных атак.
Навыки автоматизации. Автоматизация — сердце DevOps. Она не только увеличивает скорость, но и повышает точность, уменьшая количество ошибок и обеспечивая высокое качество продукта.
Кодирование и сценарии. Чтобы заменить ручные процессы на автоматические, необходимы хорошие навыки кодирования на языках Python, Golang, Ruby, JavaScript, Java, Bash, PHP и других.
Клиентоориентированность. Без учёта всех потребностей клиента «девопсу» придётся нелегко.
Эмоциональный интеллект или эмпатия. В команде всегда работают люди с разным бэкграундом. И к каждому нужно найти свой подход, чтобы все были максимально продуктивны.
Спокойствие в стрессовых ситуациях. Необходимо учиться прогнозировать стрессовые ситуации и заранее составлять алгоритм действий в такие моменты.
Инициативность и вовлеченность. Знаете, как улучшить продукт? Предлагайте! Сотрудник, заинтересованный в развитии проекта, бесценен в любой компании.
Знание инструментов. Успех приложения во многом зависит от выбора и использования набора инструментов. Чем больше вы знаете, тем лучше для вашего продукта.
Навыки облачных вычислений. Облако — совместная платформа для тестирования, развертывания, отладки и выпуска кода приложения. Знание облачных провайдеров жизненно важно для инженера DevOps.
Командование контейнеров. Образы контейнеров используют, чтобы программное обеспечение работало быстрее и было более надёжным. Присмотритесь к Docker и Kubernetes — это ведущие поставщики контейнерных технологий.
Знание английского языка. Вся работа в разработке и эксплуатации ведётся на английском языке. А также важно уметь обсудить сквозную архитектуру продукта с иностранным заказчиком.
Навыки презентации. Важно уметь качественно подавать свои идеи и доносить свою точку зрения.