Подтвердить что ты не робот

Как вы получаете новичков, чтобы начать работу над существующим проектом?

Когда вы находитесь в запущенном проекте, как вы получаете новичков, чтобы начать? Что, на ваш взгляд, самый быстрый способ запустить их? Как вы можете быстро узнать их код и культуру проекта, чтобы быстро догнать их?

Чем вы занимаетесь? Дайте им недостатки, чтобы решить, чтобы они погрузились в код? Вы даете им документацию для чтения (чтобы им стало скучно)?

Недавно я начал работу над проектом, и мне были назначены дефекты в качестве отправной точки. Как всегда, у меня пока нет доступа к SCM (но у меня есть источники), у меня пока нет почты, у людей не так много времени, чтобы помочь и т.д. Итак, вот другой вопрос:

Как, как пеон, вы начинаете работу над проектом? Что вы можете сделать, чтобы сделать его более эффективным?

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

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

Ответ 3

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

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

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

Ответ 4

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

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

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

Это, очевидно, не будет проблемой, если документация до нуля. Я работал в Accenture пару лет назад, и на самом деле я действительно производил полезный код на своем 3-м дне (первые 2 дня, когда индукция типа HR). Возможно, это был только один проект. Но я никогда раньше и не переживал то же самое.

Ответ 5

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

Как новый парень, я часто буду делать кое-что, чтобы помочь мне понять новую базу кода. Я перепроектирую код в UML с помощью Sparx Enterprise Architect. То же самое с базой данных. В обоих случаях это дает мне возможность искать обратную конструкцию для поиска таких вещей, как типы и имена столбцов. Я также могу создавать диаграммы на основе обратной модели. Диаграммы могут быть сосредоточены на одной области, которую я заинтересован в обучении.

Я также воспользуюсь ReSharper, чтобы выполнить тестовые реорганизации областей кода. Это были бы агрессивные рефакторинги и переформатирование, чтобы облегчить мне чтение кода; Я не проверяю их обратно в исходное управление!

Ответ 6

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

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

Поскольку вы новичок в этом случае, я думаю, что дефекты - прекрасная отправная точка:). Просто продолжайте задавать вопросы своим опытным товарищам по команде.

Ответ 7

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

У меня есть python, java, C background. И в основном я предпочитаю python. Поэтому позвольте мне привести мои примеры в python

Моя документация python имеет такой формат. выберите стиль, который строго соблюдается в вашем проекте.

"""
This program does so and so, a single line explanation

arg1 does so and so. arg2 acts on so and so. It returns a list of something

Detailed explanation of exceptions, process etc.

>>> code.samples
expected result
>>> code.samples.failed
traceback
...
SomeError
"""

Любой, кто интересуется, начнет читать некоторые примеры кодов, так что это будет хороший момент для начала, что объясняет, что делает функция, класс или метод.

Далее вверх.

Поддерживайте wiki, есть n количество движков wiki. Для python вы можете использовать moin-moin.

В-третьих

Для новичков трудно просто поставить его на покой, ему было бы скучно, вместо скучных тренировок и всего, вы можете просто бросить его в парное программирование с одним из экспертов. Это хорошо продуманная формула в экстремальном программировании. см. wiki http://en.wikipedia.org/wiki/Pair_programming Любой новичок будет учиться быстрее, если он объяснит некоторые концепции лично, а не читает его из других письменных источников.

Наконец

Положите дать новичку какую-нибудь работу, он может начать строить тесты для программы, он может скомпилировать программы, если вы используете скомпилированный язык (C/С++/Java). Пусть он работает над изменением функций, придерживаясь unittests.

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

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

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

Ответ 8

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

Это помогает, если есть кто-то, о ком вы можете задавать вопросы.

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

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

Ответ 9

Это действительно зависит от опыта новичка в программном обеспечении, опыта в области (промышленности)/технологии, адресованных проектам.

Первое, что я делаю, это назначить тренеру этого человека, чтобы позаботиться о его борде:

  • объясните ему проект (в целом вещи)
  • установить библиографию документации связанные с проектом
  • Существующие элементы архитектуры.

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

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

Ответ 10

После того, как вы представите их архитектуре и документации, дайте вашим новичкам небольшие проекты. Выберите проекты по следующим темам:

  • проекты должны быть небольшими и разумными Проекты
  • должны способствовать "большой картине". Проекты
  • должны касаться вопросов вашего основного проекта.

Таким образом, люди свяжутся с вашим основным проектом и должны изучить основы (например, работать с каркасом XYZ). Новички получают импульсы от успехов, что очень важно. Из-за этого они становятся мотивированными, а не скучными. Мотивированные рабочие - хорошие работники; -)

Ответ 11

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

Ответ 12

На самом деле вы задаете два разных вопроса: "Что может сделать команда, чтобы помочь новому члену?" и "Что может сделать новый член, чтобы помочь команде?"

В ответ на первое мы делаем пару программ. С самого начала новый парень работает над теми же проектами, что и все остальные (ну, хорошо, выбранные проекты, но все же настоящая итерационная работа), но работает с опытным членом команды. И не тот же человек все время; мы стараемся часто менять пары.

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

Ответ 13

В: Когда вы находитесь в запущенном проекте, как вы получаете новичков... знать кода и культуры проекта так что они могут быстро догнать?

Мы установили две цели для новых сотрудников.

  • Построение знакомства: Новые люди посещают 2 отзыва кода в первый день. Они встречаются с разработчиками, смотрят код проекта и могут задавать вопросы. Продолжайте включать их в обзоры кода, пока они не остановятся.

  • Соблюдайте групповое уважение: если блоги новых людей, использует StackOverflow или вносят свой вклад в публичный проект, ссылаются на их профиль или работают. Если у вас есть вики проекта, покажите им, как публиковать вопросы и когда они могут ожидать ответы.

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

В: Как, как пеон, вы начинаете проект? Что вы можете сделать, чтобы сделать это более эффективны?

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

Ответ 14

  • Начать знакомство с структурой файла проекта
  • Прочитайте документы разработчика (если есть)
  • У вас есть какая-то основная проблема, ее изучить, исправить, прополоскать, повторить;)
  • Найдите дружелюбного человека (увы, не все разработчики дружелюбны), чтобы обращаться к вопросам.
  • По пути, начните проверку схемы базы данных (если есть db-сервер)
  • По мере продвижения попытайтесь решить более сложные проблемы.
  • Начните принимать участие в публичных обсуждениях, выразить свои идеи.

Ответ 15

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

надеюсь, что это поможет.

Привет,

Ответ 16

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

  • Соберите столько же, сколько deatils о проекте из всех доступных источников
  • Попробуйте все возможное, чтобы получить существующего человека для объяснения бизнес-требований. И постарайтесь сохранить его как наставника.
  • Поскольку вы используете исходный код, вы можете его найти, чтобы найти все технологии, которые он использует.
  • Проведите (дополнительное) время, чтобы изучить необходимые технологии (например: Ajax, jquery и т.д.), вам сложно.
  • Вместо того, чтобы читать весь код сума, дайте быстрый старт в модуле, над которым вы должны работать.
  • Изучите остальную часть кода, когда он вам понадобится.

Исходные дни будут жесткими. Но все станет стабильным, как только вы начнете.