Как мы запустили школу разработки kokoc.tech и обучаем для себя джунов

Привет! С вами Екатерина Ерёмина — руководитель отдела разработки kokoc.tech. В этой статье поделюсь личным опытом создания собственной школы разработки и полученными результатами, расскажу о задачах, организации и внутренней кухне проекта.

Как мы запустили школу разработки kokoc.tech и обучаем для себя джунов

Kokoc.tech — это IT-компания в экосистеме KOKOC GROUP. Мы работаем с 2006 года, специализируемся на разработке пользовательских интерфейсов: делаем фронтенд и бэкенд, сайты и приложения, а также создаём веб-сервисы под ключ. Чтобы обучать стажёров и быстро нанимать junior-специалистов под свои проекты, мы запустили собственную онлайн-школу разработки.

Зачем мы создали свою школу разработки

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

Школа разработки появилась в филиале в Саранске: наши коллеги в маленьком городе столкнулись с проблемой найма готовых специалистов. Приходилось нанимать новичков, которых тимлиды отделов обучали на своё усмотрение.

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

Задачи проекта сформулировали так:

  • создать эффективную систему обучения для будущих стажёров и повысить скиллы уже работающих сотрудников;
  • обеспечить быстрый найм junior-специалистов по нашим профильным направлениям;

  • организовать обучение больших групп студентов с минимальными трудозатратами;
  • сформировать базу кадрового резерва;
  • реализовать масштабируемость обучения с минимальными усилиями.

Обучение мы проводим три раза в год: январь — апрель, май — август, сентябрь — декабрь. Весь процесс разбили на три этапа: набор группы, обучение и последующая стажировка. В этой статье расскажем подробнее о наборе и процессе обучения. Стажировку в одном из отделов компании опишем в другой статье.

Этап 1. Набор группы

Задача этапа — подобрать активную группу потенциальных стажёров, которые любят и хотят учиться, готовы серьёзно поработать на результат. Для поиска и первичного отбора используем такие каналы:

  • социальные сети компании;

  • объявления в рабочих чатах — предлагаем сотрудникам порекомендовать школу друзьям;

  • публикации в соцсетях технических вузов и центров трудоустройства.

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

Мы заранее составили карту компетенций потенциального студента: это позволяет быстрее обрабатывать поступающие заявки.

Составляем карту компетенций кандидата

Для кандидата в студенты выделили следующие компетенции:

Как мы запустили школу разработки kokoc.tech и обучаем для себя джунов

Для каждой из компетенций придумали проверочное задание — вопрос, задачу или тест, и присвоили свой вес. Вес разрабатывали по результатам исследования и обработки данных предыдущих потоков. Специализированных знаний или технического образования от поступающих в школу мы не требуем.

Формируем рейтинг кандидатов

Для каждого набора школы создаём таблицу «Лист обучения» с тремя вкладками: сводная компетенций, результаты собеседования с каждым из кандидатов и итоговый общий рейтинг. Соискателей с суммарным баллом 40+ зачисляем в школу сразу. Жёлтая зона — кандидаты резерва, их берём, если есть места в группе.

Сформированный рейтинг студентов.
Сформированный рейтинг студентов.

Этап 2. Обучение: роли, структура курса, оценки и направления

В команде школы разработки все задачи по обучению студентов, проверке заданий и администрированию процесса выполняют сотрудники нашей компании. Выделяем три основные роли.

Студент

Любой ученик школы: как человек извне, желающий пройти обучение и попасть на стажировку в компанию, так и наш сотрудник. Например, менеджер проектов может записаться на обучение в школу, чтобы получить смежные компетенции и лучше понимать разработчиков.

<p>Среди студентов курса Чирков Кирилл и Куранов Андрей — стажёры отдела веб-мастеринга. </p>

Среди студентов курса Чирков Кирилл и Куранов Андрей — стажёры отдела веб-мастеринга.

Администратор

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

Наставник

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

Вот список базовых задач наставника:

  • Отвечать на вопросы студентов в чате курса;
  • Проводить индивидуальные консультации;
  • Выставлять промежуточные и итоговые оценки;
  • Делать ревью учебных задач;
  • Экзаменовать студентов.

Наставник одного курса может быть одновременно студентом на другом, и наоборот. Мы поощряем стремление сотрудников делится компетенциями друг с другом.

Например, бэкенд-разработчик может учиться на курсе по вёрстке, чтобы разбираться в работе верстальщиков, а менеджер проектов — на курсе по git, чтобы лучше понимать разработчиков.

Как мы выстроили структуру курсов

Все учебные материалы по разным направлениям мы упаковали в курсы. Каждый курс состоит из цикла онлайн-занятий, курсовой работы и экзамена.

Занятие включает теорию, практические задачи и вопросы для самопроверки. За одно занятие студент изучает конкретные компетенции, например, работу с Figma или методологию web-разработки. У занятия есть свой дедлайн, после которого его проверяет и оценивает наставник.

В конце каждого занятия мы предлагаем студентам пройти опрос: указать трудозатраты на теорию и практику, написать отзыв. Команда школы обрабатывает отзывы после каждого потока и вносит необходимые дополнения.

Курсовая работа — небольшой прикладной проект, покрывающий все компетенции пройденного курса. Например, вёрстка лендинга по курсу вёрстки или разработка бэкенд-составляющей по готовой вёрстке на курсе по PHP.

Экзамен — устное собеседование студента с наставником, проводим в конце курса. По итогам экзамена наставник выставляет студенту оценку за курс.

Мы разработали свою систему оценки знаний:

  • A+ — все задания выполнены идеально, с минимумом доработок и соблюдением дедлайнов;

  • A — отлично, задания выполнены, исправления от наставника внесены;

  • B — хорошо, средний уровень выполнения заданий;
  • C — удовлетворительно, задания сданы c большим количеством ошибок и исправлений.

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

Как мы запустили школу разработки kokoc.tech и обучаем для себя джунов

Девять курсов школы: чему обучаем студентов

На сегодняшний день в школе Kokoc.tech девять курсов. Описали их в таблице ниже:

Как мы запустили школу разработки kokoc.tech и обучаем для себя джунов

Два направления: фронтенд и бэкенд

Мы запускаем курсы самостоятельно или в составе двух крупных направлений: бэкенд и фронтенд.

Как мы запустили школу разработки kokoc.tech и обучаем для себя джунов

Часть курсов по прикладным компетенциям, например, GIT или Терминал, всегда запускаем самостоятельно. Также включаем их в планы обучения наших сотрудников.

Как мы ведём процессы в школе

Автоматизируем процессы при помощи шаблонов

Для ведения всех задач школы разработки мы используем сервис Asana. Под каждый процесс создаём задачу-шаблон: чтобы его запустить, администратору достаточно скопировать шаблон, указать исполнителей и дедлайны по задаче.

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

<p>Неполный список мини-задач в большой задаче по набору группы, уже добавили исполнителей.</p>

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

Для регулярных задач сразу выставляем периодичность: например, задача по набору потока автоматически запускается три раза в год и проводит администратора по всему процессу.

Основные шаблоны процессов в работе школы:

  • Создание курса — составление, вычитка, тестирование и рецензирование материалов;

  • Набор группы — цикл задач от подачи объявления о наборе до формирования учебной группы;

  • Обучение потока — процесс агрегирует все задачи по обучению группы, завершается приглашением выпускников на стажировку и выдачей сертификатов об окончании школы.

Точно так же автоматизируем мелкие процессы: отчисление студента, ввод нового наставника и т.д.

Собираем и прорабатываем бэклог

В процессе обучения команда школы все возникающие предложения и баги добавляет в общий бэклог. После завершения потока мы его разбираем: одни задачи берём в работу, другие предложения отклоняем по согласованию с командой.

<p>Важным задачам присваиваем категорию «срочно», назначаем исполнителей и указываем дедлайн. </p>

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

Какие инструменты используем в работе школы

Slack

Все коммуникации студентов с наставниками и администратором мы ведём в Slack. Выбрали его из-за удобного функционала тредов — в мессенджере можно свернуть обсуждение одного вопроса в один топик. Второй важный аргумент — минимизация потерь рабочего времени среди наставников: зайти дважды в день и разом ответить на все вопросы студентов тимлиду или разработчику проще, чем постоянно переключаться на сообщения.

<p>Slack позволяет наставникам комплексно отвечать на вопросы студентов и структурирует обсуждения в группе. </p>

Slack позволяет наставникам комплексно отвечать на вопросы студентов и структурирует обсуждения в группе.

Платформа GetCourse

На первом этапе работы школы мы использовали для хранения материалов курсов сервисы Google. Такое решение обходилось дёшево, но нам приходилось вручную поддерживать множество документов. Например, были такие таблицы:

  • дневник студента со ссылкам на все дедлайны, занятия и контакты наставника. Часть данных в ней заполняли студенты, часть — наставник курса;
  • база обучения студентов с фильтрами, статусами, информацией о потоке и наставнике.

Благодаря этим таблицам и гугл-докам мы смогли быстро запуститься, протестировать процессы и понять, что именно мы хотим от учебной платформы. Но таблицы получались громоздкими и часто становились предметом шуток наших студентов. К этому времени на рынке неплохо зарекомендовала себя платформа GetCourse. Мы протестировали её возможности, поняли, что она отлично подходит под наши задачи, и переехали. Сейчас все материалы храним на GetCourse.

<p>Так выглядят папки с учебными материалами школы на платформе GetCourse.</p>

Так выглядят папки с учебными материалами школы на платформе GetCourse.

GitLab

Для сдачи связанных с написанием кода заданий мы используем простейший gitflow. Внешних студентов мы учим только базовым операциям git по готовой подробной инструкции: push, pull, создание веток.

<p>На стажировке мы запускаем уже глубоко специализированный курс по работе с git.</p>

На стажировке мы запускаем уже глубоко специализированный курс по работе с git.

Что нам даёт своя школа разработки

  • Отлаженный процесс обучения джунов по основным направлениям разработки в компании;

  • Универсальность при масштабировании курсов, возможность быстро настроить обучение нужных специалистов под конкретную технологию;

  • Заряженную на результат команду профессионалов, которые любят и умеют обучать и попутно прокачивают soft-скилы;

  • Продвижении HR-бренда компании в регионе, повышение узнаваемости и лояльности;

  • Развитие социальной роли компании: за время работы школа помогла десяткам студентов разного возрасте сменить профессию.

Что говорят наши выпускники

Как мы запустили школу разработки kokoc.tech и обучаем для себя джунов
Как мы запустили школу разработки kokoc.tech и обучаем для себя джунов

Результаты школы разработки в цифрах и фактах

Как мы запустили школу разработки kokoc.tech и обучаем для себя джунов
  1. За последний год работы школы к команде присоединились 10 наших студентов, из них покинул компанию только один специалист.
  2. Треть наших работающих с кодом сотрудников — выпускники собственной школы.
  3. Итоговая стоимость вывода одного специалиста — 90 000 рублей. В эту сумму входят трудозатраты всех участников процесса при пересчёте на коммерческие часы.
  4. В команде школы 7 наставников из разных подразделений компании.
  5. Конкурс при поступлении в школу — от двух до пяти человек на место.
  6. Средний возраст студента — 28 лет.
  7. Успешно заканчивают школу 30% от числа поступающих.

Вместо заключения

Мы убедились, что самим обучать специалистов проще, чем постоянно заниматься отбором кандидатов и оплачивать необходимые курсы сотрудникам. Сейчас мы работаем над сайтом школы разработчиков. В дальнейших планах — создание курсов по React и Laravel.

Екатерина Ерёмина
руководитель отдела разработки и школы разработки kokoc.tech
1313
Начать дискуссию