Разработчики, обучающие других разработчиков: лучшие практики (+опрос)

0
79
views

Гергели Орош, разработчик, перешедший в менеджмент и в настоящее время работающий в Uber, поделился своим опытом в менторстве. Представляем сокращенный перевод его статьи «Developers mentoring other developers: practices I’ve seen work well».

Менторство - лучшие практики
Photo by Nik MacMillan on Unsplash

Как работает менторство? Я задавался этим вопросом с тех пор, как присоединился к Uber. До того времени у меня менторов не было и сам я ментором тоже не был, по крайней мере, ничто из того, что было в моей жизни на тот момент, менторством я назвать не могу.

А вот в Uber существует официальная программа менторства. Практически у каждого инженера, с которым я познакомился, был ментор. От сеньоров и вышестоящих инженеров ожидается, что они будут учить других, это числится в наших обязанностях. С тех пор, как я начал здесь работать, я и учился у наставника, и сам был наставником, и имел возможность наблюдать, как система наставничества помогает росту других инженеров.

Менторство (наставничество) это одна из лучших вещей, существенно способствовавших моему росту (и не только моему). Здесь мы обсудим подходы, которые хорошо работают в процессе передачи знаний от инженера к инженеру. Все эти подходы я испытал на собственном опыте, наблюдал у коллег, а также узнал в ходе общения с несколькими менторами в моей сети знакомств на Coding Coach. Надеюсь, этот пост поможет как инженерам, желающим заняться менторством, так и людям, находящимся в поисках ментора.

Что такое менторство?

Мне доводилось слышать о менторстве в разных контекстах, например, как о части процесса введения новичка в курс дел, как об обучении или помощи. Я бы хотел сузить обсуждаемое здесь понятие. Я воспринимаю менторство как отношения между опытным человеком и тем, кто желает расти, нацеленные на обучение последнего. Человек, который учит, называется ментором (наставником), а тот, кто перенимает опыт, — учеником. Если говорить о сфере разработки программ, здесь довольно распространена ситуация, когда более опытный, старший инженер обучает младших.

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

Onboarding — особая форма наставничества

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

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

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

Onboarding - тоже менторство
Photo by jose aljovin on Unsplash

Неформальное менторство: это происходит повсеместно

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

Ревью кода это распространенный пример неформального менторства. Эти проверки кода и обсуждение по ходу дела существенно помогли мне повысить мой профессиональный уровень. Если считать ревьюеров наставниками, то их у меня было много, и я понемногу учился у каждого из них.

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

Формальное менторство: больше усилий и концентрации дают больший рост

Более «формальное» менторство в среде разработчиков я наблюдал значительно реже. Это ситуации, когда более опытный наставник соглашается учить более младшего инженера, они устраивают регулярные встречи и наставник помогает ученику расти в карьерном плане.

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

Более формальные отношения наставничества проще завязать в более структурированных технологических компаниях и в онлайн-сообществах.

Все больше компаний внедряют у себя внутренние программы наставничества. К сожалению, они при этом закрыты от остального мира. Uber, PayPal, Amazon — у всех них есть различные программы, помогающие найти формального наставника. Онлайн-сообщества менторов (например, Coding Coach) это также хорошее место для поиска наставников или учеников.

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

А вот узнать, сколько пользы получают сеньоры от наставничества, было для меня неожиданностью.

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

Лучший способ начать формальные отношения наставничества это обратиться к потенциальному наставнику напрямую. Я часто советую людям просто подойти к нужному им человеку и прямо сказать: «Вы — тот, кто мне нужен. Можем мы встретиться и поговорить о тех сферах, в которых я хотел бы подтянуться, а вы могли бы мне в этом помочь в качестве наставника?». Для таких вещей хорошо назначать отдельные встречи, чтобы оба человека смогли определиться, хотят ли они и могут ли уделить время менторству.

Приходите на ознакомительную встречу подготовленным, составьте список тем, которые хотите обсудить. Ну, например:

  • Бэкграунд. Расскажите о себе — это поможет растопить лед и познакомиться поближе.
  • Зачем мне это нужно? Что вы рассчитываете получить от этих отношений? В каких сферах хотите расти? Спросите о том же у собеседника. Лучшие отношения наставничества двусторонние, каждый должен получать что-то полезное для себя.
  • Роли. Что вы надеетесь получить от ментора? Чего ментор ожидает от вас?
  • Темы для обсуждений. В каких областях знаний вы заинтересованы?
  • Встречи. Как часто вы хотите встречаться и когда? По моим наблюдениям, большинство разработчиков встречаются с наставниками раз в две недели и проводят с ними около часа в удобное для обоих время (например, в обеденный перерыв).
  • Коммуникация между встречами. Можно ли будет обращаться к наставнику с вопросами в любое время? Какое у него расписание?
  • Оценка прогресса. Какие критерии помогут вам понять, идет ли вам на пользу менторство?

Не забывайте, что ваш собеседник вполне может отказаться стать ментором, это совершенно нормально. Когда я искал себе наставника, мне несколько раз вежливо отказывали. Иногда из-за нехватки времени, иногда люди чувствовали, что у них нет того опыта, на который я рассчитывал. Не отчаивайтесь; попросите человека посоветовать вам что-нибудь и попробуйте познакомиться с другим потенциальным наставником. Рано или поздно (скорее — рано) вы найдете подходящего человека.

Ментор и ученик
Photo by NeONBRAND on Unsplash

Когда вы — ученик

Я считаю, что, будучи учеником, следует прилагать усилия и уделять время учебе, а иначе теряется ценность наставничества. Нужно с самого начала четко определить, что вы ожидаете получить.

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

Я веду отдельный документ, к которому имеет доступ мой ментор. Там я делаю записи о разных вещах и готовлю список тем для обсуждения. Я использую следующую структуру:

  1. Краткие пометки о ключевых моментах, случившихся с момента последней встречи. Это позволяет моему наставнику быть в курсе моих дел.
  2. Размышления о шагах, предпринятых по совету наставника. Если на последней встрече мы обсуждали применение какого-нибудь подхода или желательность прочтения книги, я делюсь результатами. Это полезно нам обоим, ведь таким образом наставник тоже может узнать что-то интересное.
  3. Сложности, с которыми я столкнулся. Я как бы проговариваю их и устраиваю мозговой штурм с вариантами решений.
  4. Последние достигнутые успехи. Я описываю ситуации, с которыми, по моему мнению, я хорошо справился, и поясняю, почему я так считаю. Также я спрашиваю, что об этом думает мой наставник. В девяти случаях из десяти я получаю фидбек, позволяющий взглянуть на дело под другим углом и заставляющий меня задуматься, что я могу сделать иначе в следующий раз.

Когда вы — ментор

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

Как стать эффективным наставником
Photo by Mimi Thian on Unsplash

А как у вас с менторством?

Как стать эффективным наставником и поддержать ученика

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

Слушайте, что говорит ваш ученик. Это самое важное в процессе менторства. Ученик приходит за советом, но для него столь же важно рассказать о своих делах и чувствах. Старайтесь начинать разговор с наводящих вопросов: «О чем думаешь, есть какие-то идеи?», «Есть проблемы с чем-нибудь?», «Над чем работаешь?», «Какие у тебя планы на эту неделю?». Сядьте, послушайте и подумайте, где вы могли бы помочь вашему ученику.

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

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

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

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

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

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

И еще несколько советов, как стать хорошим наставником:

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