Влияние менторов на мозг подрастающего джуна

Менторство принято воспевать. И подопечному поможешь и у себя все по полочкам разложишь, еще и начальство плюсик поставит. При любой возможности надо пробовать, хуже мол точно не будет.

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

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

Дать удочку лучше чем рыбу

Не давайте конечных результатов, “правильных” ответов. Указывайте проблемные места и вручайте инструменты для решения. Любой конечный перечень решений, который вы человеку передадите, с течением времени устареет. Нужно создавать разработчика обучаемого, а не обученного. Способного находить решения, а не заучившего стандартный набор.

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


Я не сразу разобрался с констрейнтами в IB. По началу мне казалось удачной идеей нажимать “Reset to suggested constraints” и молиться. В какой-то момент это не сработало и я черканул ментору мол “ниработаит”. Он позвонил в скайп, я показал экран и аки мартышка нажал на кнопки, которые он быстро надиктовал. Все заработало. В следующий раз ситуация повторилась в точности. Когда проблема повторилась в четвертый раз, я наконец догадался пойти читать гайды.

Херовая удочка хуже чем ничего

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


Когда дело дошло до запросов в сеть, я, естественно, использовал Alamofire. Прошло некоторое время, ментор посмотрел код и поцокал зубом. В итоге дал совет заменить код на синхронный NSURLSessionTask. После вызова .resume() поток блокировался а разблокировался в коллбэке задачи. Без комментариев.

Так же мне кинули самописный тип Result и сказали использовать без дальнейших пояснений. Начинание, как я сейчас понимаю, хорошее… Но тогда я просто потыкал этот файл палкой и оставил лежать в проекте. Хотя бы приложенная статья про Railway паттерн могла бы существенно облегчить знакомство.

Усталый, циничный и бородатый

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

Вы как апостол Петр у ворот. Попробуйте представить IT в чуть более выгодном свете. Понятно, что вы профессионал, который чинит баги в шахте 24/7, но… Скиньте твиттер Козули, приколы от крупных компаний или сводите на митап пивка попить. Опять же, подлодку порекомендуйте. Покажите веселую часть нашей сферы, а не только серые будни перетаскивания задач.

Будьте менее серьезными хотя бы при личных встречах, не выливайте свою усталость и пессимизм на новичка, который еще ничего не видел и не достиг. Поощряйте любое развитие даже если вам уже все осточертело. Хочет втянуть новый фреймворк? Да без проблем. Интересно попробовать настроить линтер? Нам его как раз не хватает. Интересуется Rx? Вот держи полезных статей.

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


Мой наставник выслушивал и часто одобрял найденные нами технические решения. Всегда буду уважать его за позволение выкинуть легаси там, где другой бы закукарекал: “Ой, это сейчас не приоритетно”. Иногда он за счет нас сам узнавал новое решение и холиварил (как со взрослыми) о его удобстве. Было видно, что человеку не наплевать, и он хочет, чтобы мы развивались.

Здесь вам не тут

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

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

“Я знал, но забыл”, “давно этим не пользовался” и “у меня другой стек сейчас” — это фразы, которые нужно исключить. Вы царь и бог ровно до тех пор, пока вы быстро и правильно отвечаете на вопросы, решаете возникшие проблемы. Если вы способны только на прийти, помычать пять минут, “включить/выключить” и уйти, то плохо стараетесь.


У меня падало приложение из-за непривязанного аутлета. Это можно распознать за секунду, если ты хоть раз встречал проблему. Мой сенсей сидел, матерился, чистил derived data час. В итоге решение подсказал какой-то стажер.

Подробная карта роста

Джун неизбежно будет страдать и набивать шишки. Ведь это и есть “опыт”. Облегчите ему путь.

Обеспечьте возможность выбора и точность формулировок задач. Замутите процессы по-взрослому. Пусть будут спринты и планирования, груминги и ретроспективы. Это даст возможность регулировать занятость — джун сможет выбирать задачи, которые ему интересны или которые он представляет, как делать. В случае “затупа”, долгого ответа какого-нибудь важного лица можно переключаться на другие задачи и не прозябать. Ну и конечно, мотивация выполненного плана. Выполнил пятилетку в три года — молодец, крутись на стуле посередь опенспейса с криками: “У кого большие яйца”?


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

А ты точно синьор?

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

учись усердно и станешь мной

Задумайтесь о своем образе. Покажите, что вы что-то делаете. Заставьте его захотеть попасть в вашу жизнь. Прикажите на инстаграм подписаться, где выкладываете фотки с конференций, или выпуск подкаста с собой скиньте. Ссылку на блог, табличку “работник месяца” покажите. Если совсем нечем похвастать, может и учить кого-то рановато?

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

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


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

Я вырасту и стану таким как ты

Знакомый джуниор сказал мне очень дельную мысль:

“Теперь я наконец вижу путь от себя текущего к желаемому. И на этом пути нет чуда или таланта, есть только работа и воля”

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

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

Давайте искренние намеки на ваш путь к успеху, иначе джуна охватывает фрустрация. Появляются мысли, что он просто родился не с той ноги, стать “как вы” не дано. Остерегайтесь штампов типа “ну я всегда брал больше ответственности и не боялся новых задач”. Я занимался этим, потом читал вот это, затем устроился сюда. Двухчасовой разговор за пивом (за счет джуна) может создать ему отличный план развития на ближайшие несколько лет.


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

А чем мы займемся сегодня вечером?

Часто случается отсутствие задач уровня джуна. Стандартное решение — отмахнуться со словами “пусть пока знакомится с кодовой базой”. Так вот знакомство с кодовой базой без конкретной задачи это пустая трата времени. Как вы вообще себе это представляете? Просто открывать и читать названия всех 1000 классов проекта?

Придумайте что-нибудь. Не давайте энергии выкипать просто так, иначе джун преждевременно станет образцовым циником, разочаровавшимся во всем. Наверняка есть какой-нибудь фреймворк, чью версию нужно обновить или ненаписанные тесты. В крайнем случае, убедите его что крайне ВАЖНО выучить haskell или пройти курс по ML.


Помню, в начале мне сказали писать тесты с Mockito, а потом простенький фронт для мониторинга на React. Никогда не забуду как мы поднимали коннектор, чтобы полнотекстовый поиск Elastic Search работал с MongoDB. Скорее всего это никому вообще нужно не было, но как же блин весело и интересно.

Злобный тренер

подаван, ты че опять в мастер запушил

Конечно, смахивать с новичка пылинки и постоянно подбадривать не стоит. Нужно готовить к неизбежному стрессу и отчаянию. Все мы знаем доктора Кокса и “Чудо на льду”. Держите в норме его чувство собственного достоинства. Не помешает иногда напомнить, что он тупой и звать его никак. Главное не переборщить, потому что проблемы с токсичностью в русском коммьюнити есть и так. Идеальное состояние — составить такую команду, чтобы у каждого человека было на кого ровняться, пытаться догнать.

Постарайтесь все время встряхивать его. Приходите на работу и как ни в чем не бывало говорите: “а я тут новый фреймворк/курс/язык начал изучать, так интересно, а ты все сидишь, сериалы смотришь?” Пусть не останавливается ни на секунду, слишком еще рано для паузы.

Но не забывайте про контрасты. Гнобишь, критикуешь, а потом раз и “Клевое решение, парень” в комментариях и дешевое пиво в пятницу в офисе. Дайте почувствовать, что, оказывается, удовлетворенность можно получать не только от денег, но и от самого процесса.

Балакать на фене

Это ваш слух уже не режут англицизмы и вся тусовка знакома. Джун на все это смотрит широко-раскрытыми пустыми глазами. Будем откровенны, документацию языка он и сам прекрасно прочитает и на стэковерфлоу зайдет.

Дайте ему почву под ногами, дайте понятия, которые не получится загуглить и прочитать. Актуальные ответы на вопросы типа “кто вообще сейчас востребован?”, “как расти в компании?”, “как терпеть мракобесие и скотство в рабочем коллективе?” — действительно трудно раздобыть.

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


Мне вот никто не объяснял, что нужно говорить на стендапе. “Что ты сегодня сделал?” и я на полном серьезе пускался в подробный рассказ о том, какой класс я сегодня тестировал. Самое ценное знание “Всегда ставь скобочки в конце предложения, иначе назовут токсичным” я обрел лишь через год.


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

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

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

Уважайте своих джунов, растите их свободными от токсичности


Пройдите небольшой опрос — https://goo.gl/forms/rNqAAdeT4EDe4tKB2
Ваше мнение очень меня интересует!


Если вам понравилась статья, похлопайте (50 раз) и распространите ее. Обеспечьте своим детям нормальных менторов :)