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