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

Wikipedia.com описывает «парное программирование» следующим образом:

Парное программирование - это метод гибкой разработки программного обеспечения, при котором два программиста работают вместе на одной рабочей станции. Один набирает код, а другой просматривает каждую строку кода по мере того, как она набирается. Человек, набирающий текст, называется драйвером. Человек, просматривающий код, называется наблюдателем (или навигатором [1]). Два программиста часто меняются ролями.

Звучит неплохо, правда? Что ж, если я правильно описал вас в предыдущем абзаце, то ответ - «неправильно!» Такое тесное сотрудничество с другим программистом может плохо кончиться для вас. Однако «парное программирование» набирает обороты в последние несколько лет, особенно с учетом того, что уделяется повышенное внимание методам разработки программного обеспечения, качеству кода и этичному программированию. Но кому все это нужно? Вы делаете отличное программное обеспечение и не чувствуете, что вам нужно менять способ работы… никогда.

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

  1. ВЫРАЖАЙТЕ СВОЕ ПРЕВОСХОДСТВО: вы лучший программист и знаете это. Убедитесь, что ваш партнер тоже знает это. Используйте любую возможность, чтобы держать свои знания над головой вашего партнера. Лучший способ возвысить себя - это сделать партнера немного ниже, пусть даже только в собственном уме.
  2. НИКОГДА НЕ СКАЗЫВАЙТЕСЬ. Ваше мнение верное, иначе оно не было бы вашим. За правильное мнение стоит бороться до конца. Когда одна тактика аргумента начинает терпеть неудачу, переключитесь на другую, тем самым обойдя оппонента с фланга. В конце концов они сдадутся.
  3. GLOAT: Помните ту дискуссию 15 минут назад, в которой ваше мнение победило? Конечно, вы делаете. Что ж, в случае, если ваш партнер уже заблокировал это из своего разума, верните его, когда увидите место, где оно применяется. Скажите что-нибудь вроде: «Посмотрите, насколько стало лучше с тех пор, как мы сделали это по-моему?»
  4. СМОТРИТЕ ТИХОЙ: Нет ничего скучнее, чем смотреть, как кто-то кодирует, верно? Ну а зачем делать лучше, общаясь? Вместо этого сядьте молча и смотрите, как код проходит по экрану. Через несколько минут возьмите свой телефон и обновите свой статус в Twitter или проверьте свою электронную почту. Вы можете упустить возможность обсудить решения по кодированию, но вы, вероятно, сможете позлорадствовать над ними позже, когда возникнет необходимость в рефакторинге (что неизбежно, поскольку вы не в роли водителя).
  5. КОДИРУЙТЕ ТИХОЙ: Почему вы должны объяснять, что вы делаете в своем коде. Ваш партнер по сопряжению может видеть это на экране! К тому же они, наверное, все равно не поймут. Лучше просто кодировать так, как всегда, потому что именно тогда вы лучше всех себя чувствуете. Не обсуждайте свой код и ни в коем случае не объясняйте решения, которые вы принимаете.
  6. ПРЕДОСТАВЛЯЙТЕ ДОВЕРИЕ: когда вы болтаете с коллегами или болтаете в IRC, не забудьте вспомнить смешные или неловкие истории из своего опыта «парного программирования». Конечно, избегайте тем, которые раскрывают ваши собственные недостатки, но обязательно подчеркните недостаток или умение вашего партнера. Рекомендуется делать это за его / ее спиной, так как вы, вероятно, почувствуете больше свободы приукрашивать.
  7. УДЕРЖИВАЙТЕ КЛАВИАТУРУ: даже если вы стремитесь убить «парное программирование» в своей команде, вы не законченный инструмент. Как лучший программист, вы чувствуете ответственность за завершение проекта, несмотря на то, что «безумцы по гибкой методике» ставят вашу команду в затруднительное положение. С этой целью, работая в рамках «парного программирования», вы должны приложить все усилия, чтобы сохранить свое положение на сиденье водителя.
  8. ОТДЕЛЬНЫЙ КОД: даже если ваша команда решила внедрить «парное программирование», это не значит, что вы не можете тайком потратить время на частное кодирование (для старых добрых времен). Идеальное время для личного программирования - это перерыв на кофе, обед или туалет. Обязательно запустите один или два раздела кода, пока ваш партнер находится вдали от вашей рабочей станции. В результате у вас будет больше времени за рулем, потому что вы единственный, кто знает ваши намерения и направление.
  9. ВЫИГРАТЬ: поражение - не вариант для вас. Пат - тоже не вариант. Крайне важно, чтобы вы аргументировали свою точку зрения до тех пор, пока ваш партнер по паре не увидит ваш образ мышления или не сложит оружие и не сдастся. Один из способов узнать, что вы выиграли, - это когда ваш партнер перестает выражать свое мнение и слепо принимает все, что вы говорите. Еще одно преимущество этого метода заключается в том, что вы, вероятно, будете водить машину до конца проекта. Победа сладка.
  10. ЖАЛОБА. Скорее всего, в вашей организации или команде есть один или два «безумных agile-психа», которые продали руководству идею «парного программирования». Это означает, что высшее руководство, вероятно, хочет узнать, как идут дела. Если другие ваши попытки саботажа окажутся эффективными, вам будет на что жаловаться. Обойдите своих товарищей по команде и отправьте несколько электронных писем своему менеджеру или его начальству. Обязательно объясните очевидные причины, по которым два программиста на одной клавиатуре просто не могут работать. Объясните, что моральный дух всей команды низкий и что продуктивность вернется к «нормальной», если они просто поставят вас в положение влияния. Не забудьте испортить репутацию «сумасшедших agile», возможно, даже назовите их «сумасшедшими agile».

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

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