Как мы запустили школу разработки kokoc.tech и обучаем для себя джунов
Привет! С вами Екатерина Ерёмина — руководитель отдела разработки kokoc.tech. В этой статье поделюсь личным опытом создания собственной школы разработки и полученными результатами, расскажу о задачах, организации и внутренней кухне проекта.
Kokoc.tech — это IT-компания в экосистеме KOKOC GROUP. Мы работаем с 2006 года, специализируемся на разработке пользовательских интерфейсов: делаем фронтенд и бэкенд, сайты и приложения, а также создаём веб-сервисы под ключ. Чтобы обучать стажёров и быстро нанимать junior-специалистов под свои проекты, мы запустили собственную онлайн-школу разработки.
Зачем мы создали свою школу разработки
Для разных проектов мы постоянно ищем и нанимаем специалистов, что отнимает у HR-отдела и руководителей направлений много времени и сил. При этом новички не всегда чётко представляют, чем им предстоит заниматься, а некоторые не выдерживают нагрузки и уходят через пару месяцев. Чтобы не тратить каждый раз ресурсы на поиски хороших специалистов, мы и решили создать школу.
Задачи проекта сформулировали так:
- создать эффективную систему обучения для будущих стажёров и повысить скиллы уже работающих сотрудников;
обеспечить быстрый найм junior-специалистов по нашим профильным направлениям;
- организовать обучение больших групп студентов с минимальными трудозатратами;
- сформировать базу кадрового резерва;
реализовать масштабируемость обучения с минимальными усилиями.
Обучение мы проводим три раза в год: январь — апрель, май — август, сентябрь — декабрь. Весь процесс разбили на три этапа: набор группы, обучение и последующая стажировка. В этой статье расскажем подробнее о наборе и процессе обучения. Стажировку в одном из отделов компании опишем в другой статье.
Этап 1. Набор группы
Задача этапа — подобрать активную группу потенциальных стажёров, которые любят и хотят учиться, готовы серьёзно поработать на результат. Для поиска и первичного отбора используем такие каналы:
социальные сети компании;
объявления в рабочих чатах — предлагаем сотрудникам порекомендовать школу друзьям;
публикации в соцсетях технических вузов и центров трудоустройства.
Также выборочно предлагаем продолжить обучение кандидатам из предыдущих потоков, которые по уважительной причине не смогли ранее завершить курс.
Мы заранее составили карту компетенций потенциального студента: это позволяет быстрее обрабатывать поступающие заявки.
Составляем карту компетенций кандидата
Для кандидата в студенты выделили следующие компетенции:
Для каждой из компетенций придумали проверочное задание — вопрос, задачу или тест, и присвоили свой вес. Вес разрабатывали по результатам исследования и обработки данных предыдущих потоков. Специализированных знаний или технического образования от поступающих в школу мы не требуем.
Формируем рейтинг кандидатов
Для каждого набора школы создаём таблицу «Лист обучения» с тремя вкладками: сводная компетенций, результаты собеседования с каждым из кандидатов и итоговый общий рейтинг. Соискателей с суммарным баллом 40+ зачисляем в школу сразу. Жёлтая зона — кандидаты резерва, их берём, если есть места в группе.
Этап 2. Обучение: роли, структура курса, оценки и направления
В команде школы разработки все задачи по обучению студентов, проверке заданий и администрированию процесса выполняют сотрудники нашей компании. Выделяем три основные роли.
Студент
Любой ученик школы: как человек извне, желающий пройти обучение и попасть на стажировку в компанию, так и наш сотрудник. Например, менеджер проектов может записаться на обучение в школу, чтобы получить смежные компетенции и лучше понимать разработчиков.
Администратор
Посредник между наставником и студентами. Брифует кандидатов, набирает группу, помогает студенту и наставнику найти друг друга и выстроить процесс обучения. Администратор поддерживает непрерывную и бесперебойную работу школы, решает вопросы о переводе с курса на курс, разъясняет регламенты и всячески упрощает нашим студентам жизнь. Он же принимает запросы на обучение от сотрудников компании. Чтобы не запутаться и ничего не забыть, администраторы ведут задачи в сервисе Asana.
Наставник
Сотрудник компании, который отвечает за качество обучения на конкретном курсе. На роль наставника мы приглашаем тимлидов направлений и разработчиков, которые хотят прокачать soft-скиллы и охотно делятся знаниями. Для них предусмотрена система мотивации, основанная на количестве выпущенных студентов, сложности и длительности курса.
Вот список базовых задач наставника:
- Отвечать на вопросы студентов в чате курса;
- Проводить индивидуальные консультации;
- Выставлять промежуточные и итоговые оценки;
- Делать ревью учебных задач;
- Экзаменовать студентов.
Как мы выстроили структуру курсов
Все учебные материалы по разным направлениям мы упаковали в курсы. Каждый курс состоит из цикла онлайн-занятий, курсовой работы и экзамена.
Занятие включает теорию, практические задачи и вопросы для самопроверки. За одно занятие студент изучает конкретные компетенции, например, работу с Figma или методологию web-разработки. У занятия есть свой дедлайн, после которого его проверяет и оценивает наставник.
В конце каждого занятия мы предлагаем студентам пройти опрос: указать трудозатраты на теорию и практику, написать отзыв. Команда школы обрабатывает отзывы после каждого потока и вносит необходимые дополнения.
Курсовая работа — небольшой прикладной проект, покрывающий все компетенции пройденного курса. Например, вёрстка лендинга по курсу вёрстки или разработка бэкенд-составляющей по готовой вёрстке на курсе по PHP.
Экзамен — устное собеседование студента с наставником, проводим в конце курса. По итогам экзамена наставник выставляет студенту оценку за курс.
Мы разработали свою систему оценки знаний:
A+ — все задания выполнены идеально, с минимумом доработок и соблюдением дедлайнов;
A — отлично, задания выполнены, исправления от наставника внесены;
- B — хорошо, средний уровень выполнения заданий;
- C — удовлетворительно, задания сданы c большим количеством ошибок и исправлений.
Успешно закончивший курс студент знает базовую теорию предмета и готов выполнять несложные задачи. Каждый получает электронный сертификат, ребятам в Саранске и Екатеринбурге вручаем бумажные сертификаты, студентам из других городов отправляем их по почте.
Девять курсов школы: чему обучаем студентов
На сегодняшний день в школе Kokoc.tech девять курсов. Описали их в таблице ниже:
Два направления: фронтенд и бэкенд
Мы запускаем курсы самостоятельно или в составе двух крупных направлений: бэкенд и фронтенд.
Часть курсов по прикладным компетенциям, например, GIT или Терминал, всегда запускаем самостоятельно. Также включаем их в планы обучения наших сотрудников.
Как мы ведём процессы в школе
Автоматизируем процессы при помощи шаблонов
Для ведения всех задач школы разработки мы используем сервис Asana. Под каждый процесс создаём задачу-шаблон: чтобы его запустить, администратору достаточно скопировать шаблон, указать исполнителей и дедлайны по задаче.
Во всех задачах содержатся ссылки на регламенты и курсы, шаблоны сообщений и другие подсказки. Это позволяет минимизировать время на техподдержку школы.
Для регулярных задач сразу выставляем периодичность: например, задача по набору потока автоматически запускается три раза в год и проводит администратора по всему процессу.
Основные шаблоны процессов в работе школы:
Создание курса — составление, вычитка, тестирование и рецензирование материалов;
Набор группы — цикл задач от подачи объявления о наборе до формирования учебной группы;
- Обучение потока — процесс агрегирует все задачи по обучению группы, завершается приглашением выпускников на стажировку и выдачей сертификатов об окончании школы.
Точно так же автоматизируем мелкие процессы: отчисление студента, ввод нового наставника и т.д.
Собираем и прорабатываем бэклог
В процессе обучения команда школы все возникающие предложения и баги добавляет в общий бэклог. После завершения потока мы его разбираем: одни задачи берём в работу, другие предложения отклоняем по согласованию с командой.
Какие инструменты используем в работе школы
Slack
Все коммуникации студентов с наставниками и администратором мы ведём в Slack. Выбрали его из-за удобного функционала тредов — в мессенджере можно свернуть обсуждение одного вопроса в один топик. Второй важный аргумент — минимизация потерь рабочего времени среди наставников: зайти дважды в день и разом ответить на все вопросы студентов тимлиду или разработчику проще, чем постоянно переключаться на сообщения.
Платформа GetCourse
На первом этапе работы школы мы использовали для хранения материалов курсов сервисы Google. Такое решение обходилось дёшево, но нам приходилось вручную поддерживать множество документов. Например, были такие таблицы:
- дневник студента со ссылкам на все дедлайны, занятия и контакты наставника. Часть данных в ней заполняли студенты, часть — наставник курса;
база обучения студентов с фильтрами, статусами, информацией о потоке и наставнике.
Благодаря этим таблицам и гугл-докам мы смогли быстро запуститься, протестировать процессы и понять, что именно мы хотим от учебной платформы. Но таблицы получались громоздкими и часто становились предметом шуток наших студентов. К этому времени на рынке неплохо зарекомендовала себя платформа GetCourse. Мы протестировали её возможности, поняли, что она отлично подходит под наши задачи, и переехали. Сейчас все материалы храним на GetCourse.
GitLab
Для сдачи связанных с написанием кода заданий мы используем простейший gitflow. Внешних студентов мы учим только базовым операциям git по готовой подробной инструкции: push, pull, создание веток.
Что нам даёт своя школа разработки
Отлаженный процесс обучения джунов по основным направлениям разработки в компании;
Универсальность при масштабировании курсов, возможность быстро настроить обучение нужных специалистов под конкретную технологию;
Заряженную на результат команду профессионалов, которые любят и умеют обучать и попутно прокачивают soft-скилы;
Продвижении HR-бренда компании в регионе, повышение узнаваемости и лояльности;
Развитие социальной роли компании: за время работы школа помогла десяткам студентов разного возрасте сменить профессию.
Что говорят наши выпускники
Результаты школы разработки в цифрах и фактах
- За последний год работы школы к команде присоединились 10 наших студентов, из них покинул компанию только один специалист.
- Треть наших работающих с кодом сотрудников — выпускники собственной школы.
- Итоговая стоимость вывода одного специалиста — 90 000 рублей. В эту сумму входят трудозатраты всех участников процесса при пересчёте на коммерческие часы.
- В команде школы 7 наставников из разных подразделений компании.
- Конкурс при поступлении в школу — от двух до пяти человек на место.
- Средний возраст студента — 28 лет.
- Успешно заканчивают школу 30% от числа поступающих.
Вместо заключения
Мы убедились, что самим обучать специалистов проще, чем постоянно заниматься отбором кандидатов и оплачивать необходимые курсы сотрудникам. Сейчас мы работаем над сайтом школы разработчиков. В дальнейших планах — создание курсов по React и Laravel.