Кроме диплома: как получали опыт выпускники курса DevOps
Как всё начиналось: разыскиваются DevOps-инженеры
DevOps — это методология взаимодействия между разработчиками, тестировщиками и системными администраторами, которая превращает работу над IT-продуктом в непрерывный циклический процесс. DevOps-инженеры служат связующим звеном между разными IT-специалистами и помогают им синхронизировать усилия и автоматизировать технические процессы.
DevOps-инженеры — не менеджеры, а технические специалисты, но, тем не менее, коммуникация в их работе играет большую роль. В процессе обучения студенты чаще выполняли небольшие индивидуальные домашние задания между вебинарами — но нам (команде GeekBrains) также непременно хотелось дать им возможность проверить свои силы «в бою», работая в командах над большой задачей.
«Когда Git in Sky, пионеры формирования DevOps-культуры в России и одна из ведущих компаний на рынке DevOps-аутсорсинга, обратилась к нам с просьбой порекомендовать им перспективных студентов для возможного трудоустройства, мы предложили им самим выбрать себе новых потенциальных сотрудников, выступив для них в роли заказчика с реальным проектом.
Идея определенно была формата «win-win-win» — компания получала возможность оценить реальные профессиональные качества (в том числе и soft skills) своих будущих сотрудников, студенты – бесценный практический опыт, а мы — возможность понять, хорошо ли ребята усвоили материал и всё ли необходимое было им дано в теоретической части. Так что решено, проекту — быть!» — рассказала нам менеджер GeekBrains по партнерским проектам Анна Стерняева.
Формируем проект: команды, процессы, оборудование
Для защиты дипломного проекта студентам нужно было развернуть инфраструктуру веб-сайта компании, сконфигурировать сервера, а также настроить мониторинг, отказоустойчивость и резервное копирование системы.
При этом в техническом задании (ТЗ) были обозначены четыре контрольные точки (даты), к которым должны были быть закрыты определенные технические потребности. Например, ко второй контрольной точке должна присутствовать возможность восстановления системы из резервных копий.
Важно понимать, что DevOps-инженеры обычно работают в достаточно крупных компаниях с большой и сложной IT-инфраструктурой. Для выполнения задач уровня таких компаний нужны серьезные вычислительные мощности. За ними мы обратились к нашим давним партнёрам из облачной платформы Mаil.ru Cloud Solutions. К тому же использование облаков становится стандартом современной разработки и специалисты должны уметь работать с облаком и хорошо представлять возможности, которое оно даёт для создания новых цифровых продуктов. Каждой группе студентов было предоставлено шесть виртуальных машин — три для работы с базами данных, остальные — для работы с приложениями и средствами мониторинга.
«Нам понравилась идея того, чтобы помочь студентам получить востребованные на рынке знания и приближенный к реальной профессиональный жизни опыт, поэтому мы рады были предоставить ресурсы платформы Mail.ru Cloud Solutions для этого проекта» — отметил директор по маркетингу «Mail.ru Цифровые технологии» Вадим Кожин.
«Оценив ТЗ и задачу от Git in Sky, мы решили выделить на написание дипломной работы 17 дней — это вполне реальные рабочие сроки для такого проекта, а неопытность студентов при этом компенсировалась возможностью в любой момент проконсультироваться как с преподавателями факультета, так и с представителем заказчика. Нам важно было, чтобы студенты, впервые столкнувшиеся с объемным реальным проектом, не чувствовали себя растерянными и не стопорились в работе. Поэтому во всех чатах со студентами состоял и представитель заказчика, тимлид технической команды Git in sky Илья Бараулин, всегда готовый ответить на любые вопросы» — уточнил методист факультета DevOps Иван Нетреба.
Распределение на группы проводилось коллективом факультета, а не самими студентами — ведь в реальной работе, не будучи руководителем, люди обычно не могут сами подбирать себе коллектив. Было создано восемь рабочих групп по четыре человека — с расчетом на то, что задачу в отведённые сроки можно было бы выполнить и втроём, поскольку существовал риск того, что кто-то может «отвалиться» и команда останется в неполном составе. Забегая вперед, скажем, что на итоговой защите команд было шесть — где-то участники не смогли грамотно построить коммуникацию, кто-то оказался не готов к такому затратному по времени проекту из-за того, что уже нашел новую постоянную работу, или по иным причинам. Поэтому участников из не сложившихся команд просто перераспределили по другим группам.
Кстати, команды, студенты в которых не ограничивались общением в чатах, а проводили регулярные Zoom-созвоны, оказались более продуктивными и сплоченными. Всё-таки важно чувствовать рядом дружеское плечо, пусть и виртуальное.
Не для «преподов», а для заказчика: особенности дипломного проекта
10 июня мы провели установочную встречу с заказчиком для студентов, на которой коллеги из Git in Sky подробно описали задание и ответили на первые вопросы, после чего общение с заказчиками из Git in Sky переместилось в чаты для обсуждения проекта. Кстати, тех, кто проявил наибольший энтузиазм, и сразу стал сыпать идеями и предложениями, мы распределили по разным командам как потенциальных будущих тим-лидов своей группы.
Между брифингом и защитой у нас также было два вебинара-консультации — один с представителем заказчика от Git in Sky и второй — с преподавателем GeekBrains от факультета DevOps, на которых обсуждались как общие вопросы и рекомендации, так и проекты отдельных групп.
Для нас было важно создать реальную рабочую атмосферу, поэтому представитель Git in Sky выполнял роль не педагога, а именно заказчика — отслеживал процессы, запрашивал статус. Иногда заказчик мог намеренно что-то недосказать, чтобы проверить, напишет ли ему команда с уточнениями, оценивал также своевременность и полноту ответов на его запросы со стороны команд.
Ещё одной особенностью формата был жёсткий дедлайн — в день защиты необходимо было предъявить проект в том виде, в каком вы успеете его подготовить, даже если он ещё «сыроват», ведь в реальном бизнесе задержки грозят убытками для всей компании. А DevOps-инженер, как человек, отвечающий за техническую составляющую именно процессов, в первую очередь не должен выбиваться из сроков.
Защищая не только диплом
28 июня состоялась финальная защита проектов, которая тоже была максимально близка к реальности. Во-первых, непосредственно Ansible-коды (основные результаты работы) были предварительно размещены всеми командами в приватной инсталляции Gitlab и просмотрены заказчиком и педагогами. Во-вторых, командам нужно было презентовать не только получившийся код и инфраструктуру, но и свой подход к работе — какие этапы принятия решений были, как распределялись роли в команде, как строили коммуникацию.
Поскольку на факультете DevOps студенты изучают не какой-то один язык программирования, а методологию построения процессов, организационные аспекты работы экзаменационную комиссию интересовали не меньше, чем конечное решение.
Ну и, раз диплом представлял собой реальный проект, то и оценка за него была не «хорошо» или «удовлетворительно», а «проект принят заказчиком» или «проект не принят заказчиком». К счастью, все участники защиты проектов получили отметку «принято».
Обратная связь
Поскольку такой формат защиты был для нас экспериментальным, ещё на защите мы опросили всех студентов и попросили их поделиться своим мнением о проекте, а после также провели опрос о том, что можно было бы улучшить.
Оказалось, что с количественным составом и сроками мы в целом угадали — состав в 3-4 человека и продолжительность в 3-4 недели большинство студентов сочли оптимальными, единственным пожеланием было проводить подобные проекты чаще, не один, а 4-5 раз за весь период обучения в полтора года. Но главное — с точки зрения полезности проекта для профессионального развития большинство студентов оценило его на 10 из 10. А ещё немаловажным стало то, что сразу несколько участников проекта получили приглашения на собеседования и предложения по трудоустройству.
Довольными остались и Git in Sky:
«Сегодня многие компании, где необходимы DevOps- или SRE-компетенции, испытывают кадровый голод — достаточно сложно найти готовых инженеров на различные стеки технологий. Отбирая лучших мотивированных студентов среди учеников топовых школ, таких как Geekbrains, мы планируем вырастить из выпускников уже через 1-2 года настоящих профессионалов», — отметил Илья Бараулин.
Мы в GeekBrains стремимся делать обучение максимально практикоориентированным. Нам важно, чтобы студентам после завершения учебы было, что показать рекрутерам и обсудить на собеседованиях. Такой формат работы над дипломным проектом помогает сделать переход от учебы и теории к применению знаний на практике максимально плавным и комфортным.
А ещё нам важно знать, как наших студентов оценивает рынок, насколько они готовы к работе и конкурентоспособны, поэтому такой формат нам показался удачным и мы планируем развивать его и дальше — и не только в рамках факультета DevOps. Поэтому мы будем рады предложениям со стороны компаний и открыты к сотрудничеству и партнёрству.
DevOps-инженер — увлекательная и востребованная на рынке профессия, поэтому новые потоки обучения на этом факультете мы запускаем ежемесячно. Узнать больше о профессии DevOps можно на странице факультета.