В прошлом году мы в Southbridge запустили стажёрскую программу. Стажировку прошли более 80 инженеров. Мы получили много обратной связи, учли разные нюансы и переупаковали программу учебной стажировки в курс DevOps Upgrade в Слёрме.
Сегодня рассказываем историю Вячеслава Лочашвили, который работал в отделе эксплуатации интернет-провайдера, полностью прошёл нашу стажировку и теперь трудится в одной из команд Southbridge в роли DevOps-инженера. Передаём слово Вячеславу.
Начало: как я понял, что руководить отделом эксплуатации провайдера — плохо для карьеры
В 2011 году я закончил юридический университет по уголовной специализации. Но сделал это для родителей, так как понимал, что юриспруденция — не моё. В свободном поиске увидел объявление о том, что интернет-провайдер набирает сотрудников в техподдержку. И подумал: с техникой я на «ты», поработаю в техподдержке, поучусь и продвинусь в этом направлении дальше.
Так и вышло. Я проработал в техподдержке год, и меня перевели уже в эксплуатацию, где я быстро вырос до руководителя. Стал заниматься конфигурацией и мониторингом сети связи, причём довольно большой.
Я работал с провайдерскими сетями уровня доступа, агрегации, роутинга, с Enterprise Wi-Fi сетями, большими распределёнными системами видеонаблюдения и аналитики. Плюс плотно работал именно с сетевыми технологиями — чётко знал, как бегают пакеты данных, как их диагностировать, что там происходит на физическом уровне. Забегая вперед — этот опыт мне здорово помогает и сейчас.
Но коллектив у нас был консервативный. Никто не стремился вносить что-то современное, оптимизировать работу. Принцип «работает — не трогай» там возводили в абсолют.
В итоге к 2021 году я понял, что занимаюсь чем-то неактуальным для 98% IT-индустрии — интернет-провайдер использовал слишком специфичные технологии, многие из которых устарели или толком никому не нужны. Тогда я решил, что нужно развиваться, чтобы оставаться в рынке.
Обучение на курсах
На работе всегда именно я был техническим лидером, поэтому не мог ни с кем обсуждать что-то новое или советоваться — во всём разбирался сам. Это привело к тому, что знания у меня были, но обрывочные и неупорядоченные. Я решил их систематизировать с помощью онлайн-курсов. Выбрал один по профессии «Сетевой инженер» и спокойно отучился три месяца, но потом случилась какая-то пауза — нет ни уроков, ни заданий.
В перерыве я смотрел уроки на YouTube и наткнулся на канал Слёрма. Посмотрел ролики, увидел, что спикеры рассказывают что-то интересное и полезное. В итоге себе на день рождения купил курс по Docker.
По сравнению с предыдущим он меня очень впечатлил. Я почувствовал, как мои познания о контейнерах пошли вверх, что я реально развиваюсь профессионально.
Пока учился, решил узнать больше о Слёрме: какие компании связаны с учебным центром, чем занимаются. Так вышел на Southbridge и увидел, что они набирают людей на стажировку по направлению DevOps. Это казалось логичным продолжением моего обучения.
Как я попал на стажировку и почему вставал ради неё в 5 утра
Чтобы попасть на стажировку, нужно было подать резюме. Я решил, что если не пройду, от меня не убудет, и подал. В итоге мне прислали тестовое, я его сделал и получил приглашение стажироваться.
Ещё во время учебы на курсах я перестроил режим дня — стал вставать в 4–5 утра, выполнять учебные задания, а потом приступать к основной работе. Со стажировкой я решил поступить так же. Поэтому, когда мне сказали, что для обучения и выполнения заданий потребуется 4–5 часов в день, я согласился, так как спокойно мог выделить это время.
Кстати, такого графика я придерживаюсь до сих пор. Я много читал про сон и знаю, что для человека неправильно вставать поздно или постоянно просыпаться в разное время. Так что я и в будни, и в выходные встаю в 5 утра — до работы успеваю сделать какие-то домашние дела или поучиться.
Как мне кажется, отбор на стажировку был очень мягкий. Я прошёл его, на мой взгляд, даже слишком легко — просто расписал свой опыт в резюме и сделал тестовое. Оно было по совершенно новой для меня технологии, но проблем не возникло вообще.
Возможно, из-за такого нестрогого отбора на сертификации по Docker многие стажёры отвалились. Они недостаточно хорошо знали Docker и Linux, им было слишком тяжело за такой короткий срок всё это освоить.
Как была организована стажировка: чёткий план и конкретный рабочий проект
Я не ожидал от бесплатной стажировки такого уровня организации. Нам выдали чёткий план с расписанными числами на три месяца вперёд. Сначала я в него не поверил, но мы последовательно шли по всем датам и укладывались в дедлайны.
До стажировки я был очень далек от многих девопс-инструментов, например, ничего не понимал в Kubernetes. И почти все пункты плана мне были абсолютно незнакомы. Но дал себе слово, что несмотря ни на что дойду до конца.
Программа была построена поэтапно. Сначала мы делали небольшой сайт на обычном сервере без контейнеров и современных технологий. Потом изучали Docker: как с ним работать, писать файлы, запускать приложения в контейнерах. После этого изучали Kubernetes — в том числе как собирать его под свои нужды. После изучали CI/CD, непрерывную интеграцию и деплоймент. А в конце — мониторинг и логирование.
Я старался опережать программу. На самом старте даже для простого сайта использовал Ansible, что мне зачли как плюс. Во время этапа по Kubernetes стал везде, где можно у себя поднимать свой Кубер — это потом помогло в сертификации.
Само обучение проходило так:
Мы получали доступ к видеоурокам, которые смотрели и изучали сами.
Выдавали общие задачи. Мы их решали — каждый как мог, иногда обсуждали в общем чате.
Некоторые задания были «со звездочкой» — в задании значилось одно, но по факту делать этого не нужно было. Так для нас имитировали то, что заказчик не всегда знает, чего хочет. И нам нужно понимать, что главное — сделать всё технически правильно.
По непонятным вопросам мы советовались с кураторами. Плюс иногда были встречи со спикерами курсов, на которых мы обсуждали сложные моменты. Особенно мне нравилось, как встречи проводил Сергей Хованов — после них ещё сильнее хотелось попасть на работу в Southbridge.
Отдельно хочу сказать про техподдержку Слёрма. Она всегда работала чётко и быстро. Если я замечал ошибки в курсах и писал им — сразу исправляли. Если задавал вопросы — отвечали коротко и без лишней информации. Считаю, так и должна работать техподдержка.
Трудности и приятные моменты обучения: бывало, что получалось только с 20 раза
Как я уже говорил, почти все темы стажировки были для меня незнакомыми. Каждую задачу я преодолевал, иногда получалось с десятого, иногда с двадцатого раза, но, как говорится, упорство и труд всё перетрут.
Сложности возникли, когда началась командная работа. Нас поделили на две команды, выдали общее задание и поставили срок. В моей группе было три человека, при этом командная работа не ладилась: один не участвовал, второй пытался что-то делать, но реально работал только я. И когда пришёл срок, я сдавал последнее задание, даже не зная, правильно ли его сделал. Все зависело только от меня, я не чувствовал команды.
Хочу отметить, что в процессе самого обучения ощущения одиночества не было. Когда я что-то не понимал, я всегда мог спросить у техподдержки и получить конкретный ответ.
Кроме того, было трудно на курсе CI/CD. Информации много, и, в отличие от Docker или Kubernetes, она гораздо сложнее и не понятна сразу. Но это же было самым интересным. Ещё мне очень нравилось применять сочетание технологий. Когда ты всё долго изучаешь, настраиваешь, а потом нажимаешь пару кнопок — и разворачиваешь огромную автоматизированную систему.
Меньше всего мне понравился курс про мониторинг и логирование — мне он показался слабее других курсов, проходил его с меньшим энтузиазмом. Причем сертификацию по этой теме я сдал с первого раза, и даже удивился. О сертификациях, кстати, сейчас и поговорим.
Сертификации: на каждую тратил по две попытки и много нервничал
Сертификации мы сдавали после пройденных блоков стажировки. К каждой я тщательно готовился — штудировал курс, пересматривал видео, по несколько раз перепроходил все упражнения. Иногда искал аналогичные задания на стороне и пытался их выполнять.
На каждую попытку сертификации выделяется шесть часов — чтобы успеть её пройти, я просыпался в три часа утра. И почти всегда совершал какие-то глупые ошибки, то есть не добирал совсем немного баллов для проходного. Приходилось второй раз вставать в три часа и снова всё пересдавать. С первого раза сдал только сертификацию по мониторингу, на все остальные тратил две попытки.
Каждый раз я сильно переживал — особенно на последний этапах, когда уже столько пройдено. Ведь если не сдашь второй раз — можешь вылететь со стажировки. И когда на второй попытке сидишь уже 5 часов, то понимаешь, что можешь ошибиться — и всё будет зря. Но в итоге все сертификации сдал без всяких поблажек.
![Фрагмент задания из сертификации по Kubernetes Фрагмент задания из сертификации по Kubernetes](https://habrastorage.org/getpro/habr/upload_files/7d3/bba/b1e/7d3bbab1e2dad78013226fe4553a0a1f.png)
Как я сделал итоговый проект и что было дальше
В качестве итогового проекта нам выдали докеризированное предложение. Его нужно было вытащить в Google Cloud в Kubernetes, настроить CI/CD для автоматического деплоймента и завести мониторинг и логирование. На проект давали четыре недели, но я всё сделал за две и потом неторопливо доводил до идеала.
К тому моменту пошли разговоры, что в Зольни, дочерний проект Southbridge, нужен DevOps-инженер. Меня спросили, закончил ли я проект. Я ответил, что его ещё можно доработать, но если будут бонусы за раннюю сдачу — готов сдать. В итоге доделал мелочи, отправил, его приняли — и сразу позвали поработать инженером в Зольни.То есть завершил стажировку именно так, как и хотел.
Работа после стажировки: Зольни, потом Southbridge
Когда я пришёл в Зольни, ребята заканчивали старые проекты — я только наблюдал и не вмешивался в рабочий процесс. А потом началась работа с Docker, Kubernetes, CI/CD — и тут уже меня подключили. У нас сложилась очень сплочённая команда: мы даже не обсуждали проекты, а просто садились и делали то, что нужно.
Помогало то, что коллеги в Зольни тоже прошли стажировку, поэтому мы понимали друг друга с полуслова и легко организовали командную работу. Плюс владели одинаковыми технологиями — принципы работы у нас были общие.
Мы вместе работали над сайтом по подбору гостиниц. Сайт нужно было перенести с одного сервера в кластер Kubernetes, а именно: перенести приложение в Docker и написать Helm-чарты, описать инфраструктуру кодом (IaC), организовать непрерывную интеграцию и доставку кода (CI/CD), настроить систему мониторинга и логирования. Очень похоже на финальный проект стажировки, но уже с реальным применением. Я отвечал за инфраструктурный код, отчасти за построение CI/CD-процессов и написанием Helm-чартов, ребята занимались докеризацией приложения, мониторингом и логированием, отладкой приложения в кластере.
Сейчас этот проект в стадии завершения.
В начале марта Зольни объединили с Southbridge. С ребятами из Зольни нас распределили по разным командам, но мы всё равно общаемся и обсуждаем рабочие задачи. Как будто мы всё ещё одна команда.
Переход в Southbridge для меня сейчас продолжается. Проектов здесь больше, поэтому и разных задач много. Причём в основном это не то, что мы изучали на стажировке, а классическое администрирование Linux — нужно меньше писать код и больше копаться в самой системе. Но работа интересная, даёт новый опыт и уверенность в своих силах.
Именно здесь, в Зольни и Southbridge, я почувствовал драйв в работе. Увидел, что я актуальный специалист на рынке, могу взяться за любую работу и выполнить её качественно. Трудности на стажировке определённо этого стоили.
Советы тем, кто хочет развиваться в профессии
Без развития не будет кайфа. Если профессионально не расти — ничего хорошего не выйдет. Во-первых рост — это деньги. Во-вторых — удовлетворение от выполненных задач. IT-специалистов не зря называют дофаминовыми наркоманами, которые получают кайф от каждого закрытого сложного тикета. Без знаний этого кайфа не будет.
Пойти на стажировку. Не представляю, каких профессиональных результатов я бы добился без стажировки. Можно было что-то прочитать и освоить технологии в теории — но реальное понимание дают только актуальные задачи по конкретным технологиям. И вне стажировки я бы таких задач не нашёл. Курсы по DevOps — совсем не то, там не хватает практики, и потом в работе знания ты не применишь. То есть нужно идти на вот такую стажировку — либо учебную, как в Southbridge, либо в какую-то компанию.
Уделять достаточно времени учебе. Чтобы получить хороший результат, на стажировке Southbridge нужно было заниматься по 4–5 часов в день 5 дней в неделю. Точное время зависит от начальной подготовки, но, мне кажется, это минимум. Причём это касается не только стажировки, но и любого развития — заниматься нужно как можно больше. Только так удастся реально совершить профессиональный скачок.
Подробнее о курсе DevOps Upgrade, основанном на программе стажировки Southbridge, можно почитать на сайте Слёрма. Для курса есть гранты на бесплатное обучение от Southbridge. Чтобы получить грант, нужно пройти отбор.