Редкие и дорогие. Как стать DevOps-инженером
Кто такие DevOps?
Сейчас в IT-среде считается, что DevOps-инженеры всем нужны и очень дорого стоят. Недавно я участвовал в выпуске подкаста etence talks на эту тему и хочу поделиться своими мыслями о профиле этой профессии.
DevOps – это “development” и “operations” (разработка и оперирование). Методология DevOps появилась не так давно, когда ушел waterfall-менеджмент и все перешли на спринт-разработку. Понадобилось выкатывать релизы часто, быстро, желательно их в процессе тестировать, и чтобы на это требовалось как можно меньше людей. Вместе с инструментами, такими как GitLab, Jenkins, появились и соответствующие профессионалы. Они отвечают на основной запрос клиентов – скорость. И глобально, и в России сейчас большой спрос на таких специалистов, желательно уже готовых, чтобы сразу включились. Ни у кого нет времени учить.
DevOps-инженер – это высококвалифицированный специалист. Если программист, зная всего один язык, уже может писать программы и зарабатывать, то DevOps, помимо языков и прикладных инструментов, должен глубоко понимать принципы программирования и разработки. Нужно инженерное мышление, чтобы правильно скомпилировать или собрать в пакет то, что написал разработчик, чтобы правильно это развернуть, настроить систему, указать программистам, где что можно оптимизировать. Это несколько сложнее. Поэтому DevOps сейчас одна из самых востребованных IT-специальностей – и, соответственно, одна из самых оплачиваемых. DevOps-инженеры запрашивают – и получают – «300К в наносекунду».
Как стать DevOps?
Поскольку сама профессия молодая, идет в нее в основном молодежь. Типичный бэкграунд – сисадмин. 60-летние DevOps встречаются редко, но зависит от того, насколько человек готов развиваться и радикально менять подход. Объективно с возрастом становится сложнее усваивать новую информацию, меняться, нормально себя чувствовать в роли начинающего.
Главные факторы – это личная заинтересованность, возможности и чуть-чуть случай. Важно, с кем и как тебе доведется работать. Известный пример: физик Фарадей в начале был подмастерьем переплетчика, а в итоге стал ученым мировой величины. Повезло – познакомился с умным человеком, который разглядел его талант. Поэтому все зависит от нас и чуть-чуть от случая.
В идеале у DevOps-инженера должно быть техническое, инженерное образование.
Иногда классическое высшее образование ругают за устаревшие подходы. Если выпустить книгу по современным технологиям, пока она дойдет до университета, она уже устареет. И по каким учебникам учить? Тем не менее, формальное образование дает базу и кругозор. Математика помогает структурировать мышление. Что касается специальных профильных знаний, можно и самостоятельно выучить то, что говорили в вузе, с помощью курсов, литературы, огромного количества тьюториалов. Разница в том, как быстро и в каких условиях учить – спокойно за партой или когда у тебя уже все сроки горят. Можно учиться на своих ошибках. Ты не врач, твоя ошибка никого не убьет (хотя тут можно поспорить), переустановить Windows всегда можно. Но вот аналогия из моего опыта. У меня хобби – я программирую для себя. И так как у меня нет такого теоретического опыта в программировании, на простые вопросы – например, как правильно взаимодействовать со словарем в Python – у меня уходит очень много времени.
Eсли у тебя есть профильное образование, где тебе объяснили суть процессов, чем один подход концептуально отличается от другого, тебе будет потом проще. Иначе на гугление и чтение документации будет уходить намного больше времени, чем должно.
Знать свои лимиты
Но значит ли это, что не получится стать DevOps-инженером после курсов? Нет, не значит. Если есть опыт, кругозор и адекватная оценка того, что курсы дают только верхушку: что такое пайплайн, какие инструменты сейчас используются. Но есть еще очень много важных знаний, начиная с Linux и заканчивая мониторингом, которые придется добирать самостоятельно.
У нас в компании есть DevOps, который раньше работал в продажах, потом решил переучиться, закончил курсы и прошел полугодовую практику. На собеседовании он выглядел очень мотивированным и адекватно оценивал свой уровень: попросил сориентировать его, что изучать, был готов начать с джуна и просил адекватные деньги. Это верный подход для тех, кто приходит в профессию. Прошло около полугода, он уже «мидл минус».
И это не единственный пример. У «людей с курсов» без бэкграунда в IT есть шанс, если заинтересованность очень высока. Вначале будет сложно, но мозг пластичен, и со временем можно переучиться с любой профессии.
Тут важно с самого начала понять для себя, сколько усилий ты готов вложить, особенно если нет базиса и ты пришел из другой сферы. Из-за высокого порога вхождения даже на минимальный уровень в DevOps многие бросают. Если человек уже состоялся, у него есть какие-то представления о своем социальном статусе, но он почему-то решил переквалифицироваться, сначала его ждет резкое понижение и зарплаты, и статуса. Зарплата будет «джунская». Помните, как в сериале «Друзья» Чендлер решил сменить профессию и пойти в маркетинг, и как он себя чувствовал дедом среди молодежи? Внезапно я снова «джун» и должен слушать «мидла», который на 10 лет младше меня. Это психологически сложно.
Про космические зарплаты
Один коллега рассказывал про DevOps-инженера, который на собеседовании запросил 760 тысяч. И у него был оффер на эту сумму! Кто-то был готов столько платить. Это сегодняшняя конъюнктура рынка. В IT есть выбор и есть кадровый голод. У софтверного бизнеса большая маржинальность, такие компании могут себе позволить платить больше. Но рынок явно перегрет, и ситуация может измениться. Кстати, в среднем по IT-отрасли зарплаты в этом году, насколько я знаю, упали на 15-20%.
Подводя итог: при огромном желании можно переучиться на DevOps-инженера из кого угодно, если есть способности, и через 3-4 года работы получать упомянутые в начале 300К. Для этого необходимо постоянно набирать разнообразный опыт, прокачивать hard skills, действительно упорно заниматься саморазвитием, сразу применяя новые навыки на практике. Если вы на это готовы и не теряете мотивации, то через несколько лет результат придет.