Роман Луньков и Дмитрий Мучановский начали свой путь в IT в качестве системных администраторов, но решили углубить свои знания в разработке и выбрали для этого направление DevOps. Дмитрий Кубекин после работы сисадмином и fullstack-разработчиком стал Junior DevOps в крупной компании. Из-за кадровых перестановок он стал получать всё больше задач на поддержку инфраструктуры и понял, что пора подтягивать компетенции на курсе GeekBrains.
Во время учёбы все трое откликнулись на вакансию DevOps-разработчика, которую прислал в чат студентов преподаватель курса Павел Фискович. Теперь каждый из студентов — DevOps-разработчик «Сбера», и у каждого — свой фронт работы.
Роман Луньков
Я получил приглашение на собеседование в «Сбер» после отклика на рассылку вакансии. Прошёл два этапа собеседования, на которых пригодились знания с курса, в особенности по DevOps, CI/CD, контейнеризации и т.д. Сейчас я отвечаю за автоматизацию развёртывания приложения — то самое CI/CD, т. е. написание пайплайнов, автоматизация процессов разработки и тестирования, управление IT-инфраструктурой как кодом и т. д.
Уже после нескольких месяцев работы могу сказать, что в DevOps необходимо понимание контейнеризации и оркестрации, инструментов мониторинга и принципов построения систем мониторинга, систем логирования. Важно освоить CI/CD, владение инструментами непрерывной разработки и интеграции. Нужны навыки Linux-администрирования, пригодится умение писать скрипты по автоматизации. Ещё не менее важно прокачивать свои soft skills: умение коммуницировать, брать на себя инициативу и вовлекаться в рабочий процесс.
В процессе учёбы в GeekBrains мне нравились курсы и преподавательский состав, но отдельно я хочу отметить цикл лекций Дмитрия Радчука, в которых было очень много ценной практической информации. А ещё — лекции Павла Фисковича по Agile, после которых у меня появилось более глубокое понимание, как нужно работать в команде.
Дмитрий Мучановский
Вначале было техническое собеседование. На нём мне нужно было разобраться, почему удалённый сервер, к которому дают временный доступ, не работает, как должно, и исправить, чтобы получился требуемый результат. После этого было домашнее задание: требовалось самому разобраться в абсолютно новом для тебя вопросе и создать стенд BD-Backend-Frontend, написать всё самостоятельно и с нуля. Каждый из элементов должен был выполнять свою описанную задачу и связываться с другими посредством API-запросов. Всё должно было разворачиваться с помощью одной команды.
Считаю оба задания потрясающими: я почерпнул из них очень много новой информации. При выполнении обоих этапов собеседования пригодились знания, которые я уже имел или изучал самостоятельно, как системный администратор: Linux, сети, Nginx\LAMP и так далее.
Я успешно прошёл оба этапа и получил хорошее предложение от «Сбера», благодаря чему переехал в Москву. Работать тут очень нравится. На текущий момент я изучаю IaC и как его применять на основе Ansible и Terraform. Мне нравится методология IaC, разворачивание большой инфраструктуры без неё занимает очень много времени.
Из курсов GeekBrains больше всего понравился «Методология Agile/Scrum/DevOps», который вёл Павел Фискович. Очень доступно и качественно подавался весь материал, вся информации хорошо подобрана. Сразу видно, что преподаватель понимает, про что говорит, и умеет доводить информацию до аудитории. Такого человека всегда приятно и «ненапряжно» слушать. Хотел бы выразить ему благодарность за потраченное время!
Если вы хотите успешно двигаться в направлении DevOps, то самое важное:
а) Учиться «ИТ-шному» мышлению — уметь разделять задачу на подзадачи для выстраивания алгоритма. Главное для новичка — это знание Linux, сетей и понимание самой методологии DevOps.
б) Изучать как можно больше новой информации по данной сфере;
в) Улучшать soft skills, так как изучить что-либо может любой, а правильно применить полученные знания — уже не каждый.
г) Получать удовольствие от процесса самообучения. Важно, чтобы вам нравилось данное направление. Не стоит выбирать его только потому, что оно «в тренде».
Дмитрий Кубекин
После того как я прислал резюме, меня спросили, не хочу ли я сразу пойти на позицию Middle DevOps. Но я ответил, что готов стать только джуном — на предыдущем месте работы не хватало практики.
Тогда меня пригласили на собеседование, только не классическое, а со всей командой сразу. На нём присутствовали 11 человек. Вопросы задавали все, но большинство из них были от директора и тимлида. Во время собеседования я рассказал, какие задачи у меня были в качестве DevOps-разработчика, и команде понравилось, что я с самого начала был честен. В итоге меня пригласили работать даже с условием, что моего стека не совсем хватало. Но сейчас я в принципе не чувствую серьёзных пробелов в своих знаниях, а команда довольна.
В «Сбере» большое DevOps-комьюнити, оно поделено на команды. У каждой команды свой проект. Я отвечаю за локальное окружение, необходимое для разработки: Atlassian, Jira, Bitbucket, Bamboo, кластеры ESXi, стек виртуальных машин и другого ПО, которое помогает упростить жизнь разработчикам. Отлаживаю весь процесс сборки и доставки кода, смотрю, чтобы всё работало и «доезжало». Сейчас в планах внедрить более глубинные тесты.
Благодаря курсам GeekBrains я погрузился в ту часть, которую не хотел изучать самостоятельно — методологию. Я знал, как настроить ту или иную систему, интуитивно выбирал нужные инструменты, но не представлял, как это работает изнутри, как устроены сами процессы. А во время учёбы выучил новые утилиты для упрощения той же работы, что я делал раньше. К тому же с Linux я познакомился ещё в 2003 году, потом долго работал только с инфраструктурой на Windows-решениях. Хоть я иногда возвращался к Linux, моё знание терминов оставалось таким же, как в начале 2000-х. Можно сказать, что я владел терминологией динозавров. В GeekBrains я узнал, какими терминами пользуются сейчас, и теперь владею современной лексикой.
Всем, кто будет учиться DevOps, я бы посоветовал больше практиковаться и ни в коем случае не забивать на домашние задания, даже если они кажутся бессмысленными. Специалист — тот, кто практикует, а не знает. Есть много людей, которые обладают академическими знаниями, владеют теорией. На практика и теория сильно разнятся. В реальности мы часто сталкиваемся с проблемами, которые зависят от внешних факторов. Увидеть их без какого-либо опыта сразу очень сложно. Лучше самостоятельно собирать стенды, а потом не бояться их ломать и поднимать заново.