Привет, Хабр. Меня зовут Юрий Зорин, в 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-инженеров на рынке — тяжело и накладно. Поэтому мы договорились пойти по принципиально иному пути: искать сотрудников с меньшими компетенциями и развивать их внутри команды.
Как готовились к внедрению менторства
Перед тем как передавать новичков наставникам, нужно привести в порядок командные процессы и провести подготовительную работу. Иначе есть риск получить больше хаоса, чем пользы. Вот что сделали мы:
Провели ревью документации команды.
Разработали методику и договорились о подходе к наставничеству.
Продумали систему мотивации.
Ревью документации. Мы собрали полный стек технологий и процессов, с которыми работаем, и список проблемных мест, в которых люди обычно застревают при решении задач. Дальше структурировали документацию команды, и с тех пор поддерживаем её в актуальном состоянии. Это нужно, чтобы менти мог найти ответы на часть своих вопросов без привлечения наставника.
Подход к наставничеству. Мы пообщались с потенциальными менторами и убедились, что все они могут хорошо доносить информацию. Не всегда сильный технический бэкграунд гарантирует, что человек будет хорошим наставником, поэтому мы проверяли, что ребята могут дать новичкам и теорию и фактуру.
Со стороны руководителя здесь важно убедиться, что нагрузка на senior-инженеров будет грамотно распределена. Не должно возникнуть ситуаций, когда один ментор тащит команду из десяти junior-специалистов.
Система мотивации. Поскольку наставничество — это дополнительная нагрузка на senior-инженера, она должна быть отражена в мотивационной составляющей. Мотивация может быть финансовой и нефинансовой. В любом случае это намного выгоднее, чем нанимать опытного специалиста, который потенциально может не пройти испытательный срок. Мы премируем сотрудников по итогам менторства с привязкой к результатам.
Как устроен процесс
Итак, ментор — это senior-инженер, который не только подкован с точки зрения технического опыта, но и может обучать и развивать коллег. Совместно они приходят к назначенной цели по hard- и soft-скиллам.
За каждым ментором мы закрепляем только одного новичка — количество людей в команде это позволяет. Вместе они формулируют измеримые цели и составляют индивидуальный план развития — набор задач, по которому будут идти. Мы закладываем на рост от junior- до middle-специалиста полгода. Три месяца испытательного срока плюс три месяца работы под присмотром ментора.
Задача ментора — договориться о регулярности синков по утверждённому плану, помогать в его выполнении и следить за результатами. Синки могут быть ежедневными, еженедельными или даже ежемесячными — всё зависит от потребностей конкретного сотрудника.
Наставник подсказывает, куда пойти с той или иной задачей, кого и как нужно спросить, чтобы получить необходимые данные. С техническими задачами менти тоже получают помощь, но она урезана. Ментор может подсказать направление, посоветовать книги, статьи или выступления. Но нам важно, чтобы по итогам обучения подопечный научился сам разбираться с проблемами и решать их. Делать задачу за человека — неправильно.
Результаты оцениваем по трём основным факторам:
Подтянул ли junior-инженер искомые навыки.
Уложился ли человек в срок по задачам, и не повлекло ли это за собой проблем.
Принимает ли заказчик результаты работ и доволен ли ими.
Первые итоги
С внедрения менторства в команде прошли семь месяцев. За это время у нас было четверо менти: трое закончили обучение и показали хорошие результаты, один ушёл из компании. Недавно мы наняли ещё одного junior-инженера, и он проходит процесс прямо сейчас.
Расскажу про одновременно успешный и неуспешный случай. Сотруднику нужно было одновременно подтянуть техничку и soft-скиллы. Они с ментором начинали с ежедневных синков и постепенно дошли до одной встречи в месяц. Через квартал мы получили уверенного middle-специалиста. Но, к сожалению, человек ушёл из компании — здесь наложилось много факторов.
С одной стороны это плохо, потому что мы потеряли актив, ресурс и вложенные силы. С другой стороны, наш бывший сотрудник будет и дальше работать в IT, и сможет подсказать кому-то, что в Quadcode ему помогли вырасти и прокачаться. В этом мы тоже видим ценность, поэтому не считаем временные на менторство затраты напрасными, несмотря на риск ухода сотрудника.
Сейчас мы отдали новичка в команде самому опытному senior-инженеру. Пока они на стадии ежедневных синков, но junior уже закрывает первые задачи самостоятельно.
Мы будем и дальше поддерживать практику менторства, потому что уверены, что это хорошая долгосрочная инвестиция. Искать новые кадры — сложно, удерживать сотрудников — тоже. Нам проще быстро найти человека и доучить его под свои нужды, выделив на это время опытных инженеров.
Предположим, что senior получает 100 000 абстрактных денежных единиц, middle — 60 000, а junior — 30 000. При этом senior-инженера мы будем искать абстрактные четыре месяца, а junior — месяц. Получается, что выгоднее нанять начинающего инженера и на горизонте полугода вырастить его до следующего уровня, постепенно увеличивая зарплату по результатам. Человек уже будет закрывать часть задач команды, а бизнес потратит меньше денег на процессы найма и зарплату в моменте.
Комментарии (2)
wizard_s
22.10.2022 08:43Ой, много вопросов будет.
У вас есть что-то типа матрицы компетенций с уровнями владения навыками? Очень интересно было бы увидеть какой-нибудь пример из нее. Как делить владение технологиями по уровням (условно есть nginx, один умеет делать proxy_pass, второй человек умеет адские конфиги на луа и перле и при этом они оба "умеют в nginx". пытаетесь ли вы это как-то определять или делить)?
Что делается с, очевидно, очень широким стеком технологий и тем, что некоторые задачи могут возникать раз в год-два? Например - каждый день мы заливаем железки, но раз в год или два мы завозим какую-нибудь неведомую штуку типа условного STF или приходится ковыряться в какой-нибудь базе, с которой на постоянной основе не работаем? Входит ли обладание знаниями по такой технологии в план роста, оценку перехода из джуна в мидлы и далее? И вообще что делать с такими редко возникающими задачами? Как известно, чем шире стек, тем меньше глубина знаний. Есть ли специализация в командах (один гайки крутит и в случае чего может в манифест и код, а другой любит ямл и изредка может на железку залезть, но обычно не хочет)? Мидл у вас - это тот, кто в глубину или в ширину?
Из джуна в мидлы за полгода - вообще интересно. Мидл же это не только про набор знаний как таковых, но еще и уже про опыт. Джун за полгода не соберет болшинство граблей и простое изучение документации и просмотр видео по конференциям ему в этом никак не помогут. Поэтому интересна шкала оценки
Shotgun12G
Какими "линейками" вы измеряет софт и хардскиллы для оценки прогресса джуна?
Как вы формулирует цели для пар специалистов?