Visitors have accessed this post 6294 times.

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

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

Visitors have accessed this post 6294 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)
Введено символов из возможных
Не отвечать

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

Устанавливаем дистрибутив NixOS
array(1) { [0]=> object(WP_Term)#11549 (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

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

Краткая справка из Wikipedia

NixOS — дистрибутив Linux, созданный поверх менеджера пакетов Nix. Он использует декларативную конфигурацию и позволяет надежно обновлять систему. Предлагаются два основных направления: текущий стабильный выпуск и Unstable после последней разработки. 

Любая ОС Linux после установки требует...

7
2
21 августа 2020
Программный RAID в Linux. Часть 2
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

Автор — Максим Рязанов

Давайте продолжим нашу тему про RAID. Напомню, что первую часть статьи можно найти тут.
Обслуживание RAID
Очистка RAID — Scrubbing
Рекомендуется регулярно выполнять scrubbing данных, чтобы проверять и исправлять ошибки. В зависимости от размера / конфигурации массива очистка может занять несколько часов.

Чтобы...

5
434
18 декабря 2020
Руководство по DevOps для начинающих: как попасть в IT-индустрию
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://medium.com/slalom-build/beginners-guid-to-devops-how-to-make-it-into-the-industry-c1652d59807

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

8
0
25 декабря 2020