Как я после практикума Rebrain нашел работу DevOps Engineer
9
7032
26 марта 2021 8:56
26/03/2021
Visitors have accessed this post 7032 times.
Автор — Сергей Попов
Привет, друзья.
Вот уже полтора месяца я фигачу как полноценный devops engineer (одна штука) в команде разработки. Идет рефакторинг сервиса из монолита в микросервисы с деплоем в кубер. ЯП — GO + postgres + mongo + rabbit + мониторинг и логи.
Команда: 6 разработчиков + я + QA (1 шт). На мне, собственно, k8s на железе, docker, ci/cd gitlab, мониторинг и логи. Это предыстория.
Хочу поделиться с вами опытом, как, пройдя практикум Devops by Rebrain примерно на 70%, попасть на такой проект и что, на мой взгляд, важно и не очень в процессе подготовки, собеседований и начала работы.
Самый длинный путь начинается с первого шага
Многие, кто читает этот блог, так или иначе слышали про открытые практикумы, которые проводят каждую неделю ребята из Rebrain, некоторые регулярно на них присутствуют, а кто-то даже успел купить мини-тренажер или даже какой-нибудь большой практикум, типа DevOps или HighLoad.
Поздравляю, вы сделали первый шаг. Куда и как быстро приведет вас эта дорога?
Расскажу, как это было у меня.
В первый раз я наткнулся на открытый практикум Rebrain примерно в начале 2019 года. Первые впечатления: круто, мало что понятно, нужно разбираться, хочу еще.
Работал я тогда начальником отдела информационных технологий в одной коммерческой организации и первой мыслью у меня было — надо брать, а лучше затаскивать на этот курс еще как минимум одного из моих бойцов. Но руководство обучение не поддержало, а стоимость единственного тогда курса DevOps была выше моей месячной зарплаты.
Тогда я взял паузу на несколько месяцев… Регулярно смотрю открытые практикумы, облизываюсь на суммы зарплат, которые мелькают на hh.ru. И вот в последнюю пятницу июля 2019 года я решил — беру практикум DevOps! Квалификацию нужно повышать, а спасение утопающих — дело рук самих утопающих.
- Что я получил, купив практикум?
Во-первых, стал беднее на сумму, которую за этот практикум заплатил.
Во-вторых, практикум даст шанс воспользоваться некоторыми возможностями.
Шанс! Он не получка, не аванс, он выпадает только раз, фортуна в дверь стучит, а вас — дома нет!
Детская песенка, но ее смысл достаточно прагматичен. Ну например: болтается на hh ваше резюме, на которое вы довольно давно подзабили. И тут прилетает вам сообщение: «Добрый день! Ваше резюме нас заинтересовало, готовы обсудить более подробно». В ходе общения выясняется, что вам предлагают интересную, хорошо оплачиваемую работу в солидной компании, все круто, но необходимо знание испанского языка. А с испанским у вас — ну никак. И это уже не ваш шанс, а того парня, который знает испанский. Вот так это все в жизни и происходит. Поэтому стоит взять от практикума максимум компетенций, тем более за него уже заплачены «ваши кровные». И чем больше будет у вас этих компетенций, тем больше шансов могут стать вашими, а не того парня… Ну, вы поняли. Практикум не дает волшебной пилюли, но предоставляет вам возможности и нужно этими возможностями пользоваться.
Расскажу про модули практикума Devops by Rebrain с точки зрения того, какой шанс они вам дают и насколько велика вероятность, что тот или иной навык пригодится в работе (на всякий случай напомню, что это ИМХО):
- Модуль Git: базовые понятия о системах контроля версий, как с ними работать (а работать придется много и плотно, как в рамках практикума, так и на работе).
- Модуль Terraform: очень полезная вещь, очень пригодится во время практикума. В процессе работы, может, придется с ним поработать, а может, и нет, все зависит от специфики задач, которые попадут в вашу зону ответственности, но это еще один шанс, точно!
- Модуль Ansible: абсолютно точно пригодится как на практикуме, так и на работе, вне зависимости от специфики задач.
- Модуль Vagrant: вряд ли пригодится, но интересный инструмент.
- Модуль Development: однозначно полезный навык. Его цель — не сделать из вас разработчика на GO, Python, PHP, Java, etc., а дать понимание того, чем занимаются разработчики, чтобы разговаривать с ними на одном языке. И конечно, чем больше языков — тем больше у вас шансов.
- Модуль QA: однозначно нужно знать, как, что и в какой последовательности делать. Скорее всего в тестах вам придется участвовать и этот навык однозначно увеличит вашу привлекательность как специалиста.
- Модуль CI/CD: это именно то, что будет составлять основную часть вашей работы, скорее всего с включениями Docker и Kubernetes.
- Модуль Docker: однозначно нужен. Не знаю, как вам, а я прошел его на одном дыхании параллельно с модулем Ansible. Docker пригодится вам на модуле Development и в реальной работе.
- Модуль Kubernetes: кроме хайпа, это на самом деле полезная технология. И хотя на старте придется баловаться с локальным minikube (для знакомства с архитектурой этого достаточно), потом будет легче и придет понимание, как это делать на больших кластерах, в облаке или на собственном железе. Это стопудовый шанс и иметь компетенции по куберу для современного инженера — это must have!
- Monitoring/Logs: эти темы однозначно нужны и рассматриваются в последних трех модулях.
- Английский: это не модуль практикума, но не могу не упомянуть о нем. Начните гуглить на английском, и вы удивитесь, получив в разы больше полезной информации. Помимо всего прочего это очень большой шанс найти работу с оплатой в долларах или евро.
Почему скорей всего не получится сходу стать профессионалом в работе с CI/CD, Docker и Kubernetes. И почему не стоит нервничать из-за этого
Начну с аналогии. Есть такой спорт — «шорт-трек», это забеги на скорость внутри хоккейной коробки. Лидерами в этом спорте традиционно являются корейцы и китайцы. Методика подготовки спортсменов примерно такая: сначала детей учат «правильно» двигаться на земле, потом их ставят на лед, и они оттачивают это умение на льду, далее их начинают нагружать на силу, скорость и выносливость. И только потом они осваивают стратегию и тактику забегов с соперниками, различные тонкости и хитрости соревновательного процесса. По-другому никак. А причина такой последовательности очень проста: средней комплекции спортсмен, проезжая поворот на скорости, эквивалентной результату мастера спорта, испытывает нагрузку на голеностоп примерно 500 кг. Пропустив первый-второй этапы обучения, спортсмен не сможет стать мастером.
Вряд ли вы пришли на практикум с высокими компетенциями во всех модулях, кроме CI/CD. А даже если такой вариант случится, думаю, такому специалисту не составит труда взять и решить все задачи, ну скажем, за пару недель или месяц. Лично я, познакомившись впервые с системами контроля версий на этом практикуме, закончил модуль Git за неделю. Что касается конкретно практикума DevOps — могу на личном опыте сказать: «Сначала это кажется какой-то дичью и насмешкой над всем тем, что считается образовательным процессом. Дают ссылку на официальную документацию и задание. Мне что, придется ее читать? да еще и на английском? Ничего не понятно, хочется все бросить».
Но посмотрим на это с другой стороны.
Очень часто на работе, за которую работодатель платит вам $30 или более в час, вам будут давать задачи, которые вы в момент постановки даже понятия не имеете, как сделать, и вам придется быстро разобраться и предоставить решение. А если вашим ответом будет категоричное — «это сделать нельзя», как вы думаете, долго ваш работодатель будет вам платить за то, что вы не в состоянии решить поставленные задачи? Решение есть всегда, оно может быть неполным, с некими допущениями и оговорками, но оно точно есть, и любой управленец это понимает. А ваша задача как технаря — это решение найти. Обычно быстро (остальное не важно), иногда определяющими будут другие критерии, но сути это не меняет.
Еще один очень важный навык — способность делать то, что не нравится. В работе постоянно попадаются задачи, которые могут не нравиться (нудные, трудоемкие, иногда просто лень или неохота). Так вот, такие задачи тоже нужно делать и то, как ты их делаешь, скажет о тебе гораздо больше любых слов.
– Девушка, вы учитесь? – Нет, я уже умею! Или как искать работу после практикума
Вы же помните про утопающих? Я не буду оригинальным, если скажу, что рынок труда назван «рынком» не просто так. Как и на любом рынке, тут есть продавец и покупатель. И ваша роль — продавец! Помните детский мультфильм «Как старик корову продавал»? Чтобы найти работу, нужно стать продавцом. По сути, все просто, нужно продать работодателю не себя (как все думают), а свои навыки и умения. И дожидаться окончания практикума совсем не обязательно. Нужные работодателю компетенции могут у вас уже быть.
Ваши «торговые площадки» — это hh.ru, LinkedIn, тематические каналы в Telegram. Даже этого более чем достаточно. Смотрите вакансии, рассылайте резюме. Изучайте требования. Ходите на собеседования и интервью. Делайте тестовые задания. Почитайте про методологии гибкой разработки Scrum/Agile. Практически все сейчас работают по ним (в той или иной мере) Пригодится однозначно. Вы удивитесь, но реальная работа, на которую вы попадете, мало чем будет отличаться от заданий практикума. Поэтому — больше уверенности (вы такие задачи уже решали, правда же?). А в ответ на скользкие вопросы про ваш опыт работы можно смело рассказывать про кейсы, которые вы решали в рамках практикума.
О чем же обычно спрашивают потенциальные работодатели?
Самый первый вопрос, обычно — расскажите о себе. Вроде все просто, но нужно понимать, что стоит рассказать только то, что может заинтересовать работодателя. И помнить, что особо запоминаются начало и конец вашего рассказа, поэтому ключевые момент нужно рассказать вначале и акцентировать на них внимание в конце. Не нужно перегружать технической информацией, упомянуть основные технологии и инструменты. Оставьте подробности на серию вопрос-ответ. Говорите твердо и уверенно. Вы же общаетесь с профессионалом, а то, как вы говорите, зачастую важнее того, что вы говорите. Если общение происходит удаленно — включайте камеру. Это добавит вам несколько очков и внесет в процесс общения невербальный контекст.
Вторая стадия — это технические вопросы. Помните, что задавать их будут технически грамотные люди и не стоит углубляться в дебри, достаточно будет донести, что вы понимаете суть технологии и пул задач, которые с ее помощью решаются. Если оппонент будет настаивать на подробностях — можно углубиться, а если вы «плаваете» — сделайте себе заметочку на будущее — разобраться подробнее. А вслух скажите, что в детали вы можете достаточно быстро вникнуть с помощью гугла и стековерфлоу.
Третий важный момент — нужно обязательно задавать вопросы!
- Проявите интерес к проекту! Что за проект? Какой стек технологий используется? Какие инструменты используются в компании? Можете ли вы выбирать инструменты и/или технологии сами? Какова длительность проекта?
- Организационные моменты! Как построено взаимодействие в команде? Кто ваш начальник? Кто платит деньги? График работы? Формальности, которые нужно будет соблюсти, чтобы вас оформили (от этого напрямую зависит оплата вашего труда).
- Прочее! Спрашивайте то, в чем сомневаетесь или что вас реально интересует. Не бойтесь задать глупый вопрос! Как говорит мой начальник: «Если увижу, что кто-то побоялся задать глупый вопрос — уволю».
Ну и последнее. Каждое интервью или собеседование — это ваш опыт. Даже если вы с первой минуты понимаете, что это «не мое», продолжайте, просто ваша цель в этом случае из «получить оффер» превратится в «получить опыт».
Так уж случилось, что работаем мы в очень динамично меняющейся отрасли и все это понимают. Поэтому недостаток компетенций легко может быть компенсирован тем, что в современном мире называется soft-skills. Да, вас скорее возьмут, если вы просто «понравитесь» при недостатке нужных компетенций, и откажут, если ваши компетенции полностью устраивают, но ваше общение с потенциальным работодателем было «тяжелым».
Со временем вам начнут предлагать работу, и вы начнете выбирать из работодателей, а не участвовать в конкурсе 15 человек на сундук мертвеца.
Не превращайтесь в «вечного студента». Очень часто после просмотра обучающих видео возникает иллюзия, что это просто и не составит труда повторить, и как следствие — ложная уверенность, что вы это знаете. На самом деле — это не так. Примерно представлять, как сделать, и реально сделать — это две большие разницы.
Чтобы научиться что-то делать, нужно просто брать и делать. Нельзя научиться плавать, посмотрев на youtube как плавает Майкл Фелпс.
А что же про меня?
Прошло почти полтора года с тех пор, как я впервые сделал пуш в свой репозиторий на gitlab.rebrainme.com, и каковы результаты:
- DevOps: 60%
- Docker: 100%
- Kubernetes: 80%
- Резюме на hh.ru, профиль на LinkedIn, регулярно читаю @devops_jobs
Периодически мне прилетают предложения от разных компаний, и я хожу на собеседования и интервью. Иногда я сам отправляю отклики, если мне интересно.
И вот оно! — «Здравствуйте, ваш опыт нас заинтересовал». Созваниваемся с HR, затем с руководителем департамента программных решений, на следующий день мне говорят, что меня берут, и на пятый день после первого звонка я уже работаю в проекте, с оплатой почти в четыре раза большей, чем на прошлом месте работы.
И чем же я занимаюсь? Да все тем же, чем и на практикуме (только на этот раз мне за это платит мой работодатель):
- Настроить кластер Kubernetes на Test, Stage, Prod
- Завернуть в докер микросервисы
- Настроить CI в проектах на gitlab
- Настроить деплой в кубер
- Настроить мониторинг и логи
Ничего не напоминает? Все правильно — именно так и звучат задания на практикуме.
Делайте, и у вас получится! Удачи!
От редакции
Если вам интересно посещать бесплатные онлайн-мероприятия по DevOps, Kubernetes, Docker, GitlabCI и др. и задавать вопросы в режиме реального времени, подключайтесь к каналу DevOps by REBRAIN.
*Анонсы мероприятий каждую неделю
Практикумы для специалистов по инфраструктуре и разработчиков — https://rebrainme.com.
Наш Youtube-канал — https://www.youtube.com/channel/UC6uIx64IFKMVmj12gKtSgBQ.
Агентство Fevlake, проектируем и поддерживаем IT-инфраструктуры с 2012 года — https://fevlake.com.