Привет, Хабр! Я тимлид группы разработки на BPMSoft. Не так давно мы с командой завершили четвертую профильную стажировку, и в этой статье хочется поделиться своими инструментами, наработками и полученными шишками. Возможно, она будет полезна молодым тимлидам и руководителям групп, чтобы запустить свою первую стажировку или найти новые точки роста в той, что уже организовывали.
Дисклеймер
Забегая вперед, предположу, что такой инструмент может быть применим к любой платформенной разработке, по которой нет централизованного обучения или оно вам не подходит по тем или иным причинам, а также подойдет все же для расширения команды, а не создания ее с нуля.
Чтобы в рамках стажерской программы обучать новых сотрудников, нужен хотя бы один толковый специалист в этой области: нельзя почитать теорию и собрать по ней свой новый учебник, не понимая сути подкапотной части. Ну, можно, конечно. Но тогда и результат будет теоретический. Так что берем самого толкового и начинаем свое увлекательное путешествие от маленькой к большой и сильной команде.

Жили мы себе своей маленькой командой из 5 человек, работали и делали жизнь наших заказчиков проще. Тут на горизонте появились новые большие проекты и возникла потребность расширяться. Проведя ряд собеседований, мы поняли, что так далеко не уедем. Рынок специалистов был невелик, а те, что были на рынке, просили зарплату, несоразмерную их знаниям.
Кроме того, не все кандидаты знали и умели то, что нам нужно. Например, опыт достаточный с точки зрения количества лет, но кандидат несколько лет делал однотипные задачи и не знает ничего вне этих задач. И если в условиях острой потребности в ресурсах, горящем проекте, оверпрайс может быть оправдан, то в более спокойные времена, когда до старта или расширения проекта еще есть достаточно времени, можно идти по более выгодному пути: не только искать готовых специалистов, но и вырастить своих.
Первая проба пера: стажировка 1.0
Наша первая стажировка была далека от идеала. Несмотря на то, что прошла она успешно и цель ее была достигнута, в исходном виде она бы долго не протянула. Но обо всем по порядку.
Для того, чтобы запустить первую стажерскую программу, нам надо было ответить на ряд вопросов:
Сколько человек набирать?
Кто и как будет проводить собеседования?
Как устроить процесс обучения?
Кто будет проверять результаты?
Как принимать итоговое решение по найму?

Примерно следующим образом ответили на каждый из них.
Количество стажеров напрямую зависит от требуемого количества junior-разработчиков на грядущих проектах. На первой стажировке мы
легкомысленнонанимали ровно столько человек, сколько и требовалось.Для проведения собеседований зафиксировали список вопросов по трем языкам программирования, которые используются в нашей платформе. Кто будет проводить собеседования? Я. И сами вопросы, и результаты прохождения фиксировали в Confluence, и по ним принимали решение о том, кого будем нанимать. Принимала итоговое решение тоже я.
При формировании нашей программы мы планировали обучить стажеров всем важным для нас задачам, не тратя при этом много времени опытных коллег.
Поэтому мы сформировали программу так, что ее нужно было проходить самостоятельно. Она состояла из видеоматериалов, статей и практических заданий. Стажер сам изучал нужные темы, а в завершении каждой темы были практические задания, которые отправлялись на проверку куратору.
Программа содержала все типы задач, которые важны в нашей работе. При составлении программы также важно было учесть последовательность, в которой идет изложение материала (зависимости модулей как для реализации, так и для восприятия, а также частоту применения на проектах). Стажер должен был самостоятельно изучать материалы, делать задачи и приходить с вопросами к своему куратору.
Кто будет проверять задачи? Я. Кто будет отвечать на вопросы стажеров? Я.
Уже чувствуете будущие проблемы? А я тогда не чувствовала.

Итого всех стажеров обучала и проверяла я, при этом видела их сильные и слабые стороны, поэтому в сравнении было легко принимать решение о об успешности прохождения стажировки.
В целом все сработало: мне нравилось учить ребят, общаться с ними и по-новому смотреть на уже привычные инструменты. Стажеры с нуля освоили инструмент и могли выходить на проект на позицию junior. При этом все они остались в команде, и мы постепенно росли, набирая людей с опытом и параллельно взращивая своих новичков.
Так что в целом этот подход был рабочим, но только как «разовая акция». Он совершенно не расширялся. Поэтому при запуске следующих стажировок надо было придумать не просто программу обучения, а некую систему.

Стажировка 2.0: эволюция подхода
Вторая волна стажировок пришлась на период, когда наша команда уже выросла. И здесь было очевидно, что, если снова вся стажировка будет сосредоточена на одном человеке (мне), это будет плохо и для стажеров, и для меня.
Нужна была система проведения стажировки, а не просто программа обучения. Да, вероятно, сейчас это очевидно, но тогда, на старте первой стажировки, казалось, что на это нет времени. Плюс, команда была маленькая, и на все вопросы легко было ответить лично.
Наши прежние пять вопросов остались, но по каждому из них нужна была системность: шаблоны, правила, калькуляторы.
В самом начале мы апгрейднули саму программу обучения:
учли обратную связь предыдущих «выпускников»,
добавили системности, наглядности,
приплюсовали дополнительное комплексное итоговое задание.
Итак, в этот раз мы набирали на одного больше, чем требуется на будущих проектах. Это перекрывало риск, что кто-то окажется менее успешен при прохождении программы, или в процессе может понять, что это «не его». При этом набирать сильно больше тоже не было смысла, чтобы не тратить лишние ресурсы на обучение.
Как и кто собеседует? Тут было очевидно: надо было делегировать найм, но при этом не потерять полноту картины при принятии решения и сделать подход универсальным.
Калькулятор собеседований
Для этого мы создали специальный калькулятор для собеседований стажеров. При проведении очередного собеседования интервьюер просто шел по файлу, задавал вопросы и отмечал, ответил ли кандидат (да/нет/частично). По завершению рекрутер отправлял мне итоговый файл, и я уже получала некое измеримое и сравнимое представление для оценки кандидата.
В нашем случае калькулятор представлял собой Excel-файл с вкладками:
Страница прохождения собеседования
Здесь были вопросы и поле для фиксации степени ответа на каждый вопрос. Кроме технических вопросов здесь можно было фиксировать личные данные кандидата, а также какие-то нетехнические параметры (софт-скиллы или информацию об образовании).
Технические страницы
Первая содержала справочник вопросов. Вопросы были также разделены по языкам программирования, у каждого вопроса и у каждого языка был свой вес. Вторая страница содержала справочник со шкалой ответов. У нас это было да/нет/частично. В одном из калькуляторов была шкала 0-25-50-75-100. Тут можно настроить как удобно. Третья страница сам калькулятор. Шкала ответов умножалась на вес ответа и вес языка. Например, есть вопрос на 4 балла. Ответили полностью – кандидат получает 4 балла. Ответили частично – 2 балла.
Страница с итогами
По ней я уже смотрела итоговый результат. Здесь мы видели % прохождения каждого блока и итоговый % прохождения собеседования.
Так мы смогли делегировать проведение собеседований полностью, оставив на себе только итоговое принятие решения. Если составить правила допуска кандидатов к собеседованию, то можно делегировать и этот шаг.
Формат и новые метрики обучения
Формат обучения мы не меняли, общий принцип сохранился: самостоятельное изучение, возможность задавать вопросы куратору, отправка заданий ему на проверку. Что поменялось? Куратор. Мы решили делегировать и эту роль на наших опытных сотрудников. И тут есть два варианта: всех стажеров ведет один человек, либо же у каждого стажера – свой куратор.
Один куратор
Плюсы: есть возможность сравнить их друг с другом
Минусы: стажировка отнимает очень много времени у куратора, нужно найти открытого, опытного, но не сильно загруженного сотрудника.
Много кураторов
Плюсы: стажировка отнимает у каждого куратора пару часов в неделю, можно привлекать новых сотрудников в роли куратора и растить их как наставников
Минусы: нет возможности сравнить их между собой. Нужны измеримые показатели для сравнения.
Есть и гибридные варианты, они особенно актуальны, когда поток стажировки набирается большой, их плюсы и минусы аналогичны.
Мы выбрали второй вариант, когда у каждого стажера свой куратор. Отсюда сразу возник вопрос: а как их сравнивать между собой, если с каждым из них взаимодействует только свой куратор? Нужна измеримость. И дальше все уже по классике: шаблоны и калькуляторы.
Создали в Сonfluence шаблон фиксации результатов прохождения программы обучения, где для каждой задачи описали критерии приемки и максимально возможный балл (они отличались для простых и сложных задач).
По мере прохождения программы кураторы фиксировали дату приемки задачи и итоговый балл. Так благодаря этому я видела прогресс по неделям (сделали сводную таблицу) и итоговую сумму баллов. Это позволило принимать итоговое решение о не-/успешности прохождения стажировки.

…Полет нормальный
На 2025 год мы завершили уже четвертую стажировку. На мой скромный взгляд, завершилась она хорошо и была намного более зрелой, чем первая. Но, несомненно, есть, куда расти.
Наш путь от первой экспериментальной стажировки до отлаженного процесса показал несколько важных уроков:
Масштабируемость важнее скорости
Первый подход работал, но был тупиковым — он держался на энтузиазме одного человека. Система с делегированием, шаблонами и калькуляторами позволила обучать больше стажеров без потери качества.
Объективность решает
Калькуляторы для собеседований и четкие критерии оценки заданий убрали субъективизм. Теперь мы сравниваем кандидатов по цифрам, а не по впечатлениям.
Делегирование — не роскошь, а необходимость
Распределение ролей (кураторы, интервьюеры) не только разгрузило меня, но и дало команде новый опыт. Разные сотрудники могут участвовать в обучении стажеров и пробовать себя в новой роли.
Ошибки — часть роста
Если бы мы не проанализировали слабые места первой стажировки, не появились бы ни калькуляторы, ни гибкая система кураторства.
Шишка набита, будем думать, как ее решить. Но это всё уже просто детали организации процесса. Сама идея проводить стажировки для расширения штата специалистов нам понравилась, мы ее активно продолжаем и развиваем.
Что дальше?
Мы продолжаем улучшать процесс: добавляем больше автоматизации, рассматриваем возможность применения ИИ в ходе стажировки и собираем обратную связь от новых «выпускников».
Главное — система теперь живая: она может адаптироваться под новые задачи и масштабы. Также, несмотря на наличие калькуляторов и измеримых величин для принятия решения, субъективизм частично все равно присутствует. Нужно дальше совершенствовать критерии приемки, чтобы они были настолько очевидными, чтоб нельзя было ошибиться, и каждый куратор независимо от степени своей душности ставил оценки по одинаковым алгоритмам.
Но это все – уже просто детали организации процесса. Сама идея проводить стажировки для расширения штата специалистов нам понравилась, мы ее активно продолжаем и развиваем. Но, как и у любого подхода, у него есть свои плюсы и минусы.
Плюсы:
найм стажеров выходит компании выгоднее;
их можно научить именно тому, что нужно именно вашей команде, а не переучивать за другими;
у них более высокая вовлеченность и желание развиваться.
Минусы:
на обучение новых людей всегда нужны дополнительные ресурсы — временные и не только;
по завершении стажировки все равно будет необходим контроль за задачами новичков; так, для нашей платформы – это 2 месяца самого обучения, и еще около 2-х месяцев, чтобы сотрудник мог «окрепнуть».
Естественно, найм сотрудников с опытом тоже продолжается. Здесь надо выбрать свою «таблетку» — нанимать опытных или обучать своих — не как железобетонную стратегию развития команды в целом, а делать этот выбор периодически, в зависимости от ситуации с нагрузкой, от сложности проектов и других факторов.

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