Привет!
Уже 2 года минуло с тех пор, как я стал DevOps-инженером в крупной российской технологической компании. Растут знания, опыт, зарплатные ожидания, но, оглядываясь назад забавно вспоминать, как именно я попал в эту профессию, о чём и хочется поведать.
Глава 1: Знакомство
Путь мой в IT начался ещё в школьные годы, когда уже крайне немолодой учитель по информатике косо смотрел на меня за помощь одноклассникам в написании простых программ на Pascal и выполнение его заданий за 15 минут вместо отведённых 45. Параллельно с этим я учил два языка — немецкий и английский, в первом из которых достиг отличных результатов для школьника из провинции, но с карьерой переводчика решено было распрощаться из‑за появления Yandex Translate, зарождения ИИ и прочего технологического прогресса.
Так я и поступил в лучший московский ВУЗ обычный региональный университет, сдав ЕГЭ на максимальный балл неплохо для моей школы, но далеко от идеала. Учёба давалась довольно легко, но с каждым новым предметом я всё больше терял огонёк в глазах и всё меньше понимал, зачем оно мне всё надо. Тогда же я разуверовал в академическое образование, но это уже другая история.
Глава 2: Первое свидание
Собственноговоря, именно в университете, на втором курсе, я и познакомился с DevOps‑ом. Это был обзорный, довольно короткий и скудный на знания курс длиной то ли семестр, то ли вовсе три месяца. Там был стандартный набор теории о практиках, базовый обзор инструментов на уровне «Ansible — шоб хосты настраивать» и насколько лабораторных работ.
Самой интересной и сложной на тот момент оказалось написание приложения на Python, описание Dockerfile под этот проект и реализация CI/CD через GitHub Actions. Можете смеяться, но такое незамысловатое задание заняло у меня двое суток почти непрерывной работы. С приложением, как и с докером я справился довольно быстро, но CI/CD.. Тут не линтится, там креды не те, в другом месте синтаксис кривой, так ещё и каждая попытка — 5 минут на исправление + 5 минут на повторный запуск. Забегая наперёд, окажется забавным, что именно с CI и началась моя карьера.
Итак, свидание оказалось неудачным и как сейчас помню свои мысли: "Ни за что не стану девопсом" (ага, не стал).
Глава 3: Всё-таки стал
Заканчивался второй курс, уже два года я подрабатывал преподаванием, работой в ВУЗе и выполнением лабораторных работ за деньги, но начал вставать вопрос о поиске нормальной работы, потому что 15.000 в месяц молодому парню с большими желаниями стало не хватать. Тогда‑то и началось хождение по кругам ада. Составление резюме, отклики, отказы, изучение нового, pet‑проекты. Самое главное в этом, что всё бестолку — ни одного релевантного предложения и даже ни одного собеседования. Тогда‑то я и отчаялся. Наверное стоит уточнить, что тогда я старался устроиться на позицию Go‑разработчика, плавно перейдя на этот прекрасный язык с Python.
Когда я совсем уже было расстроился, один из универских преподавателей поделился ссылкой на карьерный сайт одной из компаний, которая открыла набор на стажировку. Направлений было много, но большинство в других городах или с абсолютно не понятным мне стеком. Настолько непонятным, что я даже не осозновал чем примерно люди там занимаются. Но моё внимание привлекло направление DevOps‑инженер.
Бегло посмотрев вакансию, я обрадовался, что там в требованиях написаны Go и Python и почему‑то меня это успокоило, хотя я абсолютно упустил из вида требование о знании Linux, сетей, Jenkins, Docker и прочих всем вам известных технологий. Как же зря, скажу я вам...
Решено, откликаюсь! И вот через неделю мне назначили тех. собес. Конечно же я к нему готовился. Проштудировал все свои материалы по Go и Python, посмотрел тонны Mock‑интервью, прочёл кучу статей и, самое забавное, за три дня до собеса запоем посмотрел 12-часовой курс по Linux и Docker от какого‑то индуса. Почему‑то тогда казалось, что этого достаточно.
Перед собеседованием я так переживал, что за всю ночь ни разу не сомкнул глаз и к 9 утра подключился к звонку с явным нежеланием жить общаться с людьми. Передо мной оказалось на удивление много людей. Это были 2 или 3 DevOps‑команды, всего 6 человек — все матёрые дядьки с годами опыта в сисадминстве. Тут‑то и вскрылось, что оказывается в этой профессии надо бы знать Линукс. Потому что на протяжении всего часа, что длилось собеседование меня по кругу гоняли по всё более сложным вопросам. Естественно на большую часть я не ответил правильно, но везде старался додуматься и предположить, как бы это могло работать. Думаю это меня и спасло. Другие темы не стоят внимания, так как вопросы по ним были действительно базовыми на уровне «чем CMD отличается от ENTRYPOINT».
Думаю не нужно говорить, что с собеседования я вышел полностью опустошённым и разочарованным. Было стыдно за свои знания. Тогда я решил, что с этой компанией покончено, надо двигаться дальше.
Однако через почти две недели мне прислали оффер на вдвое большие деньги, чем я предполагал. Так и начался мой путь.
Глава 4: Становление
Описание рабочего процесса будет более скудным, потому что тут вступает в силу NDA, но кое-что рассказать смогу.
За мной закрепили ментора, выдали технику, познакомили с командой и, конечно же, дали первую задачу. Сказать, что я выпал — ничего не сказать. В задаче куча непонятных слов. Я не то, чтобы не знал, как делать, я даже не понимал что вообще делать. Моя команда тогда плотно занималась развитием платформы для написания CI. Задача состояла в том, чтобы переписать легаси‑скрипт на новые подходы, используемые в платформе, а платформа эта была очень объёмной, так ещё и на джаве с присущим ей ветвлением директорий. Так что первые три дня я буквально просто искал тот самый легаси скрипт, который надо переписать. Да, всё верно — просто переходил из одной директории в другую в поисках нужного файла и его зависимостей. В процессе переноса столкнулся ещё с кучей багов, которые порождены ограничениями Jenkins, но о которых я ничего не знал.
Пропуская огромный кусок моей жизни - в итоге я разобрался со всем этим и стал основным контрибьютором в платформу, наравне с ментором, который её продумывал, придумывал и продвигал. Это был интересный, хоть и сложный период.
Глава 5: Завершение
Дальше в ход пошли Kubernetes, ArgoCD, Ansible, скрипты на Python, приложения на Go и прочее, и прочее. Я много учился, много читал, много пробовал, но уже с пониманием зачем и какую проблему это решает. Мне стали доверять более ответственную работу, выступления, собственные подпроекты, но это уже не относится к прыжку без парашюта, поэтому считаю лишним перегружать и без того объёмный текст.
Надеюсь, что эта статья поможет кому‑то, кто тоже пытается попасть в IT без опыта в коммерции, увидеть — любовь зла, полюбишь и... DevOps. Я попал сюда случайно, фактически без нужных знаний, потому что увидел знакомые буквы в одной из тонны вакансий, но полюбил это направление и никуда не хочу из него уходить. Быть может, и вам жизнь подкинет такой сюрприз, когда от «никогда не буду тут работать» вы пройдете путь до «тут круто, хочу связать с этим свою жизнь». Иногда для этого достаточно просто случайности, лида, увидевшего потенциал и классной команды, которая всегда готова помочь.
Спасибо всем кто дочитал и удачи в поиске своей работы мечты!
Автор: Revaqia