Мы уже обучили и трудоустроили 47 отличных frontend-специалистов и не собираемся на этом останавливаться.
Как и в любой студии разработки, в MetaLamp остро стоит вопрос подбора новых кадров, в том числе и младших уровней. Казалось бы, набрать джуниоров просто — на любую вакансию для новичка откликаются десятки выпускников курсов и просто желающих войти в IT. Только проблема в том, что у этих людей нет реального опыта разработки.
И дело даже не в навыках разработки, хотя это безусловно важно. Дело в умении работать в команде, в том, умеет ли человек взаимодействовать с другими разработчиками.
Мы в MetaLamp решили эту проблему с помощью своего образовательного проекта, бесплатного для обучающихся. В нем есть теория, практические задания и самое главное — коллективное обучение. Забегая вперед, поделюсь результатами — командное обучение фронтендеров уже закончили 38 человек. Они устроились на работу к нам или к партнерам, а некоторые уже доросли до уровня Middle.
Меня зовут Роман Штых, я СЕО в MetaLamp. В этой статье расскажу, как у нас организован командный этап обучения, почему мы решили его ввести и что получили на выходе.
Что за программа обучения и зачем она нужна
Программу обучения мы начали делать в 2016 году — тогда это был список рекомендуемых источников знаний. Постепенно мы превратили это в пять заданий:
Два теоретических, где можно получить фундаментальные знания о верстке и программировании.
Два практических задания, где обучающиеся разбираются в тонкостях верстки и JavaScript, делают большие проекты в одиночку.
Пятое задание — код-ревью нашими сотрудниками проектов обучающихся и рефакторинг этих проектов.
Код-ревью проводят наши практикующие разработчики. Мы стараемся делать ревью как можно менее субъективным. Для этого знакомим обучающихся со стандартами разработки, принятыми в компании, а ревьюеры опираются на них в замечаниях к проектам.
Ревьюеров обычно трое. Сначала код проверяет вчерашний выпускник этой же программы обучения. Затем передаем проект на ревью разработчику поопытнее. Третий, финальный этап, проводит разработчик уровня Middle.
В 2020 мы добавили еще и командный этап, который проходит параллельно пятому этапу. О причинах его добавления мы поговорим ниже.
Идея программы обучения была в подготовке мотивированных разработчиков, которых мы сможем трудоустроить. Так и вышло, теперь это наш основной HR-канал. Через него мы привлекаем людей с развитой силой воли и желанием заниматься разработкой — ведь программа получилась объемной, учиться в среднем приходится 8-12 месяцев при 30 часах занятости в неделю. Заканчивают программу те, кому это действительно интересно.
Зачем понадобился командный этап
Сначала программа обучения состояла только из пяти этапов — после код-ревью можно было сразу проходить собеседование, и если все хорошо, устраиваться на испытательный срок. Но в 2020 году мы решили усложнить процессы и добавить параллельный код-ревью командный этап. Причин несколько.
Адаптация. После выпуска новичкам нужно время, чтобы разобраться с библиотекой из нашего стека, с React. В программе обучения ребята учат чистый JavaScript, чтобы понять фундаментальные принципы программирования. Как правило, после программы разобраться с библиотекой ни для кого не проблема. Но это занимало время, обычно несколько недель. Командный этап закрыл этот вопрос.
Экономия денег. Заказчики не всегда готовы платить за работу начинающего джуниора без опыта реальной разработки. Раньше мы предлагали использовать новых сотрудников в проекте без оплаты его времени. А чтобы человек не работал бесплатно, зарплату мы платили ему из своего бюджета. Теперь это не требуется — новый сотрудник после программы уже имеет реальный опыт командной разработки и может спокойно работать в коммерческих проектах. Так мы экономим от 1 до 3 месячных окладов трудоустроившихся к нам выпускников — именно столько времени нужно, прежде чем новичок начнет генерировать выручку для компании.
Обучение SCRUM. Современный разработчик должен не просто знать язык программирование, но и уметь работать в команде, по методологии. Конечно, в реальных проектах идеального скрама не бывает, он дорабатывается, подпиливается под команду. Но в нашей «песочнице» мы можем его имитировать, продемонстрировать новичкам общие принципы.
Близкое знакомство с человеком. Нам как команде важна прокачка софт-скиллов сотрудников. Будущие разработчики в командном этапе учатся разговаривать друг с другом, тренируются взаимодействовать со строгим и требовательным «заказчиком», который приходит за результатом раз в две недели. А мы смотрим на характер человека — как он общается, берет ли на себя ответственность, как ведет себя, если что-то пошло не так.
Софт-скилы в командной коммерческой работе очень важны. Например, ошибся начинающий разработчик с оценкой сроков. Как он поступит? Может быть, будет вкалывать ночами, чтобы успеть? Или попробует передоговориться, предупредив о проблеме заранее? Наконец, начнет искать виноватых среди коллег и будет оправдываться? О том, как ведет себя разработчик в сложных ситуациях, хорошо бы узнать до приема его на работу. Этот вопрос командная разработка тоже закрывает.
Командный этап как способ улучшить качество подготовки Junior-разработчиков
Когда первый ревьюер говорит, что у него больше нет замечаний к проекту, мы подключаем обучающего к командному этапу программы. Формируем команду из 4-6 человек, которые начинают делать проект.
Условия как в идеальной команде разработки: требовательные «заказчики», добрый скрам-мастер, внимательный продакт-оунер, скоростное изучение новых технологий, взаимное код-ревью. Конечно, ситуация хоть и является "песочницей", но мы все-таки приближаем ее к реальности: обучающихся ждут горящие дедлайны, меняющиеся по ходу проекта требования, и полная удовлетворенность результатами работы как итог этапа.
В роли проектного менеджера выступает наш сотрудник, тимлидом и «заказчиком» соответственно будут наши разработчики. Менеджер программы, то есть я, инициирует этот этап, контролирует и подводит итоги. После того, как я всех соберу вместе, команда действует самостоятельно, за организационной частью следит менеджер, за технической — разработчик. В роли тимлида он же отвечает на вопросы стажеров.
Продолжительность командного этапа — 2 месяца, или четыре спринта по две недели.
Как появление командного этапа отразилось на компании
Сейчас на командном этапе обучается девятая и десятая команда, а 38 человек уже закончили этот этап. Тридцать восемь человек, которые готовы делать коммерческие проекты на уровне крепкого джуниора, которые понимают, как работает скрам, которые умеют общаться с коллегами и заказчиками, планировать время на задачи. Их можно поставить на сложный проект, не тратя время опытного наставника.
После завершения командного этапа обучающиеся проходят собеседование, с нами или с нашими партнерами.
Выпускники программы, которые закончили все этапы обучения, трудоустроились. Результат — 100%.
После введения командного этапа у нас снизился поток выпускников. Ребята отсеивались, потому что программа усложнилась, потому что нужно было посвятить командному проекту минимум 15 часов в неделю в течение двух месяцев.
Поток уменьшился, но качество подготовки выросло. Теперь мы не только уверены в навыках потенциального коллеги, но и в его умении работать в команде.
Командное обучение как тренд в IT
Между курсами, рассчитанными на одиночное прохождение, и коллективным обучением огромная пропасть. Если смотреть на статистику, то получается, что так называемые персональные, самостоятельные курсы заканчивают мало студентов — в разных источниках говорится о 5-15%. В России только 20% онлайн-школ смогли похвастаться тем, что до конца их курса или программы добрались почти все ученики. Причем неважно, в какой сфере — люди платят деньги, но большинство так и не проходит все уроки.
Я не могу с точностью утверждать, почему так. Кажется, что одно из объяснений — недостаточно мотивации. Онлайн-обучение в основном завязано на самостоятельной работе, и только в конце человек тебя проверяет. Это процесс с низкой вовлеченностью.
С коллективным образованием все иначе. Доходимость до конца составляет порядка 70% или больше. Разница — в десять и больше раз.
Думаю, что успех командного образования — в повышении вовлеченности. Ведь взаимодействие с другими людьми повышает мотивацию. Помогает и оперативная обратная связь, в том числе от других учеников. Уровень вовлеченности остается высоким на протяжении всего обучения.
Конечно, то, что мы делаем, нельзя назвать эксклюзивным новшеством. Подобные стажировки есть и в других компаниях, платные и бесплатные. Но что-то новое в эту индустрию мы внесли.
Мы предлагаем гибрид самостоятельного и командного образования. Сначала человек учится сам, а мы этим проверяем его мотивацию и силу воли, способность разобраться в сложном материале. Смотрим на его страсть к разработке. Командный этап же помогает лучше узнать характер человека и посмотреть, как он работает в команде.
Открытый доступ к программе обучения. Стажировки в компания обычно проводят на конкурсной основе — туда запускается какое-то количество людей, их учат, а потом компания отбирает себе лучших. У нас же все иначе. Сама программа открыта для всех — проходите небольшой опрос и все, можно учиться. Все бесплатно, без препятствий.
Мы гарантируем трудоустройство. Если человек пройдет все этапы обучения, значит, он классный специалист и отличный потенциальный коллега.
Вместо заключения. Как мы поняли, что готовим хороших джуниоров
После программы обучения у выпускника есть опция пойти к нам в команду или в команду к партнерам. Партнеры, которые нанимают наших выпускников, после прохождения испытательного срока платят нам гонорар. Размер гонорара составляет один месячный оклад разработчика.
Нам платят деньги за подготовку джуниоров без опыта. Это может звучать странно: казалось бы, можно выложить вакансию и набрать на следующий день несколько десятков человек.
Но партнеры довольны и возвращаются именно за нашими джуниорами, за следующими выпусками. Сейчас наши выпускники работают в девяти компаниях. Я уверен, что со временем их станет еще больше и мы пусть немного, но помогаем рынку IT решать кадровую проблему.
Вы бы наняли к себе начинающего специалиста после такого обучения? Спрашивайте, буду рад рассказать нюансы о подготовке джуниоров в нашей программе.