Должен ли я принять работу, если требуется парное программирование? [закрыто]

28

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

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

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


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

Wizard79
источник
8
Что ж, лично вы даже не слишком заинтересованы в этом, поэтому я не думаю, что вам следует это делать, если вы не хотите попробовать его в старом колледже.
Пол Натан
1
Я считаю, что компромисс между тотальным парным программированием и сольным программированием - хороший микс. Вы получаете преимущество второго набора глаз, но также получаете некоторое пространство и пространство, чтобы дышать другую половину времени.
Крис
Это полезно, когда вы новичок в этом языке кодирования ... вы можете получить помощь сразу же. Вам не нужно ждать ответа от ppl. На SO: P
GoodSp33d
4
@ Лоренцо, что ты решил в конце концов, и как это получилось?
Бенджол
5
@Benjol: я пытался в течение нескольких недель (тем временем я смог сохранить свою существующую работу в режиме ожидания), а затем я понял, что действительно ненавижу парное программирование, поэтому я вернулся к своей старой работе.
Wizard79

Ответы:

16

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

Что я бы порекомендовал, так это: иди со своей интуицией.

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

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

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

Питер Боутон
источник
30

Угадайте, что - никто не любит парное программирование сначала .

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

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

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

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

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

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

Поверь мне, ты хочешь работать в такой компании.

Яко Преториус
источник
5
Я бы предположил, что ОП добьется успеха в такой компании, только если он открыт для того, чтобы понять, что на самом деле он не так хорош в программировании, как он думает, а затем хочет узнать, как стать лучше.
дэш-том-бэнг
5
Они в основном рассказали мне ту же самую точную историю. Люди там были очень благосклонны, и я признаю, что кодирование таким образом раскачивает - и улучшает ваши навыки. Но это сводило меня с ума. Я не мог жить со всеми ограничениями моей «личной свободы» и «жизненного пространства» (выбор времени, прослушивание музыки, настройка клавиатуры, цветовая схема в IDE и т. Д.), Поэтому через несколько недель я сдался.
Wizard79
6
«Через неделю мы его развернули ... и все просто заработало. Ни одной ошибки. Ни одной». Я не испытывал значительной разницы в количестве ошибок между использованием парного программирования и неиспользованием. Обсуждение основных моментов с вашими коллегами, а затем самостоятельное кодирование могут быть столь же эффективными. Парное программирование - это не серебряная пуля.
Джорджио
Недавно я завершил свой первый проект с использованием парного программирования с более старшим разработчиком в команде. Мы разделили пилотирование и совместное пилотирование сложных задач довольно равномерно, и мы оба кое-чему научились друг у друга. Мы делали раскол для тривиальных, мирских или «котельных» задач.
Диб
2
«Угадайте, что - никто не любит парное программирование сначала». Угадайте, что - мне это не понравилось после двух лет подряд. Я покинул эту компанию, и в моей новой компании / команде никто не хочет заниматься парным программированием, и мы все очень счастливы и гораздо более продуктивны. По моему опыту, парное программирование подходит только для начинающих, для микроуправления или для людей, которые не могут работать самостоятельно.
Джорджио
18

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

Муад'Диб
источник
7
Две головы также в два раза дороже, и это большой минус =) Но это касается компании, а не вас
Томас Бонини,
7
-1 Отличное парное программирование? Это худшее, что когда-либо случалось в моей трудовой жизни!
Волшебник
4
Парное программирование следует использовать для сложных задач. Это когда вы экономите деньги и время. В противном случае это пустая трата времени. Хотя мне это нравится.
Джо Филлипс
3
Я думаю, что он также должен быть использован в качестве инструмента наставничества для «зеленых рогов», чтобы помочь им, пока они не овладеют практическим кодированием.
Муад Диб
3
@ Kop: я не согласен. Цель парного программирования состоит в том, чтобы две головки вместе создавали лучшее программное обеспечение, чем две одинаковые головки, каждая из которых начиналась так же дорого. (То есть, конечно, если вы не достигаете этой цели, это того не стоит).
Серхио Акоста,
10

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

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


Редактировать Учитывая, что они понимают, откуда вы пришли (и готовы принять вас, как вы упомянули в своем комментарии), почему бы не обсудить, что вы чувствуете с несколькими разработчиками в компании? Возможно, они смогут решить любые ваши проблемы или предубеждения в отношении PP. Им также важно знать, что вы не очень заинтересованы в этой идее, так как вы будете работать с ними полный рабочий день.

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

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

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

bedwyr
источник
Я говорил об этом с работодателем, и они попросили меня попробовать.
Wizard79 28.09.10
2
@ Лоренцо, фантастика. Очень важно точно представлять себя перед работодателем, и если они хотят, чтобы вы попробовали, это нужно учитывать.
Бедвир
вот почему я еще не отказался от работы, однако уход с нынешней работы ради чего-то, что мне, вероятно, не понравится, пугает меня очень сильно ...
Wizard79
8

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

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

колдун
источник
4
+1 за честность. :) Это не для всех, на самом деле.
дэш-том-бэнг
2
@Wizard: Некоторые люди любят парное программирование, а я нет. Я предпочитаю заранее обсудить структуру кода, затем выполнить кодирование, а затем выполнить обзор кода. Это создает фильтр между мной и моими коллегами, так что мы обмениваемся только соответствующей информацией.
Джорджио
1
@Wizard: Я считаю, что при парном программировании вы обсуждаете слишком много незначительных деталей: много шума, который замедляет ход ваших мыслей и делает вас менее эффективным. Другие люди находят это стимулирующим и любят неструктурированную, но постоянную обратную связь, которую они получают. Некоторые люди говорят, что я индивидуалист, я возражаю, что вы можете работать в команде и при этом быть структурированными, точно так же, как футбольная команда занимает всю игровую площадку вместо того, чтобы идти туда, где находится мяч. Во всяком случае, я думаю, что дело в том, как работает каждый программист, а не все программисты работают одинаково.
Джорджио
5

Я ненавижу идею парного программирования

...

Я никогда не работал с парным программированием

Вы должны уточнить это в первую очередь.

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


источник
2
Томатный соус - это просто томатный суп без специй ... Или кетчуп без сахара и уксуса. :)
Greyfade
5
Я никогда не пробовал, но я знаю идею и концепцию парного программирования и мне это не нравится. Вам не обязательно быть укушенным скорпионом, чтобы знать, что вам это не понравится!
Wizard79 28.09.10
1
Откуда ты это знаешь? Возможно, вам понравится быть укушенным скорпионом! ;)
Питер Боутон
Я уверен, что вы все поняли сообщение
2
Пьер, есть разница между пониманием и согласием, и то, что вы неправильно экстраполировали вкус томатного соуса, не означает, что Лоренцо делает то же самое с парным программированием. : P Конечно, он может быть, это может быть связано только с людьми, с которыми он работал, что он чувствует то же, что и он, но, безусловно, можно определить, так ли это на самом деле, не испытывая «истинного» парного программирования.
Питер Боутон
5

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

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

Вальтер
источник
1
Да, однако проблема в том, что у меня есть постоянная работа на постоянной основе в крупнейшей итальянской компании, поэтому я бы не оставил эту работу «просто на пробу», даже если текущая работа отстой…
Wizard79
3
Нет, я бы тоже не хотел этого делать.
Уолтер
4

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

ysolik
источник
2
Когда мне приходится помогать коллеге или даже оставаться рядом с ним в течение нескольких минут, я должен держать рот на
замке
@ Лоренцо, так ты в порядке критики, но не получаешь ее?
дэш-том-бэнг
@ dash-tom-bang: на самом деле я вообще избегаю критики, иначе я бы критиковал каждую строку кода ...
Wizard79
2
Если уступки вашей критике сделают код существенно лучше, вы должны дать им. Если предложения вашей критики не оказывают положительного влияния, то вам следует выяснить, почему вы чувствуете необходимость сделать их.
дэш-том-бэнг
3

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

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

Мое предложение (для себя): заниматься парным программированием на расстоянии. Используйте Office Live Meeting и делитесь своим экраном. Чувак остается за своим столом, я остаюсь за моим.

Энтони Пеграм
источник
Почему бы просто не взять с собой собственную мышь и клавиатуру? Или оставить два подключенных к одной машине?
Алекс Фейнман
1
@ Алекс, возможно. Но я обычно чувствую, что все рабочее пространство загрязнено. Не спрашивай меня почему. Если бы вы могли объяснить безумие, это не было бы безумием.
Энтони Пеграм,
3
Reaaaaaly длинные USB-кабели? :)
Алекс Фейнман
1
Но это все еще требует, чтобы два человека были постоянно синхронизированы, что мне действительно не нравится.
Wizard79 28.09.10
2

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

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

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

Дэвид Торнли
источник
0

Если вы уже знаете эту технологию, вы ее возненавидите. Но если вы не знаете технологию, вы изучите ее по PP. Если вы этого не знаете и не делаете PP, тогда вы просто сидите и ничего не делаете.

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

oregon111
источник
2
Здравствуйте, oregon111, это здорово, что вы пытаетесь отвечать на вопросы, но вы выбрали неверный тег для ответов на вопросы: тег [jobs] обычно содержит много плохих вопросов, которые мы еще не успели закрыть. Вместо того, чтобы пытаться отвечать на давно ушедшие вопросы в определенном теге, подумайте над тем, чтобы ответить на самые новые вопросы и узнать, на какой из них вы можете ответить.