Как стать DevOps инженером, если у тебя темнеет в глазах, когда встаешь с дивана (Часть 1)

Как я менял направление в айти и превратился из сисадмина в джуниор девопс инженера в 30 лет.

Дедовский девопс-мем для привлечения внимания.
Дедовский девопс-мем для привлечения внимания.

Дисклеймер.

  • Данный пост не несет никакой практической пользы — это всего лишь проекция "ошибки выжившего". То, что у меня получилось перейти из сисадмина в личинку девопса не означает, что способ подойдет кому либо вообще. Я просто делюсь опытом.
  • Мемов и картинок будет немного, потому что я старый. Текста будет много, потому что я старый (всё еще) .
  • Пост делается по немногочисленным просьбам из комментов, но мне этого достаточно.
  • Я всего лишь джун, без большого опыта работы, но с внушительным опытом поиска работы. Мои результаты за 8 месяцев — 500+ откликов и около 100 собесов, из которых примерно половина — технические.
  • В пунктах "Что учил" и "Что спрашивали" пишу по памяти, но стараюсь развёрнуто. Что-то могу не вспомнить, какие то собесы моя психика блокирует, чтобы не вызывать флешбеки.
  • Всё что я описываю пережевано уже тысячу раз и написано лучше чем у меня. Я с этим смирился, прошу и вас это принять.
  • "Это не Хабр, зачем ты это сюда принёс?" Братишка, друг, другалёк, приятель — потерпи немного. 4-5 постов сделаю и больше не буду.

Немного бэкграунда.

Мне 30 лет, с 18 лет я кручусь в около айти: сначала эникей, потом windows админ, потом linux админ, всё это преимущественно в гос. организациях. Про DevOps я услышал где то 5 лет назад, что то изучать начал примерно полтора года назад.

Как я встал на скользкий путь.

Несмотря на то что про методологию DevOps я узнал ~ 5 лет назад, первые 3 года меня эта информация волновала мало — я хоть и работал в гос. конторе, зарабатывал вполне комфортные деньги за малый объем усилий. Самое сложное, особенно ближе к 30 — это сменить профессию имея при этом достаточно комфортные условия на текущем месте работы.

Казалось бы можно было дальше сидеть и не дергаться, но меня всегда вела дорога приключений (это ложь), поэтому где — то полтора года назад я начал почитывать про Docker, Kubernetes и прочее. Было интересно, пока не стало сложно. Я много раз забивал на обучение и начинал заново особо не продвигаясь. К 22 году я имел уже базовое понимание об основных инструментах и технологиях, но ключевое слово тут базовое.

Моя мотивация резко усилилась в феврале 2022 года, я даже не знаю почему, просто проснулся и ощутил жажду приключений и знаний, чудо, не иначе. Я стал глубже изучать тему и дополнительные инструменты, а в сентябре 2022 я почувствовал иррациональное, ни с чем не связанное желание отправиться в бессрочный отпуск в тёплые страны.

Ближе к делу.

Чтобы не растекаться мыслью по древу перейду к сути: что я учил, как учил и какие это вызвало у меня ощущения.

Пост будет разбит на несколько частей. Во-первых чтобы вам много не читать, во-вторых чтобы мне много не писать. Сегодня напишу про базу.

База, которая точно нужна и на которую я забивал (зря) .

  • Linux
  • Сети
  • Bash
  • Docker
  • Kubernetes
  • Git
  • CI/CD

Linux

Как учил:

Книжки издательства O’Reilly (те книги со всратыми животными на обложках), статьи на хабрах и иностранных ресурсах, а также переехал с винды полностью на линукс на домашнем пк, дабы так сказать полностью погрузиться. А еще всегда стоит помнить про команду man, которая даст тебе исчерпывающую информацию по той или иной команде и команду tldr, если в man много букв (осуждаю)

Что спрашивали:

Команды по работе с ресурсами системы: df, du, free, top и т. д.Команды связанные с чтением файлов или поиском данных: find, less, head, awk, grep и тд.Вопросы по устройству линукса: что такое «зомби» процесс, что такое системные вызовы, чем отличается sigkill от sigterm, что такое inode, что такое PID, chmod, curl/wget, SeLinux, что такое OOM killer.Список вопросов который покроет большинство вопросов с собесов

Сети

Как учил:

Сети учил давно, всякие старые книжки типа Олиферов + модель OSI (просто надо знать, слишком частый вопрос) , а также для практики, не имея серьезного сетевого оборудования под рукой использовал симулятор Cisco Packet Tracer — приложение от Cisco которое полностью эмулирует их сетевое оборудование. Позволяет разворачивать сетки любого размера и смотреть что не работает. Скорее всего на сайте Cisco его больше нет, но вы можете найти его на зелёном или синем сайте, где вы покупаете игры.

Что спрашивали:

Модель OSI, что такое https и в чем отличие от http, чем отличаются TCP и UDP, Что происходит, когда в строке браузера ты вводишь google. com и жмешь enter (вопрос про DNS) , маршрутизация, динамическая маршрутизация, ssh туннели, ssh агент, отличия ping и traceroute, как посмотреть таблицу маршрутизации в Linux и т. д.

Bash (Shell скрипты)

Как учил:

Помимо книг со смешными животными и статей из интернета лучший способ изучить скриптинг — найти для себя рутинную задачу, которую можно автоматизировать с помощью скриптов. Для примера бэкап данных, скрипт для диагностики сети и теста скорости интернета (я знаю, что есть пакеты, я тут не за этим). Если не хватает фантазии на придумывание задач — задайте вопрос нейросети, попросите придумать задачи которые можно автоматизировать баш скриптами, мне помогало.

Что спрашивали:

В целом ничего конкретного. Спрашивали как бы ты решил с помощью автоматизации ту или иную задачу. В целом для этого пункта достаточно знать теорию и написать 3-5 хорошо работающих скриптов.

Docker (контейнеризация)

Как учил:

Книжки со смешными животными, также пробовал упаковывать простые хелло-ворлды в контейнеры. И не забудь про docker-compose (про docker swarm можешь забыть) .

Что спрашивали:

Какая инструкция обязательно должна быть в докерфайле, отличия Add и Copy, что такое контейнер, что такое образ, что делает команда expose в докерфайле (это вопрос с подвохом), что такое контекст сборки, что нужно сделать когда приложению требуется несколько контейнеров, как выполнить команду в контейнере, как сделать так, чтобы данные из контейнера не пропали при перезапуске, как удалить лишние образы/контейнеры/тома, сетевые вопросы по контейнерам и прочее.

K8s (оркестрация)

Что кубер забыл в базе? Понятия не имею, но это тот мир, в котором мы живём. Пару лет назад он к базе не относился, сейчас про кубер спрашивают везде.

Как учил:

Книжки со смешными... пора мне придумать для них отдельное название, но книги крутые... Помимо книжек стоит обратить внимание на документацию кубера — она на удивление хороша. Также стоит (если есть возможность) попросить знакомых девопсов скинуть вам тестовые задания или сделать похожий запрос, но уже у нейросети. Для практики у нас есть minikube — маленький кубернетес кластер прямо на вашей машине. Также могу посоветовать K9s — консольная псевдографическая удобная утилита для работы с кластером, в т.ч. и с миникубом.

Что спрашивали:

Кубер на момент моих собесов считается уделом мидлов и сеньоров, поэтому вопросы не сложные, но есть.Что такое: pod, node, ingress, master, worker, namespace, stateful, stateless? Как бы ты строил свой кластер? Есть кластер, там 2 пода, на них PodDisruptionBudget minAvalible:2 что произойдет при применении kubectl delete pod на этом кластере?

Git (системы контроля версий)

Как учил:

В интернете информация по гиту есть везде и всюду. Могу посоветовать подтянуть знания гита, так как VScode не всегда под рукой или не всегда есть возможность тыкнуть кнопочку в программе для пуша/мерджа/ребейза, и даже когда кнопочка есть очень важно понимать что эта кнопочка делает.Вот тут можно потренироваться работать с Git

Что спрашивали:

Команды гита: pull, push, rebase, merge. Что такое черри-пик, отличия pull и fetch? Как найти список файлов, которые изменились в определенном коммите? и так далее.Вот тут хороший список вопросов с ответами

CI/CD (доставка кода)

Да, теперь это тоже база.

Как учил:

В этот раз без смешных зверей. Теория из интернетов и открытых уроков (даже интенсивы скиллбокса по девопсу внезапно норм). Практика — заводишь репозиторий на GitLab или GitHub создаешь проект и упражняешься с GitlabCI или GitHub Actions соответственно. В энтерпрайзе приоритетнее GitLab и Jenkins (но обычно можно просто сказать что Jenkins не знаешь, это нормально).

Что спрашивали:

Определения CI, CD, зачем это надо и какая от этого польза, виды деплоя, что такое раннер, что такое job, stage. Могут попросить описать твой идеальный пайплайн.

FAQu, asshole.

Q: Зачем так много?
A: Такой вот личный опыт. Некоторые собесы пролетали за пол часа, некоторые за полтора. Данный цикл — общий срез личного опыта большого количества собесов. Скорее всего не будет такого собеса где спросят хотя бы половину этих вопросов.

Q: Тут основы которые известны всем. Кому это надо?
A: Тем, кто спрашивал про опыт вкатывания в 30 лет + «крепким джунам» которые никак не могут найти работу, и почему то не знают эту базу (а это только первая часть)

Q: Где Python?
A: Бог уберёг. Почти не всплывал на собесах, но наверное сделаю часть про языки, которые могут быть полезными.

Q: Почему тут нет этого?
A: Забыл, исправлюсь.

Q: Почему ни слова про курсы?
A: Распишу в другой раз, но если вкратце — курсы не люблю. Мне они не помогли, возможно помогут вам, кто знает.

Q: Что по зарплатам?
A: Вообще по разному. Ходил на собесы с предложениями от 50 до 170к рублей. Слышал про джунов с зарплатами в 200-300, но не видел.

Q: Сам чего добился?
A: Пока что перешел от душной офисной работы на полную удаленку в европейской компании, с приятным графиком, большей зп, а главное — на интересную работу на которой надо работать головой, а инициативы не наказуемы, а обсуждаемы.

Q: Какие ответы на вопросы? Ты сам с собой разговариваешь?
A: Да.

Спасибо за внимание. До связи.

1313
13 комментариев

ПИШИ ИСЧО

3
Ответить

Хочу в ближайшее время все дописать, но завтра выходит baldurs gate (да, я из этих), поэтому не так быстро как мог бы

3
Ответить

Из сисадмина в девляпсы это деградация )

Ответить

Ну так мне на пенсию пора. Уступил хорошее место молодым, получается

2
Ответить

Чистый кубер в крупняке я редко встречал, там какие-то нюансы с тем что бизнесу хочет чтобы была более явная поддержка вендора
Вместо него часто вижу уже ред хат опеншифт стал появляться (и это в обход санкций) , по нему ещё могут задрочить

Ответить

У меня искажение да, я целился в основном в ЕС, там кубер часто спрашивали. Однако в РФ было собесов 20(кушать то хочется) на джуна опеншифт не спрашивали. Хотя пол года прошло, многое могло поменяться)

Ответить

Комментарий недоступен

Ответить