2008-10-07 2 views
1

Как неопытный разработчик программного обеспечения, я знаком с ним и полюбил процесс коллегиального обзора. Всякий раз, когда я прошу старшего разработчика (а не моего начальника, но все еще старшего) о какой-то небольшой точке системного дизайна, как-то это становится дебатом, в котором я вынужден был разработать свой код комитетом. Как я могу это сделать?Как я могу управлять «Проектирование по комитету»

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

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

Edit:

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

+0

Можете ли вы привести конкретные примеры разногласий, которые у вас были с старшим разработчиком? – ceejayoz 2008-10-07 17:52:56

+0

Они могут варьироваться от мирских: должен ли я формировать структуру системы или концентрироваться на деталях того, что уже было в дизайне. Чтобы было лучше попытаться получить (на мой взгляд, бессмысленный) квази Множественное наследование с помощью Interfaced (я действительно * против этого!). – 2008-10-07 18:04:03

ответ

1

Ваш выбор, что я вижу, являются:

  1. не попросить о помощи - то вы не получить хорошие точки вещей, которые вы упускается

  2. живой с ситуацией, как это это - вы получите хорошее, но получить сбиты плохого

  3. попытки отделить дизайн одобрения от проверки неисправностей

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

Но в любом случае вам потребуется небольшая конфронтация, чтобы объяснить тип помощи, которую вы ищете.

0

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

2

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

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

0

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

1

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

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

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

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

+0

Обычно я стараюсь сузить соглашение до более мелкого более точного положения, например. Итак, X будет делать Y в Z. Мой старший коллега продолжает пытаться использовать его в качестве предлога для расширения темы и формирования дизайна в своем образе мышления. – 2008-10-07 18:06:20

1

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

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

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

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

Опять же, это полностью зависит от магазина, в котором вы работаете, и от динамики команды.

1

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

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

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

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

Теперь, если босс любит то, что делает другой парень, а не то, что вы делаете, и его способ кодирования - это не то, что вы хотели бы работать, ну ... всегда есть места для работы там это не так. :)

Смежные вопросы