Профессия: DevOps-инженер: Дмитрий Данчук, DevOps Lead в IT-команде NIX
Kharkiv IT Cluster продолжает знакомить вас с разными ІТ-специалистами от наших компаний-мемберов. IT-сфера с каждым днем расширяется, появляются новые направления и профессии. Чтобы оставаться в теме и узнавать все подробности первыми, читайте рубрику от Kharkiv IT Cluster «Профессии в IT».
Сегодня мы хотим познакомить вас с профессией DevOps. Более подробно об этой специальности расскажет Дмитрий Данчук, DevOps Lead в IT-команде NIX.
Подпишись на наш телеграм канал, чтобы быть в курсе событий
– Дмитрий, кто такой DevOps и чем он занимается?
– DevOps – это сокращение от Development & Operations – все, что связано с обеспечением CI/CD-процесса, то есть непрерывной интеграции и доставки программного обеспечения. CI/CD объединяет разработку, тестирование и развертывание программы. Фактически это IT для поддержки работы IT-команды. Это основная область деятельности DevOps-инженера. Однако на практике девопсы реализуют любые задачи, связанные с обслуживанием инфраструктуры: от работы с сетями до безопасности и оптимизации расходов на облачную среду. DevOps-специалист может заниматься отдельным направлением (например, облачными сервисами или безопасностью окружения) или стать универсальным инженером и выполнять различные задачи.
Вся логика работы выстраивается во взаимодействии компонентов. То есть ты знаешь функционал какого-нибудь инструмента и используешь его, настраивая и интегрируя с другими инструментами. Специфика и сложность задач зависят от уровня знаний и умений специалиста. Например, опытному девопсу часто нужно формализовать нечетко прописанное или описанное только на верхнем уровне задачу в понятных для других девопсов требованиях. Тогда инженер становится немного и бизнес-аналитиком, и Solution Architect, трансформируя пользовательские требования в технические. Другой пример задачи – разбивка задачи на этапы. Здесь девопс совмещает в себе роли техлида и проектного менеджера. Как видите, вариантов для профессионального развития в нашей сфере множество.
– А чем ты занимаешься в NIX?
Я Тимлид и DevOps-архитектор со специализацией в AWS (Amazon Web Services). Делаю все, что нужно для создания проекта. Иногда сопровождаю девелопмент-проекты в части архитектуры и постановки задач. Иногда в рамках автоматизации нам нужна разработка.
– Какие знания нужны для того, чтобы стать DevOps-инженером?
У человека должно быть базовое понимание операционных систем Linux и Windows, облачных сред AWS, Azure, Google Cloud Platform и навыки развертывания проектов с автоматизацией. Для последнего важно владеть инструментами – Ansible для настройки сервера, Jenkins для деплоя, Docker и Kubernetes для контейнеризации. Пригодится знание языков программирования Python и Bash. Отмечаю: важно знать не кнопки, а понимать подходы. Инструменты в области DevOps меняются быстрее, чем в девелопменте. Однако если вы разбираетесь в принципах их работы и знаете, что и зачем нужно делать в разных случаях, то достаточно быстро овладеете новыми инструментами.
– Какие личные качества необходимы для работы девопсом?
В первую очередь – это внимательность и усидчивость. Работа DevOps начинается с чтения инструкции. Мы настраиваем уже существующие пайплайны, интеграции приложений и т.д. Через один неправильно настроенный параметр можно парализовать работу всей системы. Это очень высокий уровень ответственности. Когда у разработчиков возникает ошибка в коде, иногда возможны сбои только при сочетании определенных факторов. А у девопсов из-за ошибки в одном месте вообще не работает вся система.
Также важно умение доносить доводы и договариваться. Хотя эта черта характера полезна всем IT-специалистам. Наша отрасль построена на американской корпоративной парадигме, где основой является постоянная коммуникация. Для девопсов – это вдвое важно. Они находятся в центре команды по разработке и контактируют со всеми участниками процесса.
— Какое образование нужно девопсу?
Лучше – техническое образование. Его точность, системность – это то, что нужно. Хотя и гуманитарный бэкграунд никогда не являлся препятствием на пути к карьере в DevOps. В нашем деле главное — развивать в себе технический склад ума, научиться из нескольких способов решения проблемы выбрать наиболее оптимальный. Если специалист уже работал в IT, то полезен опыт работы системным администратором, навыки обслуживания систем, настройки телефонии, сетей, компьютеров, серверов и других устройств. Да и разработчики с тестировщиками легко переходят в DevOps.
— Что ты посоветуешь интересующимся направлением DevOps?
Прежде всего, стоит понять, подходит ли вам эта специализация. Я бы сказал так: если вам нравится настраивать что-нибудь и вы любите собирать конструктор из готовых деталей — идите в DevOps. Также эта работа подойдет тем, кто любит разбираться с серверами, сетями, операционными системами. В отличие от разработчиков мы редко создаем что-то с нуля. Обычно реализуем не клиентские идеи, а инфраструктуру для них.
Относительно обучения советую постоянно практиковаться в развертывании сайтов. Можно начать с простого проекта, но каждый раз повторять деплой: на локальной машине и в облаке, вручную и автоматически, с мониторингом и бекапами. На каждом этапе нужно «поиграть» с конфигурацией, чтобы разобраться, на что влияют настройки и где скрываются ошибки в случае сбоев. Когда сможете достигать стабильной работы проекта и легко находить причины любых проблем, то уже будете иметь хороший шанс стать успешным девопсом.
Подпишись на наш телеграм канал, чтобы быть в курсе событий
Также читай новости на наших страничках в социальных сетях: