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

Парное программирование существует довольно давно (XP существует с 2000 года), но у меня такое ощущение, что в последнее время я слышу об этом больше, чем слышал раньше.

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

Я подозреваю, что у ИТ-консультантов есть резон заниматься парным программированием — вы можете брать плату за двух человек, выполняющих одну и ту же работу (объясняя это тем, что «это улучшает качество»), и это позволит им отправить заказчику неопытного разработчика в паре с одним которые имеют опыт во время зарядки, если они оба были опытными.

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

Чего я не понимаю, так это почему некоторые разработчики поддерживают это?

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

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

Им нравится быть «одним из пары», а не «тем парнем, который сделал эту крутую вещь»? Не чувствуют ли они себя настолько неуверенными в своих профессиональных способностях, что боятся работать самостоятельно?

Какими они видят себя через 10 лет? По-прежнему быть безликим членом «Команды», членам которой даже не доверяют работать в одиночку за своими столами?

Если говорить о личном интересе с точки зрения разработчика, то я вижу только минусы:

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

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

- У вас меньше свободы в том, что вы делаете и как вы это делаете — вы должны объяснять каждый шаг своей паре и согласовывать с другими все свои действия

- Вам меньше комфорта на рабочем месте, так как вам приходится делить пространство перед экраном с кем-то еще.