Как программисты повышают собственную эффективность

Английская писательница Вирджиния Вулф считала, что любой романист нуждается в отдельном кабинете для уединения и вдохновения. А вот некоторые компании в Кремниевой долине подвергают сомнению даже необходимость отдельного рабочего стола для программиста
Fotolia/ PhotoXPress

Метод называется «парное программирование». У сотрудников на двоих один стол и один компьютер. Один из сотрудников — «ведущий» — работает на клавиатуре и вводит в компьютер код программы. Другой, «штурман», следит за дизайном и проверяет код на наличие ошибок.

Зачем это надо

У парного программирования есть сторонники в разных технологических фирмах, в том числе в Facebook и в Square, начинающей компании в сфере мобильных платежей. Они произносят много высокопарных слов о пользе совместной работы, утверждая, что вместе программисты лучше выявляют дорогостоящие ошибки программирования. Кроме того, тратят меньше времени на свободный поиск в интернете чего-либо, не связанного с работой, т. е. на ерунду. «И общение выходит на иной, более глубокий уровень. Мы не используем больше слова. Достаточно хмыкнуть и ткнуть пальцем в экран», – заявляет Кент Бек, программист в Facebook и убежденный сторонник метода парного программирования.

Но такая идиллия складывается далеко не всегда. Уилл Сарджент, инженер из Grockit, сан-францисской компании по онлайн-подготовке к тестам, никогда не мог добиться от коллеги подобного уровня взаимопонимания. Он рассказывает, что его посадили вместе с опытным сотрудником, который гораздо лучше разбирался в компьютерном дизайне, над которым они тогда работали. Сарджент был ведущим в паре, но он то и дело ошибался. Его партнер тут же отнимал у него роль ведущего и исправлял ошибки. «Тот уровень, на котором он работал, был для меня недостижим», – сожалеет Сарджент, который покинул компанию в 2010 г.

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

Случайный партнер

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

Сегодня идею парного программирования берут на вооружение многие компании-разработчики. Например, в Pivotal Labs (с марта этого года подразделение EMC) работает 175 инженеров-программистов. И все они используют метод парного программирования. Причем одни работают постоянно с одним и тем же партнером, другие меняют партнеров ежедневно, называя эту практику «случайным партнерством». Есть также другие виды партнерства, например партнерство в стиле «пинг-понг», когда партнеры взаимодействуют так, будто перекидывают друг другу мяч, как в пинг-понге. Еще один вариант – парное программирование на удаленном доступе, когда программисты делят один экран через интернет.

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

Склочные супруги

«Есть такая шутка, что пары программистов, подобно рыбе и задержавшимся гостям, портятся на третий день», – говорит Зеч Брок, инженер и менеджер Square, а в прошлом сотрудник Pivotal Labs.

Джеми Кайт, программист из Дарема (штат Нью-Йорк), была недовольна своими отношениями с партнером по программированию. И однажды решила с ним об этом поговорить: «Послушай, мне кажется, мы работаем с тобой вразнобой. Можно сказать, что я жму на газ, а ты – на тормоз.Что происходит?» Чтобы разобраться в ситуации, им потребовалось написать мысли и решения на доске. Но в конце концов они нашли компромисс.

«Так бывает в любых отношениях. Если о проблеме не говорить, то и сотрудничества не получится», – объясняет Кайт.

А в компании Relevance пары, которым не удается самостоятельно разрешить конфликт, могут обратиться за помощью к коучу и тот поможет советом. «Люди, которые какое-то время поработали в паре, начинают вести себя как супружеские пары», – констатирует Марк Филипс, один из коучей компании.

Исправленная версия. Первоначальный опубликованный вариант можно посмотреть в архиве "Ведомостей" (Смарт-версия).