∞ Как освоить профессию инженера DevOps в 2021 году?
Разбираемся, как и что изучать, чтобы получить профессию инженера DevOps. Обязательно ли наличие технического бэкграунда или можно освоить необходимые знания с нуля?
Инженер DevOps отвечает за автоматизацию связанных с настройкой и развертыванием приложений задач. На его плечи ложится и мониторинг работы программного обеспечения. Для решения этих проблем применяются системы управления конфигурациями, средства виртуализации, а также облачные инструменты для балансировки ресурсов. В связи с широким списком обязанностей и стеком технологий, чаще всего в DevOps приходят опытные системные администраторы.
Можно ли освоить популярную профессию, обладая минимальными познаниями в IT?
Junior DevOps существует
Новичкам доступно несколько вариантов обучения:
- Стажировка в компании – хороший способ получить практические знания под присмотром опытных коллег, но требуется технический бэкграунд. Работодатели тщательно выбирают интернов, шанс попасть на такую стажировку с нуля небольшой. Обратите внимание на такие компании как EPAM или DINS.
- Обучение на платных курсах подходит для всех, независимо от опыта. Организаторы таких курсов следят за актуальностью изучаемого материала, информация структурирована и подаётся по возрастающей – от простого к сложному. Главное преимущество – проработка знаний на практических заданиях и к концу обучения у вас будет портфолио, которое можно прикрепить к резюме. Определиться с выбором курсов поможет этот ресурс.
- Самостоятельное обучение. В сфере IT специалисты-самоучки не редкость. Этому способствует доступность информации в сети: книги, документация, сообщества, каналы в YouTube – для занятий нужен только компьютер с доступом к интернету. Выбирая этот путь, вы должны быть хорошо мотивированы и дисциплинированы. Самое главное здесь – последовательность и постоянство. Лучше уделять образованию один-два часа каждый день, чем заниматься целый день раз в неделю.
Базовые знания для карьеры в DevOps
Рассмотрим необходимые навыки для развития в направлении DevOps. Если вы новичок – следуйте нашим рекомендациям по-порядку. Мы подготовили план с указанием необходимой литературы, видеоуроков и ссылками на предыдущие статьи.
1. Изучите основы построения компьютерных сетей, модели osi, tcp/ip.
Рекомендуемая литература:
- Э. Таненбаум «Компьютерные сети»;
- В. Олифер «Компьютерные сети. Принципы, технологии, протоколы»;
- Д. Куроуз «Компьютерные сети. Нисходящий подход».
Эти книги помогут вам заложить прочный теоретический фундамент, а практический опыт можно получить из книг по подготовке к CCNA и программы Cisco packet tracer:
2. Изучите unix-системы, в частности GNU/Linux.
Какой дистрибутив выбрать – не так важно. Изучив один, вы легко перейдете на другой. Обязательно установите Linux и изучайте команды на практике (можно работать в виртуальных машинах). Это позволит опробовать разные дистрибутивы и свободно экспериментировать с командами и конфигурационными файлами, не боясь что-то испортить. Виртуальную машину нетрудно удалить и создать новую или восстановить из снапшота.
Книги и видеоуроки по Linux:
- Э. Немет «Unix и Linux руководство системного администратора»;
- Д. Кетов «Внутреннее устройство Linux»;
- Как работает Linux;
- Основы GNU/Linux.
3. Изучите скриптовый язык программирования.
На Bash обычно пишутся сценарии конфигурации сервера – это хороший выбор для работы в современных облачных средах с контейнерным хранением и микросервисами.
- В «Библиотеке программиста» есть статья о быстром изучении bash;
- А. Роббинс «Bash. Карманный справочник»;
- Видеоурок по Bash (англ.).
Python – один из самых популярных языков программирования. Инженер DevOps не является разработчиком, ему не требуется глубокое понимание языка и принципов ООП. Для создания небольших скриптов достаточно изучить основы синтаксиса, типы данных и циклы.
- Python: от новичка до профессионала;
- Python с нуля за 30 минут;
- Э. Свейгарт «Автоматизация рутинных задач с помощью Python»;
- Т. Хирьянов «Практика программирования на Python».
Рабочие инструменты инженера DevOps
Не пугайтесь, даже опытный инженер не знает все указанные в приведенной выше таблице инструменты. В каждой компании используется свой технологический стек, но общие принципы подбора инструментов одинаковы. Если на новом проекте вы сталкиваетесь с новой для себя технологией, вам придется ее изучить: читайте документацию, разбирайтесь, советуйтесь с коллегами. Стремление к обучению – важный софт-скилл для айтишника.
Выделим основные инструменты:
- Git – система контроля версий;
- Jenkins – обеспечение непрерывной интеграции(CI, англ. Continuous Integration);
- Ansible – система управления конфигурациями;
- Docker – контейнеризация приложений;
- Terraform/Kubernetes – системы оркестрации;
Изучать новые технологии лучше всего с официальной документации. Она бесплатна и содержит все необходимые инструкции для работы с инструментом. Потом можно переходить к чтению книг сторонних авторов и просмотру роликов на YouTube. С нашим рейтингом книг по DevOps можно ознакомиться в этой статье.
Каналы по DevOps на Youtube:
- ADV-IT – Денис Астахов, опытный инженер DevOps со множеством сертификатов. На его канале есть плейлисты по всем необходимым инструментам. В своих уроках Денис доступным языком и на практических примерах объясняет с чем придется столкнуться будущему специалисту. Единственный минус – не всегда грамотно поставленная речь, так как Денис живет и работает в Канаде.
- Kirill Semaev – еще один канал по обучению Linux и практикам DevOps. Ко всем видеоуроками есть презентации и практические примеры. Недостаток – контент давно не обновлялся.
- DevOps Channel – канал о конференциях по тематике DevOps. Он будет полезен не только в целях обучения, но и для расширения кругозора.
Другие статьи про DevOps в «Библиотеке программиста»:
Хочу научиться программировать с нуля, но не знаю, с чего начать. Что делать?
Можно учиться самостоятельно (долго) или пойти на курсы с преподавателями (быстро). Плюс нужно учитывать, что джунов много, конкуренция выше и работодатели повышают порог вхождения при найме на работу. Чтобы получить актуальные знания, мы в proglib.academy запустили курсы:
- Основы программирования на Python.
- Профессия Python-разработчик.
- Алгоритмы и структуры данных.
- Математика для Data Science.
- Профессия Data Science.
- Frontend Basic: принцип работы современного веба.
- Профессия Фронтенд-разработчик.
- Обработка естественного языка. Полный курс.
На подходе еще больше 10 курсов для взрослых и детей.