Я был единственным разработчиком и де-факто "старшим разработчиком" на своем флагманском продукте моей компании некоторое время (приложение .NET WinForms, но это не связано). Совсем недавно они представили "новичка" разработчика со свежей степенью в области компьютерных наук. Нет опыта управления версиями, модульного тестирования, обслуживания программного обеспечения и т.д.
Недавно я назначил ему небольшой кусок работы и сделал себя полностью доступным для помощи, только чтобы найти его выход, не имеющий большого значения, как с точки зрения скорости, так и качества. Я старался не быть слишком сильным, поэтому единственным предварительным руководством, которое я ему дал, является статья в вики, в которой описывается задача, которую я обновляю (но у него нет), несколько примеров кода для новых технологий (таких как IPC), и я разложил задачи в несколько случаев FogBugz (к которым он не давал никаких исходных оценок, фактического времени или комментариев, пока я не сказал ему, что я бы поставил). Он редко задавал вопросы, и, когда он это делал, он, казалось, следовал моим предложениям, как если бы они были требованиями, часто не понимая их и даже когда они были неправы.
Итак... Я полностью сочувствую его ситуации, когда вы не знаете, что делать, и боитесь задавать вопросы. Я знаю, что моя обязанность - сделать лучшую работу, но никто не дал мне никаких указаний, поэтому у меня нет опыта в том, как выглядит лучшая работа. К счастью, он в отпуске на неделю, поэтому у меня есть время подумать о том, как улучшить процесс. Вот некоторые из элементов, которые происходят со мной, но я открыт для предложений и критики:
- Спросите, какая часть последней итерации была сложнее. Спросите, какая часть заняла гораздо больше времени, чем он ожидал.
- Проделайте пару программ программирования. Я уже предлагал это, и он, казалось, был открыт для этой идеи, но каждый раз, когда мы начинали, я склонялся к тому, что он не набирал достаточно быстро. Что-то, над чем я должен работать.
- Прочитайте код перед проверкой работы. (Мы не на этот раз из-за его отпуска.) В обзоре кода будут выделены следующие элементы.
- Требовать комментарии ко всем публичным пользователям. (Ни один из его кода не прокомментирован.)
- Требовать от него удалить все неиспользованные коды. (Беглый обзор показывает, что он этого не делал.)
- Требовать от него фиксации кода для каждого случая FogBugz, когда он завершает его и/или пересматривает случаи, когда они отличаются от того, что он обнаруживает при кодировании.
- Требовать, чтобы он ввел исходные оценки в FogBugz и переключил флаг "working on", чтобы держать его в задаче.
В то время как материал для проверки кода является специфическим и техническим, меня больше интересует его способность быть стартером и просить/получить руководство там, где он ему нужен. Я не думаю о требованиях FogBugz (6 и 7) как о жестких правилах, но кажется, что ему нужно следовать им, чтобы держать его в курсе.
Кроме того, я знаю, что мне нужно улучшить свои навыки наставничества/обучения, насколько ему нужно, чтобы улучшить его навыки кодирования. Любые предложения о том, с чего начать, когда "старший разработчик" не участвовал в официальном обзоре кода или не прошел через пару сеансов программирования, не приняв на себя?
Мой импульс заключается в том, чтобы обновить материал, который он уже зарегистрировал, но я знаю, что должен сохранить это для проверки кода. Я хотел, чтобы он проверил работу, чтобы я мог начать кодировать часть, использующую то, что он проверяет. Так что я должен использовать то, что он проверил, хотя я не думаю, что это удовлетворительно?