💳 Trustee Plus — твоя персональна картка європейського банку: 3 хвилини і 10 євро 👉
Марія БровінськаВойти в IT
21 октября 2021, 12:00
2021-10-21
Кто такой DevOps Engineer. Обзор профессии от Олега Миколайченко
Продолжаем цикл материалов об ІТ-специальностях. Каждую описывает «типичный представитель» — опытный специалист и просто авторитетный коллега, тот самый человек, который знает все тайные уголки своей профессии. Мы надеемся, эти материалы помогут школьникам, студентам, переквалификантам, джуниорам и всем тем, кто заинтересован в выборе ІТ-специальности. Цикл не только поможет оценить перспективы, но и даст возможность лучше понять индустрию и особенности профессии изнутри. Обсуждайте и дополняйте материал в комментариях, чтобы сделать его еще полезней.
О профессии рассказывает Олег Миколайченко, SQUAD, Head of Infrastructure.
Не выдумывая абстрактных инженеров в вакууме, я возьму нескольких коллег из команды и покажу примерную нагрузку в течение дня:
Дейли синк. Ответы на вопросы — что делал вчера, что получилось и не получилось, какие планы на сегодня. Обязательно указывает Jira тикеты в отчете, показывает постоянный прогресс.
Работа над своим приоритетом, например — кумулятивный дашборд для всех сервисов. Описывает графики в grafanalib, смотрит результаты в Grafana.
Взаимодействие с разработчиками — попросили поправить TTL для AWS SQS, зашел в репозиторий с Infrastructure as a Code, добавил строку в Terraform, применил изменения.
Вернулся к прошлой долгосрочной задаче над реализацией Jenkins в облаке, автоматизировал пайплайны, перенес репозиторий.
Подключился на несколько митингов, поправил IAM роль с доступами, довольный закрыл ноут, и ближе к вечеру получил алерт с мониторинг системы — упал сервис.
Починил сервис.
Что нужно знать DevOps инженеру
Супер детально можно ознакомиться на Github — в отличном roadmap для изучения и подготовки, а я сделаю акцент на самых важных аспектах и областях знаний.
Первое — и самое важное, это soft skills и коммуникация. Важно уметь общаться, находить общий язык, решать проблемы, иначе — роадмап не работает.
Второе — для Junior и для Mega Senior набор технологий и арсенал инструментов будет одинаковым. Секрет в том, что глубина знаний может быть разной. Если зеленый инженер может поверхностно знать о процессах и потоках Linux, то опытный зубр девопса будет хорошо знать и понимать внутреннюю кухню:
системные вызовы для реализации процессов и потоков
статусы процессов и их значения
за секунду увидит типичную проблему, и точно ударит молотком, решив ее за 10 минут
знает как раздуть эту работу на 3 дня
напишет fork/exec, запустит strace, подключится bcc и еще куча всего-всего.
Третье — нужно выбрать свой стек, и свой набор технологий. Моя рекомендация — AWS, Terraform, Kubernetes, Prometheus Stack, EFK. Звучит просто, на деле — адище из кучи информации, большой порог вхождения и обучения не менее года. Если распыляться и добавить еще фишечек — есть вероятность закончить обучение в тот момент, когда технология устарела и больше никому не нужна.
Где учиться DevOps методологии
Идеально — сразу уметь, если так не получается — желательно загрузить себя теорией из книг, и реализацией на любом pet-project. Книжки для изучения я дам в отдельном разделе, а тут сделаю акцент на задании, которое поможет понять, получится ли пройти собеседование на позицию DevOps Engineer: Напишите приложение на Python или Go, реализуйте 3 эндпоинта — /get, /put, /reset с соответствующей логикой, суть приложения — считать запросы. Запакуйте его в Docker, и запустите в AWS EKS в количестве 100 реплик с автоскейлингом. При изменении исходного кода, Jenkins должен пересобирать контейнер, и деплоить новую версию в кластер. Кластер, конечно же, описан в Infrastructure as a Code. Нужно настроить доставку логов в отдельный EFK, добавить метрики в приложение (например, prometheus-exporter) и настроить оповещения в мессенджер. Убиваете приложение — приходит оповещение.
Если вы это сделали — супер, можно пробовать проходить собеседования, и я даю гарантию что опыт решения подобной задачи будет очень кстати. Для улучшения кода и решения можно показать свои наработки ребятам из сообщества ukrops.club — всегда очень ценные подарки, советы, векторы развития. Это, к слову, самое активное и домашнее DevOps комьюнити. Курсы можно смотреть на Udemy, Pluralsight, особенно — на acloud.guru. Также очень советую educative.io — Learn DevOps for Developers, и обязательно — самообучение, stackowerflow, и все книжки по тебе с приставкой «Deep Dive».
Если вы — уже опытный зубр DevOps — в таком случае стоит подписаться на CNCF, Hashicorp, Monitorama конференции и ждать апдейтов. Если вы — DevOps Manager — в таком случае, конференция DevOps Days именно для вас.
Что почитать — книги
Давайте пройдемся по книгам, которые must have, и в конце я добавлю немного личных супер полезных находок. Поехали:
Continuous Delivery: Reliable Software Releases — самая ценная и важная книга для понимания конвейера разработки, непрерывной доставки, стратегий ролаута и прочих базовых понятий. Очень старая (2011), но актуальная, и такой и останется. Классика. Читать по диагонали — только для понимания основных концепций.
SRE Books — набор из 3 книг (многие думают, что достаточно одной — нет), с реальными жизненными примерами решения проблем, реализацией систем, архитектур и нескольких инженерных подходах. Из книг нужно вынести практики форирования постмортемов, NALSD, SLO/SLI/SLA, подходы для resilience/recovery/disaster и т. д. Читать и перечитывать — обязательно.
Cloud Native DevOps with Kubernetes — тут все понятно, это техничка о Kubernetes. Читать вдумчиво, гуглить непонятные термины или выражения, поставить на стол как быстрый справочник в решении проблем.
Telegram-канал «DevOps простыми словами» — канал, где Антон Кошевой из MacPaw делится полезными наработками, 837 подписчиков
Зарплата DevOps
Сколько может зарабатывать DevOps инженер в Украине? Совсем недавно (начало 2020) хорошие инженеры зарабатывали по $5000, а на данный момент — ситуация поменялась, и в среднем, сильный и опытный Senior может попробовать попасть на позицию с оплатой в $6-7k. Среднюю температуру по зарплатам можно понять на DOU.UA: перцентили явно занижены, и в опросах принимают участие не всегда самые высокооплачиваемые инженеры. Более того, участников опроса не сильно и много, поэтому — вопросы к репрезентативности. Статистика, на данный момент, выглядит вот так:
Мое видение последних тенденций рынка нашей специализации выглядит так:
Junior зарплаты не сдвинулись: $500 без опыта, $1.5k — за джуниора, который может самостоятельно работать. Вакансий больше — найти работу проще.
Middle подпрыгнули с $2.5k/month до $3.5k — $4.5k
Senior выросли с $5k до $6k
Job hoppers/неэтичные подходы — могут пробовать залетать на $7k
Карьера для DevOps инженера
Сильно размытые рамки зон ответственности позволяют выбрать свою любимую специализацию, и стать настоящим экспертом в очень узкой области: процессы разработки, мониторинг, контейнеры, etc.
У моих знакомых есть показательные случаи по примеру:
Senior DevOps -> DevOps Team Lead -> Director of Engineering
Senior DevOps -> Solutions Architect -> VP of Engineering Senior DevOps -> CEO
У каждого из них своя история, но это точно всегда истории о «values» — когда инженеры показывают сверхрезультаты, и вырастают из рамок своей ответственности. Резюмируя, делаешь больше — больше получаешь, очень простая истина. Например, у меня получилось дорасти до Head of Infrastructure. Еще есть суперский вариант перейти в SRE, если есть особая, сильная любовь к программированию. SRE — новая огромная тема, которую я затрону в следующей статье.
Мой совет — пробовать делать акцент не на технологиях (конечно, я понимаю, это интересно), а сместить фокус на ценность для компании или команды, которую удалось принести. Отлично работают подобные подходы:
Мониторинг и графики (часто вызывают вау-эффект и приступы кидания денег в DevOps команду)
Ускорения любых процессов (сборки, деплоя, масштабирования, etc)
Контроль ресурсов и оптимизация расходов (сэкономленное == заработанное)
Открытые и прозрачные постмортемы (у всех бывают проблемы, важно — lessons learned)
Работа над брендом компании (узнаваемость дает поле для роста, и более простой хайринг в компанию)
Мануал для джуна. Что нужно знать начинающему в DevOps: 30 вопросов и советы опытного лида
Джунов, которые ищут работу, проходят кучу собеседований и получают отказы вместо оффера, во время войны стало больше. А все потому, что к собеседованиям необходимо тщательно готовиться. dev.ua начинает серию материалов о том, что нужно знать джунам для прохождения собеседования и получения вожделенного оффера от первого работодателя. Эльдар Алиев, Lead DevOps Engineer в SoftServe, рассказывает, что нужно знать, чтобы получить первый оффер DevOps и дает советы джунам от опытного синьора.
Мечтаешь стать DevOps и зарабатывать как они? 11 курсов DevOps, которые помогут разобраться в теме и прокачать скилы уже работающим спецам
Еще недавно DevOps прослыл самым высокооплачиваемым специалистом на IT-рынке. Поэтому освоить эту профессию ечтает едва ли не каждый разработчик. Разобраться в том, что такое DevOps-подход, или просто усовершенствовать свои навыки, поможет список курсов, подготовленный Digitaldefynd и дополненный dev.ua.
Как продать себя за $15 000. Советы от DevOps, получившего максимальную ставку на Djinni
Недавно на Djinni был пробит «потолок» суммы найма — Lead DevOps Engineer согласился на офер в $15 000. Он анонимно рассказал DOU о своем карьерном пути, «позднем созревании» в карьере девопса и дал советы о том, как получить высокий заработок. Мы выбрали самое интересное.
Заханть меня, если сможешь. Какие IT-специалисты в супер-дефиците: ТОП вакансий от крупнейших работодателей
LinkedIn пестрит сотнями вакансий для айтишников, IT-рекрутеры то и дело пытаются схантить хороших специалистов, а специалисты неторопливо выбирают работодателя. На DOU опубликовано вдвое больше вакансий, чем год назад, а djinni наполняется все новыми и новыми позициями. Рынок IT сильно перегрет, и сегодня сложилась парадоксальная ситуация, при которой на одного соискателя приходится десяток рекрутеров.
Некоторых специалистов нанять особенно сложно. dev.ua расспросил топовых украинских IT-работодателей о том, каких специалистов им нанять сложнее всего и почему.