Visitors have accessed this post 6267 times.

Как я после практикума Rebrain нашел работу DevOps Engineer

7
0
6267
26 марта 2021 8:56
Автор: Rebrain Me
DevOps

Visitors have accessed this post 6267 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.

Комментарии (3)
Введено символов из возможных
Не отвечать

Вам также может понравится

Какая операционная система лучше всего подойдет для работы DevOps?
array(1) { [0]=> object(WP_Term)#11549 (16) { ["term_id"]=> int(7) ["name"]=> string(6) "DevOps" ["slug"]=> string(6) "devops" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(7) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(19) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(7) ["category_count"]=> int(19) ["category_description"]=> string(0) "" ["cat_name"]=> string(6) "DevOps" ["category_nicename"]=> string(6) "devops" ["category_parent"]=> int(0) } } DevOps

Перевод статьи — https://devops.com/which-desktop-os-is-best-for-devops/

Какую операционную систему лучше использовать инженерам DevOps?

Это вопрос, на который нет однозначного ответа. Разговоры о том, какая ОС «лучше», всегда противоречивы.Я не собираюсь отдавать предпочтение одной операционной системе, когда мы говорим о работе DevOps. Но...

4
4
25 декабря 2020
Утилита для удаленного обслуживания систем на базе ОС NixOS — nixops
array(1) { [0]=> object(WP_Term)#976 (16) { ["term_id"]=> int(6) ["name"]=> string(5) "Linux" ["slug"]=> string(5) "linux" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(6) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(28) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(6) ["category_count"]=> int(28) ["category_description"]=> string(0) "" ["cat_name"]=> string(5) "Linux" ["category_nicename"]=> string(5) "linux" ["category_parent"]=> int(0) } } Linux

Автор - Юрий Изоркин

Сегодня давайте познакомимся с утилитой nixops для удаленного обслуживания систем на базе ОС NixOS. Также она поддерживает развертывание систем на VirtualBox VM, Amazon EC2, Google Compute Engine, Microsoft Azure, Hetzner physical machines, Digital Ocean, Libvirtd (Qemu), Datadog resources. Подробнее об этих возможностях...

1
2
18 декабря 2020
HighLoad архитектура для веб-приложения – все ли тут просто и однозначно?
array(1) { [0]=> object(WP_Term)#11549 (16) { ["term_id"]=> int(9) ["name"]=> string(8) "HighLoad" ["slug"]=> string(8) "highload" ["term_group"]=> int(0) ["term_taxonomy_id"]=> int(9) ["taxonomy"]=> string(8) "category" ["description"]=> string(0) "" ["parent"]=> int(0) ["count"]=> int(3) ["filter"]=> string(3) "raw" ["cat_ID"]=> int(9) ["category_count"]=> int(3) ["category_description"]=> string(0) "" ["cat_name"]=> string(8) "HighLoad" ["category_nicename"]=> string(8) "highload" ["category_parent"]=> int(0) } } HighLoad

Тема высоких нагрузок будоражит умы не хуже тайны бермудского треугольника. Вроде все знают, что современные маркетплейсы, сайты объявлений, соцсети - это тот самый пресловутый HighLoad, но чего там, собственно, “под капотом” и как оно настраивается, - это уже совсем другой уровень абстракций.  

На hackernoon.com нам встретилась статья о...

1
0
9 октября 2020