{"id":14270,"url":"\/distributions\/14270\/click?bit=1&hash=a51bb85a950ab21cdf691932d23b81e76bd428323f3fda8d1e62b0843a9e5699","title":"\u041b\u044b\u0436\u0438, \u043c\u0443\u0437\u044b\u043a\u0430 \u0438 \u0410\u043b\u044c\u0444\u0430-\u0411\u0430\u043d\u043a \u2014 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0433\u043e\u0440\u0435","buttonText":"\u041d\u0430 \u043a\u0430\u043a\u043e\u0439?","imageUuid":"f84aced9-2f9d-5a50-9157-8e37d6ce1060"}

Интервью с инженером-DevOps: как попасть, где учиться и зачем нужен DevOps-подход

DevOps-инженер сейчас одна из самых популярных профессий в мире IT. Но такой специальности не существует в вузах. Как же тогда стать ДевОпсом? Команда школы программирования “Пиксель” в рамках проекта “Интервью с состоявшимися специалистами в мире IT” пообщалась с DevOps-инженером. Александр Михайлов поделится своим опытом – он уже 2 года работает в этой сфере, до этого 9 лет работал системным администратором.

Где учиться на ДевОпса, как пройти собеседование и зачем нужен DevOps-подход, читайте в нашей статье.

Сколько тебе лет? Какой вуз закончил?

Мне 31 год, окончил Омский государственный университет путей сообщения, факультет ИАТИТ, специальность Информационная безопасность телекоммуникационных систем.

Почему решил уйти в сферу программирования?

Я не скажу, что я ушел в программирование. Потому что по своей специализации я инженер DevOps, я не разработчик. Но в специализации DevOps навыки программирования важны.

Я полюбил компьютеры еще в школе. Мне было интересно, как они работают. Поначалу я относился к компьютерам, как к средству развлечения – я много играл в компьютерные игры. Со временем мне стало интересно, как эти машины работают, что у них под капотом.

Ты занимался дополнительно программированием: кружки, секции, самостоятельные пособия?

Да, но немного. В школе у меня было программирование на языке Basic и Pascal, затем оно было в институте на языке C++ и Assembler.

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

Назови три причины, почему стоит выбрать программирование как профессию.

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

Какими навыками должен обладать программист?

В первую очередь нужно знать язык программирования и уметь писать на нем код, работать с git или в крайнем случае с другой системой контроля версий.

Важно хотя бы минимально знать язык запросов SQL, чтобы работать с системами управления реляционных баз данных, компьютерную сеть и понимать, как приложение работает с сетью, а также архитектуру компьютера и операционной системы.

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

Что нужно сделать, чтобы стать успешным в этой профессии?

Что отличает плохого разработчика от хорошего? Хороший более алгоритмичен и логичен в своих действиях.

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

Кто такой DevOps-инженер?

Избитая тема, которая все еще вызывает споры. Постараюсь объяснить так, чтобы каждая мама поняла. DevOps-инженер – это наполовину разработчик, наполовину системный администратор. Он работает только там, где идет процесс написания программного обеспечения. Работа инженеров DevOps должна быть направлена на то, чтобы облегчить процесс разработки, сократить значение параметра time-2-market – время от начала разработки программного продукта до его выпуска в боевую эксплуатацию. Девопсы стараются сгладить все углы и сделать этот путь максимально гладким и быстрым.

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

В определение инженера-DevOps можно добавить еще пункты, но для непросвещенного в эти вопросы человека такого объяснения будет достаточно. Больше — уже перегруз. Некоторые люди не согласны с таким названием должности, как DevOps-инженер, и настаивают на том, что она должна называться «специалист по DevOps-практикам» или «инженер по DevOps-практикам». Я понимаю оба лагеря и на эту тему не спорю. По мне, инженер DevOps больше роль в техпроцессе, нежели должность.

Сколько зарабатывает DevOps-инженер?

Когда я увидел свою нынешнюю вакансию в Telegram-канале, там была указана зарплатная вилка 150-250 тысяч рублей. Но она может быть различной в других компаниях.

Как попасть в DevOps-инженеры?

Для начала нужно искренне захотеть. Потом понять философию DevOps, понять практики и инструменты DevOps, освоить их и попробовать пройти собеседование. В вузах конкретно на DevOps-специалиста не учат, так что стать им теоретически может любой ИТ-специалист. Чаще всего ими становятся системные администраторы, а затем уже тестировщики, и еще реже – разработчики.

Расскажи, как проходило твое собеседование.

Каждый раз – немного по-разному. Это зависит от собеседующей стороны. Но всегда неизменными будут вопросы о прошлом опыте работы кандидата и технические вопросы на знания и умение пользоваться конкретными технологиями и инструментами. Инструменты могут быть различными, и не обязательно уметь всеми ими пользоваться. Можно научиться под конкретную задачу.

Также бывают тестовые задания. Мое собеседование в компанию, где я сейчас работаю, длилось чуть больше полутора часов. Мне задавали технические вопросы, обрисовывали ситуации и спрашивали, как бы я в них действовал. Один из собеседующих задал мне вопрос, на который я ответил. Но он сказал, что неверно. Поэтому я включил показ своего экрана через Zoom, залез на официальный сайт за ответом и показал ему, что имею в виду. Оказалось, мы просто друг друга немного не поняли. Но в итоге меня взяли. Потому что они увидели, как я действую, если сомневаюсь в ответе.

Часто кандидатам, претендующим на должность DevOps-инженера, дают какие-то тестовые задания при приеме на работу?

Да, бывает. Тестовые задания зависят от принимающей стороны: у кого-то это обязательный пункт, без которого не пригласят на интервью. Но тестовые задания отнимают много времени, как у работодателя, так и у кандидата. Много времени занимает и составление, и проверка такого задания, поэтому каждый работодатель решает сам, нужно ли это ему.

Из всех собеседований, которые я проходил за свою карьеру, мне давали тестовые заданий. Но таких случаев было всего 4-5. Здесь больше интересна предметная область, которой владеет специалист, при разговоре все становится понятно.

Как проходит твой рабочий день?

Пока что я работаю дистанционно. Каждое утро созваниваюсь по Zoom с коллегами по цеху и по проектам. Еще до созвона я могу почитать какие-то новости из ИТ-сферы, часто читаю Habr. Потом, в течение дня, когда выполняю задачи, тоже нередко созваниваюсь для обсуждения. Результаты работы фиксируются в задачах в Jira.

Несмотря на удаленный формат работы, наша специфика такова, что всегда видно, кто «лажает». Поэтому не получится ничего не делать.

Главное преимущества DevOps-подхода на твой взгляд?

Лучше на этот вопрос ответят менеджеры проектов или владельцы продуктов. Потому что они заведуют организаторскими процессами. Девопсы же технические специалисты.

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

Что больше всего может помешать компании в DevOps-трансформации?

Больше всего может помешать закоренелый взгляд и нежелание меняться. Основная проблема в умах людей.

Какие инструменты и технологии сегодня непременно есть там, где говорят о DevOps?

Я расскажу о самых часто встречающихся. Обязательно знание Linux, git, в практиках CI/CD (Continuous integration/Continuous delivery + Continuous deployment) – это Jenkins.

Контейнеризация на примере Docker. Журналирование событий на примере связки Logstash/Fluentd+ElasticSearch+Kibana. Мониторинг на примере Prometheus+Grafana. Оркестратор на примере Kubernetes.

Менеджер очередей на примере RabbitMQ или Kafka. СУБД SQL на примере PostgreSQL и NoSQL на примере MongoDB.

Подход “инфраструктура как код” (infrastructure as a code, IaC) на примере Terraform и Ansible.

И облачные сервисы на примере Amazon Web Services.

Как учиться и что читать? Где ты чаще всего сам читаешь новости отрасли?

Последнее время я читаю новости на трех русскоязычных порталах – habr.com, opennet.ru и xakep.ru. Кроме этого, я подписан на множество Telegram-каналов:

  • оживленный обсуждениями чат на тему DevOps | https://t.me/devops_ru
  • канал про системное администрирование на Linux, но пригодится и для DevOps | https://t.me/SysadminNotes
  • канал с книгами, статьями и документацией по Linux и DevOps | https://t.me/linux_books
  • канал со статьями и руководствами по DevOps и SRE | https://t.me/devopslibrary,
  • канал со статьями на тему DevOps и SRE, а также о технологиях и бизнесе в сфере ИТ | https://t.me/zavtra_oblachno

У тебя есть дети? Ты бы хотел, чтобы твои дети стали программистами?

Детей пока что нет. Но я бы хотел, чтобы мои дети умели программировать. Но не хочу насильно заставлять ребенка становиться разработчиком. У детей будут свои головы на плечах, они сами сделают выбор, который им нравится. Но если этот выбор окажется разработкой, я буду рад чуть больше.

Процесс программирования “включает голову”. Активная умственная деятельность способствуют образованию новых нейронных связей – синапсов. Так же как игра на музыкальных инструментах, рисование, чтение, счет, программирование позитивно влияет на мозг ребенка, развивает его. Это классный тренажер.

В Советском Союзе был такой ученый, выдающийся программист Андрей Петрович Ершов. И он говорил: «Программирование – вторая грамотность». В 1981 году он даже написал книгу с таким названием. Ершов толкал людей на то, что программировать – это очень круто. Люди становятся более логичными, расчетливыми, структурными.

Какой язык программирования ты бы посоветовал начать изучать новичку? Какой ты используешь язык программирования?

Раньше я использовал Groovy и немного Python. Новичку я бы посоветовал начать с Python, потому что он проще в освоении. Еще я бы посоветовал обратить внимание на Java и на Go. Они сейчас очень популярны.

0
4 комментария
Мария Биневская

Закоренелый взляд мешает не только в ИТ. Пока у нас в поликлиниках будут вести карточки пациентов в тетрадях, ни о какой трансформации не может быть и речи)))

Ответить
Развернуть ветку
Школа программирования Пиксель
Автор

Абсолютно с вами согласны!

Ответить
Развернуть ветку
Инна Лоппи

Наблюдается эволюция профессий. Интересно, какие профессии в мире IT появятся ещё в ближайшем будущем? 

Ответить
Развернуть ветку
Школа программирования Пиксель
Автор

Согласны. Думаем, что в будущем получат развитие профессии, связанные с искусственным интеллектом и нейроинтерфейсами.

Ответить
Развернуть ветку

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

Развернуть ветку

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

Развернуть ветку
1 комментарий
Раскрывать всегда