Что поможет стать успешным DevOps и какие технологии будут актуальны: рассказывают сеньоры

Что поможет стать успешным DevOps и какие технологии будут актуальны: рассказывают сеньоры

Одна из основных проблем украинских DevOps — низкий уровень навыков программирования. Но на что еще обратить внимание, чтобы стать крутым специалистом, который с лёгкостью устроится и в местную компанию, и за границей себе сможет подыскать место? Web Academy расспросила пятерых профессионалов, которые работают DevOps не один год.

DevOps 1

Сергей Матюшенко

DevOps, EDIN, тренер Web Academy

Где DevOps-инженеру брать полезную информацию. Из книг советую:

Больше об этих и других книгах тут.

Из блогов полезны:

А в YouTube можно смотреть:

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

Как выстроить эффективную работу в DevOps-команде, и кому в ней нет места. Эффективная работа возможна, если есть единая система мотивации как разработчиков, так и cloud/operation инженеров. Нужно ставить краткосрочные цели на 3-6 месяцев, давать возможность команде менять приоритеты и адаптироваться под потребности бизнеса. Команда должна быть полностью взаимосвязана, иметь плоскую структуру. Это единая система, члены которой могут выполнять задачу, которая лежит в ее компетенции. И в такой команде не должно быть людей с низким уровнем soft skills.

Технологии, которые будут актуальны в ближайшее время, и с которыми придется работать DevOps. Clouds, кластерные системы, контейнеры и Serverless. Больше внимания будут уделять защите информации, накоплению и обработке больших массивов данных.

Легко ли DevOps-инженеру из Украины найти свое место в заграничной команде. Инженер высокого уровня может легко найти позицию для себя, но нужно будет учиться soft skills, умению работать четко по методологиям. Необходимо учиться мотивировать себя в работе с рутиной, стремиться упрощать системы, а не усложнять их. В целом, уровень IT-специалистов в развитых странах высокий — мои коллеги обладают глубокой экспертизой в конкретных областях. А в Украине большинство коллег владеют многими инструментами, но на более низком уровне. Кроме того, большинство «DevOps» в Украине недостаточно владеют навыками программирования.  

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

Аутсорс требует частой смены технологий, что не позволяет остановиться на ограниченном стеке и углубить знания. IT развивается настолько быстро, что человек банально не успевает все читать. Это приводит к нарушению life-work баланса и выгоранию. Большинство проектов, которые попадают на аутсорс, не являются интересными и новыми, сдерживают развитие.

DevOps 2

Мирко Геринг

Global DevOps Practice Lead, Accenture

Где DevOps-инженеру брать полезную информацию. Книги от Джина Кима и его команды. Я опубликовал свою книгу вместе с ним и очень этим горжусь, поскольку каждая книга открывала для меня новые перспективы. Еще выберите где-то десятерых DevOps — лидеров мнений — и подпишитесь на них в Twitter. Обычно я нахожу что-то новое для себя каждую неделю. Также мне нравятся подкасты вроде Arrested DevOps, Mik+One и Agile Amped — их я слушаю довольно часто.

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

Ближайший курс по направлению: DevOps for Sysadmins

Как выстроить эффективную работу в DevOps-команде, и кому в ней нет места. Все дело в поиске подходящих людей. Я верю в full stack команды, а не в full stack инженеров. Получите правильное сочетание технических и личностных навыков, и вы станете победителем. Чтобы выжить и быть успешным, нужны все навыки в команде. Люди, которым нет места, — это евангелисты и те, кто не способен изучать новое.

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

Легко ли DevOps-инженеру из Украины найти свое место в заграничной команде. Сейчас работать удаленно стало проще — местоположение играет меньшую роль. Я живу в Австралии и здесь местонахождение обычно имеет большое значение, но сегодня я набираю на свои проекты нужных людей из любой точки, поскольку мы в основном работаем из дома. Я думаю, что то же самое и в Европе. Что по-прежнему имеет значение, так это часовые пояса, поскольку проводить время виртуально со своей командой все еще очень важно.

Проблемы, с которыми DevOps сталкиваются чаще всего. Самая большая проблема в том, что многие организации не знают, как оценивать прогресс. Как мы действительно узнаем, что все работает? Лично я использую Value stream mapping, чтобы определить узкие места и области, которые нужно улучшить. Его можно запускать каждые несколько месяцев, чтобы увидеть улучшения и определить следующую область возможностей.

DevOps 1

Александр Вильчинский

DevOps Competency Manager, Symphony Solutions

Где DevOps-инженеру брать полезную информацию. В последнее время очень нравится смотреть YouTube канал «Диджитализируй!». Но это больше для развлечений. А для академических знаний советую прочесть:

Чтобы оценивать проблемы, с которыми сталкиваются DevOps-инженеры, рекомендую присоединиться к «УкрOPS».

Какие навыки основные для DevOps-инженера. Прежде всего, DevOps-инженер должен быть девелопером — иначе он просто Ops. Тяжело быть хорошим DevOps-инженером без ощущения проблематики, когда просто используешь трендовые тулзы, потому что так все делают. Также DevOps-инженер должен обладать развитым чувством эмпатии, чтобы чувствовать, что именно можно и нужно автоматизировать.

Как выстроить эффективную работу в DevOps-команде, и кому в ней нет места. Эффективная команда — та, где роли DevOps просто не существует, также, как не существует и менеджерских ролей. Но чтобы создать такую команду, нужно много учиться. В идеале DevOps-инженеры должны становиться девелоперами, а девелоперы — DevOps-инженерами. В такой команде однозначно нет места людям, которые не хотят учиться и меняться.

Технологии, которые будут актуальны в ближайшее время, и с которыми придется работать DevOps. Однозначно все больше компаний будут развивать свои онлайн-сервисы и мигрировать в «облако». Соответственно, оптимизация средств на содержание инфраструктуры, миграцию и быстрое прототипирование будут основными трендами следующего года.

Легко ли DevOps-инженеру из Украины найти свое место в заграничной команде. Если знаете английский, это не проблема. Сегодня весь мир открыт и закрыт одновременно. И не обязательно ехать в США, чтобы работать на Google или Facebook. Благодаря интернету все возможно, даже не выходя из дома и не покидая Украину. Украинских инженеров очень ценят на рынке труда — просто посмотрите видео Uncertainty is Ukrainians’ competitive advantage в YouТube.

Проблемы, с которыми DevOps сталкиваются чаще всего. Прежде всего, это классические проблемы вроде Configuration Management, Infrastructure as Code, CI/CD, Monitoring, Security. В первую очередь, DevOps-инженер сталкивается с построением CI/CD, и как раз здесь очень хорошо, когда у него есть опыт программиста, когда он может оценить, насколько удобно пользоваться построенным CI/CD.

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

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

DevOps 3

Александр Снеговой

Cloud & DevOps Architect, DataArt

Где DevOps-инженеру брать полезную информацию. Документация — лучшее место. CatOps канал в Telegram тоже хорош, там довольно много полезной информации. Еще есть ряд GitHub проектов с полезными ссылками и материалами, но я бы не выделил какой-то конкретный.

Какие навыки основные для DevOps-инженера. Понимание процессов и практик SDLC, CI, CD, IaC, контейнеризация. Есть еще много компонентов, но эти я считаю основными.

Как выстроить эффективную работу в DevOps-команде, и кому в ней нет места. Я встречался с подходом, когда DevOps команда предоставляет продуктовым командам платформу для работы (единый подход и реализация CI/CD, шаблоны для часто встречающихся компонентов и т.д.). В такой модели все команды независимы, и в ней нет DevOps’а на команду, а это требует от разработчиков понимания DevOps практик. Не скажу, что всё получается сразу, но спустя время работа в таком режиме проходит довольно комфортно.

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

Технологии, которые будут актуальны в ближайшее время, и с которыми придется работать DevOps. Kubernetes как стандарт для контейнеров (что в общем-то уже произошло) и всё в его экосистеме, так называемое kubernetes-native. Multi-cloud/Hybrid Kubernetes, например, с помощью GCP Anthos.

Легко ли DevOps-инженеру из Украины найти свое место в заграничной команде. Ни разу не встречал проблем с тем, чтобы DevOps не мог найти себе работу за границей или в иностранной компании. Коммуникация — это неотъемлемая часть работы, и кто как не этот самый DevOps-инженер будет помогать команде/командам применять DevOps практики.

Проблемы, с которыми DevOps сталкиваются чаще всего. Первое — отсутствие контроля доступов. Это можно решить так: доступ закрывается всем и выдается гранулярно с включенным логгированием для аудита. Второе — недостаток автоматизации, что выливается в мануальные действия. Проблема решается тем, что выделяется время на автоматизацию и осуществляется переход к automation first подходу, чтобы все действия были воспроизводимы. Третье — отсутствие или не актуальность бэкапов, что выливается в огромные проблемы, когда, что-то идёт не так. Чтобы решить эту проблему, нужно не только делать бэкапы регулярно, а еще и проверять, что из них можно нормально восстановиться за приемлемое время.

DevOps 4

Леонид Четвериков

Senior DevOps Engineer, ELEKS

Где DevOps-инженеру брать полезную информацию. Для саморазвития я получаю информацию из подкастов, дайджестов.

Один из самых любимых подкастов — Azpodcast. Здесь поднимают интересные темы, связанные с Azure. Очень понравился Azure Security Podcast — In-depth Container Security.

Также советую DevOps дайджест на DOU.  

Для старта карьеры полезен блог Nixys на «Хабр».

И, конечно же, официальные ресурсы общепринятых инструментов, таких как Terraform, Ansible, Git, Docker.

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

В качестве «вишенки на торте» — обязательное посещение официальных вебинаров от Cloud-провайдеров, к примеру AWS re:Invent, Microsoft Ignite.

Какие навыки основные для DevOps-инженера. В каждой компании есть свои матрицы компетенции. Как правило, они связаны с теми проектами, которые есть в компании. Основная же часть связана с Hard и Soft Skills.

По Hard Skills:

  • знание методологии CI/CD/CD;
  • обязательная компетенция в cloud, желательно — два или более, но в любом случае должны понимать и знать, что такое SaaS, PaaS;
  • скриптинг.

Из дополнительных скилов: Docker, CM (ansible или же что-то зависимое от платформы, к примеру, DCS). Также — 12 принципов микросервисов. Перечислять долго, но, к примеру, я в последнее время заинтересовался таким направлением как DevSecOps. Сейчас, когда именно онлайн-сервисы становятся все более популярными, тестирование DAST приобретает более глубокое значение.

Не стоит забывать и про Soft Skills, ведь специфика работы построена на контакте с разными командами, и DevOps-специалисту всегда нужно показывать высокий коммуникативный уровень, быть «рубаха-парнем»

Как выстроить эффективную работу в DevOps-команде, и кому в ней нет места. Есть стандартные метрики эффективной команды:

  • развитие;
  • обучение;
  • работа с внутренним клиентом (команды разработки и тестирования, операционные команды);
  • реакция на запросы внутренних клиентов;
  • управление ресурсами;
  • целостность команды;
  • инициативность сотрудников;
  • прогнозирование;
  • корпоративная культура и поддержка.

Очень важна инициативность сотрудников. В моем опыте есть хороший пример, когда «джун» сгенерировал и смог доказать идею на миллион.

Технологии, которые будут актуальны в ближайшее время, и с которыми придется работать DevOps. AI, ML, BigData, AR, IoT. Никогда не знаешь, чем придется заняться дальше. На хакатоне я сделал и обучил чат-бота корректно определять и отвечать на вопрос — в тот момент я использовал технологию LUIS от Microsoft. Очень понравилась сама технология машинного обучения. И, как результат, могу предположить, что именно чат-боты смогут полноценно заменить первую линию коммуникации с клиентом, предоставляя полноценный ответ на часто задаваемые вопросы.

Легко ли DevOps-инженеру из Украины найти свое место в заграничной команде. Однозначно да. Украина сейчас ориентирована на внешний рынок и очень часто DevOps из Украины выступает как team extension person, то есть расширяет уже существующую команду клиента. Да и знание огромного количество технологий позволит легко стать частью любой команды.

Проблемы, с которыми DevOps сталкиваются чаще всего. Из последнего — пришел на проект на базе .NET технологий, проект только стартовал и нужно было использовать некоторые нестандартные технологии. Главный мой прокол в том, что я не знал .NET и не смог оценить правильность написания кода, поэтому затянул с выдачей готового деплоймента.

Как говорится: век живи — век учись. Я получил опыт работы с .NET кодом, а как самый большой плюс — разобрался в докере до уровня работы namespaces уровня сети. Так что в любой неудаче всегда можно найти плюсы.