Сказ о стажировке в маленькой компании или как мы с Контуром конкурировали [Часть I]

в 8:01, , рубрики: Блог компании СКБ Контур, Карьера в IT-индустрии, обучение, обучение программированию, стажировка, стажировка в скб контур, управление персоналом, управление разработкой, метки:

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

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

Во второй части расскажу о том, как всё получилось на самом деле, какие выводы мы сделали и чему научились.

Предыстория

Начало 2013 года. В небольшой компании собирают команду для разработки своего стартап-проекта на Java. К весне готова команда из пяти программистов на «полный день» и ещё трёх программистов на частичную занятость. Все разработчики из Екатеринбурга.

Почему стажировка

Активная разработка стартовала по сути в марте. Руководство строило грандиозные планы, поэтому требовалось увеличить штат. Интересных задач на старте проекта было много, однако быстро расширить команду не удавалось:

  • из-за неизвестности компании было сложно привлекать опытных специалистов;
  • мы придерживались подхода fullstack-разработки, что повышало входной порог;
  • клиентский код у нас был на только набирающем популярность TypeScript 0.8;
  • основным клиентским фреймворком был выбран тогда ещё совсем нераспространённый Ангуляр.

К концу апреля стало очевидно, что у нас недостаточно ресурсов, чтобы продвигаться в соответствии с планом, и в этот момент светлая мысль посетила наши головы: если мы не можем найти готовых специалистов — будем готовить их сами! Так мы решились на проведение собственной стажировочной кампании.

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

План

В первом приближении может показаться, что план должен быть каким-то таким:

  1. Найти студентов.
  2. Обучить их технологиям нашего стека.
  3. Profit!

Однако, в ходе обсуждения в скайпике возникли разные вопросы, над которыми предстояло подумать:

  1. Кто будет наставником?
  2. Сколько стажёров возьмём?
  3. Кого мы будем искать?
  4. Где мы будем искать?
  5. Как мы будем искать?
  6. Как мы будем отбирать на стажировку?
  7. Чему мы будем учить?
  8. Как мы будем учить?
  9. На чём мы будем учить?
  10. Как понять, что стажировка пройдена?
  11. Что делать, если стажировка не пройдена?
  12. Какие задачи давать после стажировки?

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

1. Кто хотел должен был стать наставником

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

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

2. Сколько стажёров мы хотели взять

Поскольку наставников было трое, то и стажёров предполагалось взять от трёх до шести. Больше двух стажёров на одного наставника мы бы не осилили.

А как в большой компании:
В Контуре эмпирически установлено, что наставник физически не может потянуть больше двух стажёров. Либо он должен посвящать им всё свое время.

3. Кого мы хотели искать

Поскольку основной задачей для нас было подготовить кадры здесь-и-сейчас, то решено было проводить стажировку для студентов старших курсов и выпускников, чтобы после успешного прохождения стажировки они стали полноправными членами команды. Старшие курсы — прошедшие экватор, 3+ курс.

А как в большой компании:
Некоторые команды готовы брать студентов только на лето, поэтому есть возможность набирать как старшекурсников, которые наверняка останутся на постоянную работу, так и перво- и второкурсников. Такой подход позволяет работать не только на привлечение джуниоров, но и на долгосрочную перспективу (3-4 года), когда младшекурсники подрастут и вернутся в компанию джуниорами. Опыт Контура показывает, что все, кого мы хотим вернуть, — возвращаются.

4. Где мы хотели искать

Нам нужно было закрывать позиции разработчиков, поэтому выбор пал на местные вузы, где на факультетах преподаётся математика и компьютерные науки: в первую очередь математико-механический факультет УрГУ и радиотехнический факультет УГТУ-УПИ.

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

5. Как мы хотели искать

Выбрали следующие каналы для привлечения стажёров:

  • Личные связи
  • Объявления в ВК в группах факультетов
  • Объявления на матмехе УрГУ
  • Объявления на сайтах поиска работы
  • Объявления через преподавателей матмеха УрГУ
  • Объявления на РТФ УГТУ-УПИ

А как в большой компании:
Помимо этих более-менее стандартных каналов рекламы Контур проводит для студентов огромное количество мероприятий, чтобы заранее обучить и повысить лояльность участвующих студентов. Например, школы промышленной разработки: ШПоРа и Кампус. Об одном из таких мероприятий три года назад писал Павел xoposhiy Егоров — Выездная школа программирования.

6. Как мы хотели отбирать

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

Алгоритм работы с заявкой:

  1. Заявка поступает на почту нашему HR.
  2. HR связывается с кандидатом по телефону и задаёт ему вопросы из заранее подготовленного списка, ответы на которые парсятся гуманитарием (это важно) без потерь.
  3. Результаты опроса заносятся в гугло-табличку.

Вот здесь остановлюсь подробнее и приведу список вопросов:

  1. Оценки по предметам JavaScript, Perl, ООП, ТБД и подобным.
  2. Какие принципы ООП вы знаете?
  3. Какие принципы фон Неймана вы знаете?
  4. Какие топологии локальных сетей вы знаете?
  5. Какова вычислительная сложность в среднем алгоритма сортировки пузырьком и алгоритма сортировки quick-sort?

По первому вопросу бралось среднее арифметическое значение (если зачёт, то приравнивалось к 5). По остальным вопросам каждый названный пункт давал ещё один балл.

Ожидаемые ответы

  1. В идеале — отличник, максимум 5 баллов
  2. Наследование, инкапсуляция, полиморфизм, максимум 3 балла
  3. Однородность памяти, адресуемость памяти, программное управление, двоичное кодирование, жёсткость архитектуры, максимум 5 баллов
  4. Шина, звезда, кольцо, дерево, полносвязная, максимум 5 баллов
  5. «О» от «н» в квадрате, «о» от «н» логарифм «н», максимум 2 балла

Таким образом, максимально можно было набрать 20 баллов, верно ответив на все вопросы. Условный минимальный проходной балл был выбран равным 12.

Почему так

Учится на 4, не ответил про принципы фон Неймана, не знает хитрые топологии:

  1. 4 балла
  2. 3 балла
  3. 0 баллов
  4. 3 балла
  5. 2 балла

Следующим этапом должно было состояться очное собеседование с руководителем команды и тремя будущими наставниками.

А как в большой компании:
В большой компании, как правило, поток заявок существенно больше, и главная проблема — отсеять на первом этапе всех неподходящих кандидатов. Для этого используется тестовое задание, предшествующее всем отборочным этапам: вводному техническому курсу, собеседованию с HR и будущим наставником. Например, в 2017-м тестовые выглядят так: back-end, front-end.

7. Чему мы хотели учить

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

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

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

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

8. Как мы хотели учить

Предполагали разбить всё обучение (плана которого ещё не было) на темы, разобрать их между наставниками и прочитать в виде ускоренного теоретического курса, совмещённого с рядом практических задачек (об этом во второй части). Каждый из стажёров мог свободно обратиться за помощью к любому из наставников.

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

9. На чём мы хотели учить

Когда ты маленькая компания, то вопрос железа (точнее — его отсутствия) может вставать очень остро. На период стажировки у нас было четыре возможных варианта:

  1. Железо в виде центрального сервера с тонкими клиентами
  2. Собственное мобильное железо стажёров
  3. Хлипкие системники
  4. Хлипкие ноутбуки

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

А как в большой компании:
В Контуре у каждого стажёра появляется свое рабочее место — полноценное, как у нового сотрудника.

10. Как мы видели успешную стажировку

Для нас критериями успеха были следующие достижения стажёра:

  • Решает практические задачки
  • Растёт самостоятельность
  • Растёт сложность задаваемых вопросов
  • Влился в коллектив
  • Интересуется проектом
  • Знает, что будет делать завтра

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

11. Что бы мы стали делать, если бы стажировка провалилась

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

А как в большой компании:
Главное в этой ситуации — расстаться со стажёром на положительной ноте, чтобы не осталось неприятного осадка. Причины расставания могут быть самые разные: не сошёлся с командой по личностным качествам, недостаточный уровень знаний и другие.
В маленькой компании вопрос с расставанием должен решать наставник, тогда как в большой компании помогут дать правильный «фидбэк» и не оставить неразрешенных вопросов. Например, в случае, когда стажёру недостаточно знаний — важно дать ему стимул и мотивацию для развития, показать направления роста.

12. Какие задачи мы хотели давать после стажировки

Каждый из наставников готов был взять к себе в помощь одного джуна и делиться с ним задачами. Куда девать оставшихся — мы пока не знали (напоминаю, что на тот момент у нас не было ещё ни одного стажёра). При этом важно понимать, что студенты с началом учебного года могут вернутся к учёбе и вряд ли смогут работать больше, чем на 3/5 «ставки».

А как в большой компании:
Обычно в проектах столько работы, что такого вопроса просто не возникает. Но, если по каким-то причинам стажёру не нашлось задач в команде, где он стажировался, он может перейти в другую: это позволяет сохранить сотрудника и найти для него место.

Настоящий план

Ответив на большинство вопросов, к середине мая мы получили такой план:

  1. Готовим тексты объявлений для поиска.
  2. Запускаем объявления по всем выбранным каналам.
  3. Немного ждём.
  4. HR проводит телефонные собеседования.
  5. В середине июня проводим очные собеседования.
  6. Отбираем по результатам собеседования 3-6 стажёров (в идеале 5-6).
  7. Разрабатываем план лекций с учётом технического уровня стажёров.
  8. Придумываем практические задачки по каждой теме.
  9. К началу стажировки 1 июля готовим ноутбуки для новичков (нам вдвойне повезло, так как 1 июля пришлось на понедельник).
  10. Запускаем двухмесячную стажировку.
  11. Следим за прогрессом стажёров.
  12. По необходимости разбираем некоторые темы подробнее.
  13. В начале сентября подводим итоги стажировки и проводим назначения в команду.

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

Приберегу выводы по нашей стажировке для второй части, где покажу практические результаты.
Однако отмечу, что четыре года назад мы спохватились о стажировке поздновато — процесс начали только в мае. Не повторяйте нашей ошибки! Для сравнения: летняя стажировка в Контуре начинается также с 1 июля, отбор стартует с 1 февраля, а подготовка к ней начинается с ноября предыдущего года. С другой стороны, выбора у нас тогда не было — решение о проведении стажировки было отчаянным, спонтанным, но тем ценнее для нас оказался результат.

Автор: СКБ Контур

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js