Как наставить младшего программиста [закрыто]

Есть ли у кого-нибудь предложения о том, как наставник младшего программиста? Если вы наставляли кого-то, следовали ли вы какой-либо процедуре или это было неформально?

Если вы обучались в прошлом, какие вещи вы считаете наиболее полезными?

24.08.2008 14:05:31
самое полезное: свернутая газета
Steven A. Lowe 24.12.2008 17:48:14
@ Стивен А. Лоу: Вы вернули мне столько воспоминаний, когда я дрессировал своих собак. :)
Esteban Araya 1.02.2010 02:41:12
12 ОТВЕТОВ
РЕШЕНИЕ

Попробуйте выделить 30-60 минут в день, чтобы вместе просмотреть их код. Если вы не можете сделать это, попробуйте собраться вместе, чтобы просмотреть их код всякий раз, когда они совершают кодовый коммит, если он не был базовым. Пусть они объяснят, почему они выбрали подход, который они использовали вместо других. Такой процесс помогает установить прекрасные отношения, а также действительно стимулирует студента думать самостоятельно и быть способным защищать свои решения. Мало того, что ученик получит доступ к кому-то подходящему, кому он может доверять, вы заметите улучшение качества кода и логики почти сразу.

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

45
24.08.2008 14:33:42
Поразительный ответ !!!
traditional 10.05.2013 01:37:08
Хотел бы я получить такого наставника, как @Aaron. Удивительный ответ.
gaurav 1.08.2018 06:39:07

Думаю, я буду младшим :) Думаю, я бы оценил неформальный подход. Вероятно, это во многом зависит от ваших и ваших подопечных персонажей, но я бы сказал, что вы учитесь лучше, если у вас нет эго. Разбейте лед, убедитесь, что есть обратная связь в обоих направлениях. Такие вещи, как просмотр кода (оба варианта?) И случайное парное программирование, могут работать, и, если есть хорошее совпадение, это может быть очень весело!

3
24.08.2008 14:16:36

Я воспитал несколько младших людей под меня раньше. Мой подход немного варьировался в зависимости от человека, в зависимости от того, как он учился.

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

Надеюсь это немного поможет.

0
24.08.2008 14:37:16

У меня была возможность работать стажером (одним из двух) в небольшой софтверной компании, и у меня была возможность поработать над «почти новым» проектом, который у них был. Они предоставили мне все необходимое и дали представление о том, чем на самом деле был проект (основные вещи, такие как требования и т. Д.).

Сначала мы должны были выполнить незначительные задачи, такие как исследование вещей, которые имели значение для проекта (они дали нам список тем). Я думаю, это было сделано для того, чтобы понять, как много мы можем справиться с самим собой, поскольку вещи, которые нам нужно было найти и исследовать, были не такими уж тривиальными, и это заняло примерно две недели или около того (считая базовых демонстраций, которые мы должны были для этого создать) , Эта фаза тестирования действительно была проведена без особой «тренировки».

Однако после этого периода мы могли бы работать над самим проектом. Это также был момент, когда нас начали тренировать вместе, в стиле, подобном парному программированию , за исключением того, что нас было трое (2 интерна и 1 «тренер»).

Мы многому у него научились, но это было неформально, и он не вел себя как «всезнающий, слушай меня». Когда у нас были предложения, он выслушивал и думал с нами, были ли они хороши. или высказать свое мнение о том, почему идея не должна быть реализована таким образом ... Теперь, когда я об этом думаю, он активно поощрял нас делать предложения и думать о лучших способах сделать что-то, вместо того, чтобы просто сидеть и принимать приказы от кого-то, кто, вероятно, знает, что делать лучше, чем вы.

Итак, вкратце:

  • Пусть младший программист работает (в основном) самостоятельно, чтобы изучить имеющиеся материалы, дать ему список незначительных вещей TODO, таких как поиск информации или создание небольших демонстраций.
  • Проверьте работу, которую он делал регулярно, и посоветуйте ему, если есть лучшие способы сделать что-то. Также укажите, какие вещи он на самом деле хорошо сделал, так что он запомнит их на потом.
  • Пусть он работает над реальным проектом и наставляет его, работая вместе над одним проектом, давая ему советы, когда у него есть вопросы.
  • Усилия должны идти в обоих направлениях: побудить его задавать вопросы, бросать вызов «так, как это делается в настоящее время». Задайте ему вопросы о том, как он думает, что это должно быть сделано, и выскажите ему свое мнение.
  • Сделайте это «приятным» - не позволяйте ему выглядеть так, как будто вы отдаете приказы.
18
15.03.2011 16:00:03
Это хорошо. Одна из проблем, с которыми я столкнулся при наставничестве, заключается в том, что у вас есть люди, которые будут бегать с мячом, а некоторые - нет. В настоящее время я считаю, что вам нужно больше бегунов, чтобы добиться успеха.
EvilTeach 30.11.2009 17:21:51

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

Таким образом, вы посвятите себя выделению времени на работу с младшим, и он сможет увидеть «настоящую жизнь». Работая над реальными заданиями и услышав живую обратную связь, он сможет довольно быстро набрать скорость.

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

1
24.08.2008 14:52:52

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

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

1
24.08.2008 15:06:25

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

  • Достойный доверия : у наставника было 8+ лет опыта и опыт работы в руководстве и обучении. Он прошел через различные испытания, работал в разных условиях, поэтому у него была прекрасная перспектива.
  • Подлинный : наставничество было поощрено руководителем, но не настолько формальным, чтобы сделать его упражнением в прохождении движений. Наставник хотел наставника, и я хотел, чтобы кто-то учился у.
  • Страсть : наставнику нравились области, в которых он находился, проблемы, которые он решал, и технологии, которые он использовал. Когда я попал под его крыло, я обнаружил, что это заразно.
  • Резко и ясно сформулируйте: наставник критически подходил к вопросам и формулировал их кратко. В наших обсуждениях не было много нечеткости; мы добрались до сути вопроса, и он направил меня на мудрые пути решения проблем и действий.
  • Значимый : работа, которую я выполнял с наставником, была осмысленной работой, а не просто упражнением, чтобы быть занятым или наращивать набор навыков. Совместная работа над задачей, которая ощутимо помогла организации, помогла сфокусировать мой интерес и узаконить процесс наставничества.
13
24.08.2008 20:48:22

Поскольку я должен был объяснить, почему я хотел сотрудничать (помимо денег) во время моего интервью, мой менеджер позаботился о том, чтобы мой первый проект позволил мне поработать над тем, что я назвал слабыми местами: очень мало опыта работы с Linux (я выбрал R & D команда только для Linux, так что я был бы вынужден учиться), не зная полезного текстового редактора (я действительно хотел выучить Vim), и как выучить другой язык программирования (совсем другой подход, чем изучение языка, когда вы учитесь программировать) , Он сказал мне, что мне платят за учебу.

Я учусь лучше всего, читая книги, поэтому, посмеиваясь над Unix для чайников (да! Я был не единственным, кто думал, что это иногда было неясным и сумасшедшим), я начал с Unix с Nutshell и Практического руководства Sobell по командам Linux . После этого я распечатал документацию Vim и начал ее просматривать. Затем я просмотрел пару книг по Python, языку моего первого проекта. Мне дали все время, чтобы чувствовать себя комфортно в этих вещах (что, как я теперь понимаю, было настоящей проблемой), и затем я начал добавлять функциональность в проект предыдущего кооператива.

Теперь я понимаю, что было бы потрясающе встречаться с кем-то каждый день или два для проверки кода, как сказал Kamikaze Mercenary.

3
24.12.2008 17:50:50

Вот мой короткий список:

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

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

Отзывы и предложения - это то, что произошло в обоих вышеупомянутых случаях. Такие книги, как «Как завоевывать друзей и оказывать влияние на людей» Дейла Карнеги, могут помочь в понимании различной динамики человеческих отношений, которая, хотя это звучит довольно технически, на самом деле просто о том, как мотивировать кого-то другим различными способами. Ключевой момент здесь заключается в том, чтобы знать, как оставить след в сухарях, чтобы освоить некоторые практики, например, давать подсказку за подсказкой о чем-то, а не просто давать ответ. У меня были разные учителя математики, у которых был подарок для того, как я развил некоторые из этих навыков.

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

2
1.12.2009 17:11:07

По моему опыту, при наставничестве очень важно, чтобы ученик действительно ХОТИЛ узнать больше.

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

3
1.08.2018 07:44:56

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

6
1.02.2010 02:42:56

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

Быстро взгляните на то, что они хотят сделать, и предложите подсказки, чтобы выяснить проблему. Это вместо того, чтобы дать ответ: «Просто уберите эту строку кода», предложите им взглянуть на то, что там есть, и все ли это необходимо

2
15.04.2012 16:57:38