​​Поговорили с ведущим инженером-разработчиком стрима «Платежи» Илиёй Кариным о начале карьеры в DevOps, различиях между джунами и сеньорами для девопс-инженеров и секретах успешной карьеры.



— Как пришёл в DevOps?

Ещё во время учёбы начал работать в колл-центре одного интернет-провайдера на позиции специалиста технической поддержки. Там я понял, что трудиться в техподдержке хоть и забавно, но не очень интересно. После вуза устроился системным администратором. Занимался поддержкой пользователей, серверов, маршрутизаторов и другого железа. Сейчас это называется модным словосочетанием фулл-стек админ.



Сисадмином был около 7 лет. Успел получить опыт работы как с хелп-деск отделами, так и дошёл до проектирования и внедрения собственной архитектуры, оптимизировал ИТ-инфраструктуру в компаниях, набирал и обучал людей для формирования 1-3 линий техподдержки.



В какой-то момент услышал новое слово DevOps. Далее, последовали полтора года интенсивного самообучения. И я стал девопс-инженером. Сейчас курирую работу специалистов на стриме «Платежи». Мы занимаемся автоматизацией доставки ПО до контуров тестирования, продакшена и так далее. Развиваем DevOps-практики, делаем так, чтобы всем жилось лучше и комфортнее.



— Только ли сисадмины могут перейти в DevOps?

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



— Что должен знать начинающий DevOps-инженер?

Джуны должны знать Linux. Хотя бы поверхностно разбираться в kernel, уверенно работать с командной строкой, системой SELinux и утилитой iptables.



Из инструментов придётся освоить Docker, Kubernetes, Ansible, Helm, Git, Zabbix, ELK, Nexus, Prometheus и Grafana. Для работы с базами данных неплохо изучить MySQL, PostgreSQL, Microsoft SQL Server.



— В чём отличие мидла от джуна?

Мидлы по щелчку пальцев способны сделать всё что угодно с сервером или виртуальной машиной на Linux. Например, провести удалённый запуск команд, правильно назначить права на пользователей, настроить политику на SELinux и фильтры в iptables, написать скрипты автоматизации, всё сломать и быстро починить.



— Чем будет отличаться подход сеньора?

Он будет отличаться масштабом. Сеньор смотрит не на отдельную машину, а ИТ-инфраструктуру в целом. Решает задачи уровня, как поднять и сконфигурировать окружение с помощью Ansible и Terraform, как настроить интеграцию со смежными системами и учесть все нюансы реализации.



— Какие ещё hard skills обязательны в DevOps?

Нужно свободно чувствовать себя в рамках докера, понимать контейнеризацию в других системах: Linux Containers, Podman и так далее. Podman постепенно выходит на первый план, но в целом он очень похож на Docker.



Далее, осваивать оркестрацию с помощью альтернатив Kubernetes: Docker Swarm, Rancher и OpenShift. Последнее — это платное решение от Red Hat и второе по популярности после Kubernetes.



— Какие книги и курсы пригодятся новичкам?

Рекомендую книги:

🔹 «Паттерны Kubernetes» от O’RELLY;

🔹 «Linux Bible» от Кристофера Негуса;

🔹 Эндрю Таненбаума — у него есть учебники и про сети и про операционные системы.

Кстати говоря, на YouTube при желании можно найти множество лекций по DevOps. Нелишним будет пройти CEH-курсы этичного хакинга и курсы Udemy.



— В чём секрет успешного девопс-инженера?

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



Ну и главное — общаться с людьми. DevOps — это в первую очередь идеология, а не специальность. Только объединяя коллег вокруг задачи и помогая им средствами автоматизации, можно достичь действительно качественных результатов. Без отличного настроения и высоко мотивированной команды профессионалов можно придумать миллион методик и скриптов, но результат всегда делают люди, объединённые единой целью!