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

Во время стажировки Эми и Кайл создали довольно сложную систему адаптации для моей тогда еще начинающей компании LuckySteps. Он включал решение проблем UX, создание PDF на стороне сервера в Ruby, клиентский JavaScript, настройку CSS Bootstrap и использование различных основных компонентов Ruby on Rails. Было вдохновляюще наблюдать, как они сталкиваются и преодолевают каждую инженерную проблему.

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

За последние несколько недель я был наставником еще одного младшего разработчика - и все же удовольствие вернулось.

По большей части это наставничество было просто парным программированием в моем стороннем проекте Guidable через Google Hangout - и у меня есть несколько советов, которые хорошо мне пригодились в этих наставнических сессиях:

  1. Выберите подходящий проект и уровень: Начните с подходящего уровня сложности для вашего подопечного / ученика. Программирование - это сложный процесс, требующий глубокого понимания. Выбирая проекты для совместной работы, подумайте об этих уровнях и уровне вашего подопечного.
  2. Объясните, что вы делаете (и почему вы это делаете). Если вы показываете пример, потратьте первые несколько минут любого сеанса сопряжения, чтобы полностью объяснить, что вы делаете - и зачем ты это делаешь. Еще лучше: напишите это перед сессией наставничества / обучения и отправьте своему подопечному / ученику.
  3. Установите ограничение по времени. Изучение нового требует сосредоточенности и умственных способностей. Установите ограничение по времени для встреч, предполагающих обучение. В конце оставьте немного времени, чтобы очистить рабочее место и объяснить следующие шаги.
  4. Оставьте место для вопросов (и поощряйте их): это моя любимая часть наставничества / обучения. Планируйте, что 50% времени уделяйте вопросам. Каждый раз, когда я наставляю / преподаю, мне задают вопросы, о которых я никогда полностью не задумывался, и они вынуждают меня объяснить концепцию (или признать, что мне не хватает знаний, и я найду ответ позже).
  5. Наслаждайтесь: наставничество доставляет удовольствие всем. Для подопечного это способ повысить уровень своих навыков и контактов в отрасли. Для наставника это способ отточить свои навыки, оказать положительное влияние на мир и даже повысить ваше эмоциональное благополучие.

Вот и все, ребята. 5 советов по наставничеству разработчиков программного обеспечения через парное программирование. А теперь иди и наставник!