Как сделать жизнь нового арендатора комфортной? [закрыто]

36

Как высокопоставленный член команды разработчиков программного обеспечения, которая, к сожалению, имеет мало документации по унаследованным причинам, что можно сделать, чтобы сделать новый найм комфортным?

Я планировал сеансы отладки с человеком по конкретным дефектам / запросам функций, чтобы познакомить его с базой кода. Тем не менее, кодовая база очень велика, и это всего лишь фиксированный объем кода, который я могу раскрыть человеку таким образом.

Я ищу предложения в тех случаях, когда новый сотрудник - недавний выпускник или опытный профессионал.

Fanatic23
источник
3
Что означает «наследие причин»?
Работа
9
@Job: это означает, что первоначальные разработчики кода не верили в документацию. Они были мистическими людьми.
Fanatic23
7
Я бы сказал, что вашему новому найму нужно время и поддержка, а не срочные сроки! Я был тем новым наемным работником, где нужно было исправлять ошибки как можно скорее для клиентского патча, но многие из них были довольно вовлечены - мне нужно было ходить и разговаривать буквально с 6 людьми, давая противоречивые ответы. Кто-то перевернулся, потому что я задавал слишком много вопросов. Было бы проще, если бы этот парень сам исправил код. Мне нужно было наличие людей + никаких срочных сроков + способность (выделенное время) улучшать ситуацию по мере продвижения. У меня их не было, поэтому я почти бросил, но решил не для опыта :(
Работа
@Job: очень полезно, спасибо. Отсутствие сроков не является хорошим началом, и свободная рука для улучшения ситуации определенно повысила бы уверенность кандидата.
Fanatic23

Ответы:

31

Они действительно применимы к любому новому найму, будь то новички или большой опыт работы в отрасли:

  1. Убедитесь, что вы доступны. Если вы слишком заняты, чтобы помочь им познакомиться с вашей системой, назначьте им наставника. Убедитесь, что наставник представителен и готов сделать такие вещи, как выйти на обед с новым прокатом. Работа наставника заключается в том, чтобы отвечать на любые вопросы, которые могут возникнуть у нового найма, и, в случае необходимости, помогать им.
  2. Убедитесь, что любые задачи, которые им назначены, имеют как можно меньше зависимостей. Нет ничего, что могло бы заставить кого-то новичка в вашей системе (новый или более чем 5-летний опыт) чувствовать себя перегруженным больше, чем назначать им задачу, у которой есть разбросанные зависимости по всей вашей системе (которую они также должны будут изучить, чтобы выполнить свою задачу)
  3. Имейте некоторую форму списка контактов / собственности, доступную через сайт интранета или что-то в этом роде. Новые люди (особенно новички), как правило, довольно неуверенно спрашивают «о ком я спрашиваю»x подсистеме?». Если им предоставляется список при найме, они гораздо охотнее отправляют электронное письмо или разговаривают с ним напрямую, не просматривая цепочку людей, чтобы найти нужный.
  4. Получите документацию . Применяйте стандарты кодирования, которые включают комментарии, которые можно анализировать с помощью такой утилиты, как Doxygen. Как минимум, это даст новым сотрудникам возможность просматривать ваш API. Если вы используете IDE, например Netbeans, использование формата комментариев Javadoc предоставит документацию вместе с завершением кода. Неоценимо при изучении новой системы.
  5. Проведите приветственную встречу / обед / неуставные отношения и т. Д. Бросив кого-то в свой стол без каких-либо базовых личных вежливостей, вы можете почувствовать себя оторванным от команды.
Демиан Брехт
источник
1
Спасибо, но что, если новый наем слишком труден для понимания вещей и пытается не принять его вину, даже если мы учим их максимальному уровню - я испытываю ситуацию, когда новый наем не годится, и я решаю его задачи также в процессе разработки - еще раз спасибо
Навин Кумар
2
@naveen: Есть такая вещь, как плохой прокат. Если они абсолютно не хотят (или не могут) учиться или нести ответственность за свои задачи, то я бы поговорил с их менеджером и оставил это в их руках - либо они поговорят с новым сотрудником, чтобы узнать, смогут ли они оказывать дальнейшую помощь и, возможно, (надеюсь) привести их в нужное русло, или новый сотрудник может обнаружить, что он / она скорее будет преследовать другие интересы вашей компании.
Демиан Брехт
10

Я думаю, что могу действительно помочь вам с этим. Когда мне было 18 лет, моей первой работой была должность младшего разработчика .Net. У них была очень большая структура, и он заставил меня сразу же приступить к изучению ускоренного курса по CAB, и, когда появился первый проект, я должен был оценить проект, изучить SqlServer и их среду. То, что сделало это замечательным опытом, состояло в том, что мой старший разработчик был рядом со мной на протяжении всего процесса от оценок, до SqlServer, до их структуры. Я узнал, что мне нужно, чтобы узнать очень своевременно, потому что я мог использовать его в качестве ресурса для вопросов и помощи. Имейте в виду, это также было сделано, когда я был в Колорадо, а он был в Калифорнии. (Удаленная разработка). Он велел мне читать технические документы на CAB, указывал на хорошие ресурсы и т. Д., Так что не то, чтобы ему приходилось заниматься всем преподаванием но когда дело дошло до вопросов, он был там. В итоге, вам нужен кто-то, кто поддержит ваших младших разработчиков. Особенно, если вы хотите, чтобы они учились и развивались вместе с компанией и имели хорошие рабочие отношения. Они хотели, чтобы я переехал в Калифорнию, потому что они были довольны скоростью, с которой я смог учиться и прогрессировать, и своей работой, к сожалению, я не смог переехать из-за затрат и т. Д.

Этот один опыт действительно наделил меня и чертой. Сейчас я успешно занимаюсь разработкой программного обеспечения для предприятий и фондов в моем городе, и мне все еще только 21 год. Это была лучшая первая работа, и я очень благодарен Тому Андерсону из RenEvo Software & Designs (который был моим старшим разработчиком). Удивительный наставник.

Дэвид Андерсон
источник
Спасибо, что поделились своей историей. Я понимаю, каково быть там для младшего кандидата, который был там в какой-то момент.
Fanatic23
Молодец, Том Андерсон. Хорошая история.
Гэри Роу
Том Андерсон - Дэвид Андерсон. Совпадение или ты связан с Томом?
0
Как ни странно, совпадение.
Дэвид Андерсон
4

Компания, с которой я сейчас работаю, ИМО, делает это правильно для новых сотрудников. Вот некоторые из вещей, которые я видел эффективными.

Наставники

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

Документация

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

Стивен Эверс
источник
Слишком много наставничества приводит к тому, что работнику, который большую часть времени нуждается в няне, просит что-нибудь, на самом деле все, что угодно, вместо чтения кода и т. Д. Я бы порекомендовал его только для младших школьников.
Сокол
1
@Falcon: я не видел, чтобы это происходило на практике, но, возможно, я могу уточнить, что наставник - это скорее человек, чья роль четко определена для нового найма как кто-то, кто должен поддерживать высокую готовность нового найма отвечать на вопросы или направьте нового найма на любую нужную им информацию. Снова немного неправильно, но я не могу придумать лучшего названия для роли.
Стивен Эверс
1
@falcon: я не согласен (о том, что рекомендую его только для юниоров). Те, у кого есть опыт, становятся лучше сами по себе (хорошо, так большинство могут ), или это становится легче с наставничеством? Там это всегда кто - то лучше , чем вы, кто - то , кто был вокруг больше , и кто - то , что вы можете узнать, чтобы помочь вам добраться до этого следующий шаг в вашей карьере, будь то новый прокат или CTO.
Демиан Брехт
1

Терпение

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

Поддержка

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


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

Гэвин Коутс
источник
1

Я начал работать на новой работе 4 месяца назад, и я действительно думаю, что мое новое рабочее место отлично справилось с этой новой работой по найму.

А. Бадди

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

B. низкая зависимость

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

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

C. Тренинги с новым прокатом

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

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


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

Никлас Х
источник
1

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

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

кодировщик
источник
0

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

Держите его / ее подальше от «плохих» парней. Обычно в каждой организации есть как минимум 1 высокомерный человек (это мой закон :))

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

Следите за его успехами в первый месяц или около того, сделайте выводы о его проблемах, если можете.

Без шансов
источник