Привет, Хабр. Меня зовут Юрий Зорин, в Quadcode я руковожу Ops-департаментом. В марте 2022 года мы внедрили в команде внутреннее менторство: теперь у наших junior-инженеров есть наставник, который помогает развивать нужные навыки. В этой статье хочу рассказать, какой путь мы прошли на текущий момент и подвести первые итоги.

Почему возникла потребность в менторстве

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

  • Администрирование баз данных (PostgreSQL, MySQL, Redis).

  • Поддержка CI/CD-процессов.  

  • Обслуживание и администрирование окружений команд разработки.

  • Организация очередей.

  • Администрирование балансировщиков (Nginx ingress).

  • Администрирование сервисов логирования и мониторинга.

  • Администрирование сервисов хранения данных (CEPH).

  • Администрирование сервисов отладки (Jaeger, Conprof).

  • Обслуживание и администрирование контуров PCI DSS.

  • Создание и внедрение новых VoIP-решений.

  • Интеграция сервисов телефонии с микросервисами компании.

Для решения таких задач нужны опытные инженеры с отличным знанием технической стороны вопроса. И поскольку нашим основным заказчиком являются разработчики и команды разработки, Ops-инженеру очень важны soft-скиллы. У нас нет продакт-менеджера или продакт-оунера, который переведёт задачу с языка бизнеса приоритизирует её. Инженеру нужно самому понимать множество атрибутов, и уметь разобраться в срочности и важности запросов, с которыми приходят коллеги.

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

Искать готовых senior-инженеров на рынке — тяжело и накладно. Поэтому мы договорились пойти по принципиально иному пути: искать сотрудников с меньшими компетенциями и развивать их внутри команды.

Как готовились к внедрению менторства

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

  1. Провели ревью документации команды.

  2. Разработали методику и договорились о подходе к наставничеству.

  3. Продумали систему мотивации. 

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

Подход к наставничеству. Мы пообщались с потенциальными менторами и убедились, что все они могут хорошо доносить информацию. Не всегда сильный технический бэкграунд гарантирует, что человек будет хорошим наставником, поэтому мы проверяли, что ребята могут дать новичкам и теорию и фактуру. 

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

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

Как устроен процесс

Итак, ментор — это senior-инженер, который не только подкован с точки зрения технического опыта, но и может обучать и развивать коллег. Совместно они приходят к назначенной цели по hard- и soft-скиллам. 

За каждым ментором мы закрепляем только одного новичка — количество людей в команде это позволяет. Вместе они формулируют измеримые цели и составляют индивидуальный план развития — набор задач, по которому будут идти. Мы закладываем на рост от junior- до middle-специалиста полгода. Три месяца испытательного срока плюс три месяца работы под присмотром ментора.  

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

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

Результаты оцениваем по трём основным факторам: 

  1. Подтянул ли junior-инженер искомые навыки. 

  2. Уложился ли человек в срок по задачам, и не повлекло ли это за собой проблем.

  3. Принимает ли заказчик результаты работ и доволен ли ими. 

Первые итоги

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

Расскажу про одновременно успешный и неуспешный случай. Сотруднику нужно было одновременно подтянуть техничку и soft-скиллы. Они с ментором начинали с ежедневных синков и постепенно дошли до одной встречи в месяц. Через квартал мы получили уверенного middle-специалиста. Но, к сожалению, человек ушёл из компании — здесь наложилось много факторов. 

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

Сейчас мы отдали новичка в команде самому опытному senior-инженеру. Пока они на стадии ежедневных синков, но junior уже закрывает первые задачи самостоятельно. 

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

Предположим, что senior получает 100 000 абстрактных денежных единиц, middle — 60 000, а junior — 30 000. При этом senior-инженера мы будем искать абстрактные четыре месяца, а junior — месяц. Получается, что выгоднее нанять начинающего инженера и на горизонте полугода вырастить его до следующего уровня, постепенно увеличивая зарплату по результатам. Человек уже будет закрывать часть задач команды, а бизнес потратит меньше денег на процессы найма и зарплату в моменте. 

Комментарии (2)


  1. Shotgun12G
    21.10.2022 08:17
    +1

    Какими "линейками" вы измеряет софт и хардскиллы для оценки прогресса джуна?

    Как вы формулирует цели для пар специалистов?


  1. wizard_s
    22.10.2022 08:43

    Ой, много вопросов будет.

    У вас есть что-то типа матрицы компетенций с уровнями владения навыками? Очень интересно было бы увидеть какой-нибудь пример из нее. Как делить владение технологиями по уровням (условно есть nginx, один умеет делать proxy_pass, второй человек умеет адские конфиги на луа и перле и при этом они оба "умеют в nginx". пытаетесь ли вы это как-то определять или делить)?

    Что делается с, очевидно, очень широким стеком технологий и тем, что некоторые задачи могут возникать раз в год-два? Например - каждый день мы заливаем железки, но раз в год или два мы завозим какую-нибудь неведомую штуку типа условного STF или приходится ковыряться в какой-нибудь базе, с которой на постоянной основе не работаем? Входит ли обладание знаниями по такой технологии в план роста, оценку перехода из джуна в мидлы и далее? И вообще что делать с такими редко возникающими задачами? Как известно, чем шире стек, тем меньше глубина знаний. Есть ли специализация в командах (один гайки крутит и в случае чего может в манифест и код, а другой любит ямл и изредка может на железку залезть, но обычно не хочет)? Мидл у вас - это тот, кто в глубину или в ширину?

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