November 20, 2023

Свистелки и перделки карьеры девопс инжинера

О вещах привлекательных, но с околонулевым КПД. Все говорят, что это делать надо, а я считаю, что это фигня всё.

Изучение кодинга

Когда распространение девопсной культуры только началось, все никак не могли определить, насколько специалисты нового типа будут погружены в разработку. Отсюда родился миф, что девопс инженер обязан уметь программировать. Реальность такова: девопсу дают написать пару утилит для внутреннего пользования, и это в лучшем случае. Разработку разрабатывают разработчики, соответственно, если вы хотите программировать - вам туда. Почему я так зло об этом говорю? Есть несколько причин:

  • низкое качество кода, потому что некому дать обратную связь. Если попросить её у такого же девопса - 99% шанс что он скажет LGTM или будет холиварить, что нужно другой линтер использовать. Если попросить у разработчика - ну, остаётся только надеяться, что он хотя бы понимает, какой процесс автоматизирован. В итоге в эксплуатации висят вещи, которые очень сложно поддерживать. Пример: код элементарно не побит на функции. Я хочу удостовериться, что моя правка ничего не сломает. Если бы код был побит на функции, то я смог бы написать простой юнит-тест. Но так как этого нет, я буду как идиот запускать всю программу и ждать полчаса, пока она в один поток сделает ужасные селекты из базы с фулл сканом и напишет мне в конце, что у моей структуры нет такого поля. Тяжёлый вариант: владелец кода принципиально отказывается его улучшать - мол, это скрипт, ничего не знаю, всё работало а ты сломал;
  • код вообще не нужен, есть хорошо протестированные опенсорс-инструменты, которые делают то же самое, но в стопицот раз надёжнее. Кто приходил в компанию и видел стопицотую реализацию обновлятора сертификатов или копироватора секретов в кубернетесе, тот меня поймёт.

Для тех, кто хочет заниматься именно разработкой утилит для operations без отрыва на всякие типичные ops задачи типа починить пайплайн, могу посоветовать попытаться попасть в соответствующие команды в российских крупных компаниях. У кого есть свой тулинг - можно узнать в процессе просмотра всяких девопс-конференций.

Изучение линукса

Это типовой холиварный вопрос: надо ли знать линукс, если работаешь в основном в кубере и не помнишь, когда последний раз катил ansible или заходил на сервер по ssh. Бог свидетель - сколько я ни пытался задрочить какой-нибудь талмуд по админству линукса, все эти знания вылетали через месяц. Здесь, наверное, зависит от специфики работы. В общем случае девопсу не нужны глубокие знания линукса, а нужны глубокие знания кубера. Девопсу не заплатят за умение собрать систему фром скрэтч, девопсу платят за составление универсальных хелм-чартов и пайплайнов. Требования на собеседовании "знать linux" происходят от убеждения, что если кандидат осилил эксплуатацию линуксов, то всему остальному его можно обучить; к сожалению, это убеждение слишком оптимистично. Я бы сказал - а давайте наоборот: предполагать, что если человек знает кубер, то он и линукс сможет изучить, а значит, нечего спрашивать про лоад эверейдж и порядок загрузки ОС :)

Преподавание девопс-штук

Очень многие мои коллеги вели девопсные курсы. Спрос на подобные курсы очень высок, и в основном они энтри-левел. (То, что называется всякими advanced-курсами, таковыми на деле не является.) Может показаться, что это отличная идея - взять подработку и неспешно проводить пару-тройку занятий в неделю. На практике это не так просто. Если не брать общие для всех курсов вещи, то что говорить полтора часа это в принципе сложно, то есть специфические именно для DevOps моменты:

  • демки, которые показываешь на занятии, долго готовить - гораздо дольше, чем какие-то фокусы с программированием. Это потому что инфраструктура - тяжёлая штука. Создаёшь ты виртуалку с терраформом - бах, а у тебя аккаунт залочен, бах, а ключ не тот, бах, провайдер надо обновить. Хуякс, и в новом провайдере баг. Очень неловко потом мямлить и оправдываться, что aws такой нехороший;
  • в инфракоде сложнее выцепить ошибку, из-за этого высок процент недовольных. Ученики наезжают и бугуртят. Это неприятно;
  • если речь идёт о пошаговых лабах (специфический вариант курсов, когда читаешь под заказчика, не скиллбокс и гикбрейнс), то тебе приходится быть кем-то вроде эникейщика, так как сломанный vscode на компе ученика это лично твоя проблема;
  • подготовка к занятию это не только подготовка демо, но и вычитка и проверка всех слайдов и ДЗ заодно, потому что в девопсном мире всё обновляется постоянно, гораздо больнее чем в программистическом - очень много "движущихся частей", и они все относятся к инфраструктуре.

В целом, я удивляюсь, как кто-то находит в этом фан. Многие ещё распространяют миф, что пока объясняешь другим, то сам досконально разберёшься. Ну это совершенно не факт - доскональное разбирание это результат работы в проде, а не чтение мануала по вечерам.

Пиар своей работы вовне

Это больше относится к писанине статей на хабрахабре и выступлению на вышеупомянутых конференциях. В этом, разумеется, нет ничего плохого, кроме того, что 95% такого контента неоригинально. Люди обычно идут на такое, чтобы себя попиарить и поставить ссылки на подобный контент в резюме. Что ж - это производит впечатление разве что на HR. Насчёт конференций: во время просмотра у меня складывалось впечатление, что на любой конфе 50% выступлений это лютый боян (2-3 выступления это вообще доклады которые уже были на других конфах!), 25% докладчик сипит, заикается и слушать невозможно, и в итоге где-то четверть - это что-то невероятно новое. Я уже молчу про откровенную рекламу своих решений и услуг. Но если кто сильно упёртый, то я напомню, что подготовка к такому докладу - это прежде всего адское кусалово с редакторкой, которая про ваши девопсные штуки имеет самое слабое понятие и будет вам делать дурацкие замечания, а вы - терпеливо объяснять, почему такое-то слово это не сленг и понятно всем. Всё вышесказанное относится также и к писанине статей на хабр и другие издания, с той разницей что в комментах будет обязательно глупый флуд, а вы даже не сможете ответить "да ты пидорас мать твою ебал", потому что это корпоративный блог.

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