Pair programming

nyekimov
Уже с Приветом
Posts: 2749
Joined: 11 Jul 2015 19:01
Location: Chicago

Pair programming

Post by nyekimov »

Сходил сегодня на интервью в компанию из fortune 100, интервью по качеству проведения не особо понравилось, так как собеседовали сразу трое и было в напряг смотреть в глаза одновременно трем. Но больше поразило то, что один менеджер хвастался тем, что у них применяется практика pair programming.
Я примерно слышал про такую экономию на рабочих машинах где то в Индии, где людей много, а техники не очень, а вот в США столкнулся только второй раз. Первый раз года полтора назад приходило приглашение на интервью от компании попроще, хипстерской компании я бы сказал, и сразу на видео была показана их практика pair programming в действии, за одним сплошным столом по двое сидели разработчики. Никакой хваленной американской прайваси и в помине получается нет. Оставшийся впечатленным от просмотренного видео, я впал в ступор и ответить в рамках приличного респонс тайм не успел, а так хотелось, вы бы только знали.
Теперь вопрос, насколько эффективна эта практика в отличии от уже по мне классического код ревью? И насколько она популярна? А то может я от жизни отстал. До этого меня в ступор вводила практика анлимитед вакейшн. Теперь лидер безусловно парное программирование.

Ну и насколько это серьезно компании использовать такой подход. Гугл там, фейсбук, амазон и так далее промышляют таким?
User avatar
Uzito
Уже с Приветом
Posts: 8230
Joined: 06 Feb 2002 10:01
Location: NJ, USA

Re: Pair programming

Post by Uzito »

Unlimited Vacation = no vacation. "На следующей неделе отпуск длять не можем. У нас такая загрузка, релиз срывается... давай через месяца три ты еще раз спросишь?" и так 5 раз. В нормальных конторах отпуск набегает автоматически за отработанное время и если его не могут дать днями, то должны дать деньгами.

Pair programming видел только в институте, когда студенты кучковались лабы делать. Один набирает, другой диктует. Полная херня, нужна только чтобы балбесы на работе не сачковали. Нормальному девелоперу нужна тишина и покой.
User avatar
M. Ridcully
Уже с Приветом
Posts: 12003
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Pair programming

Post by M. Ridcully »

Мне с pair programing сталкиваться не приходилось, слава богу.
А вот unlimited vacation сейчас скорее правилом становится, чем исключением.
User avatar
M. Ridcully
Уже с Приветом
Posts: 12003
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Pair programming

Post by M. Ridcully »

Uzito wrote: 07 Jul 2017 01:45 Unlimited Vacation = no vacation.
Чушь.
Никто вас отпуска лишать не собирается, просто бухгалтерия не хочет копить liability в виде неотгулянных накопившихся отпусков в случае ухода работников.
User avatar
Uzito
Уже с Приветом
Posts: 8230
Joined: 06 Feb 2002 10:01
Location: NJ, USA

Re: Pair programming

Post by Uzito »

M. Ridcully wrote: 07 Jul 2017 02:43
Uzito wrote: 07 Jul 2017 01:45 Unlimited Vacation = no vacation.
Чушь.
Никто вас отпуска лишать не собирается, просто бухгалтерия не хочет копить liability в виде неотгулянных накопившихся отпусков в случае ухода работников.
Вот в этом-то и проблема. Когда отпуск накопительный, тебе должны деньгами если ты его не отгулял по любой причине. А при unlimited, если с наглой мордой не брать неделю раз в три месяца, то, при невозможности отгулять отпуск по какой-то причине, тебе в конце года будет голый хрен вместо отпуска и денег. При этом еще будут на тебя смотреть косо, мол чо-та ты, брателла, много в отпуск ходишь.
Oleg-NY
Уже с Приветом
Posts: 2481
Joined: 16 Jul 2004 00:32
Location: NY, NY

Re: Pair programming

Post by Oleg-NY »

А они точно не extreme programming имели ввиду? Там тоже в парах работают вроде бы... и никто технику не экономит. Сам я, впрочем, в жизни с таким не сталкивался, но слышал про якобы успешные имлементации.
Last edited by Oleg-NY on 07 Jul 2017 03:09, edited 1 time in total.
User avatar
M. Ridcully
Уже с Приветом
Posts: 12003
Joined: 08 Sep 2006 20:07
Location: Силиконка

Re: Pair programming

Post by M. Ridcully »

Uzito wrote: 07 Jul 2017 02:55 Вот в этом-то и проблема. Когда отпуск накопительный, тебе должны деньгами если ты его не отгулял по любой причине. А при unlimited, если с наглой мордой не брать неделю раз в три месяца, то, при невозможности отгулять отпуск по какой-то причине, тебе в конце года будет голый хрен вместо отпуска и денег. При этом еще будут на тебя смотреть косо, мол чо-та ты, брателла, много в отпуск ходишь.
У вас личный опыт? Про "косо смотреть" и т.д.
У меня сейчас unlimited vacation, какой-то разницы с "нормированным" отпуском не заметил - ну, кроме отсутствия необходимости теперь вести учёт "отгулянных" дней, так что скорее польза.
При уходе да, оплачивать не будут. Ну так берите в течение года, а не копите.
Oleg-NY
Уже с Приветом
Posts: 2481
Joined: 16 Jul 2004 00:32
Location: NY, NY

Re: Pair programming

Post by Oleg-NY »

А что бывает при такой системе, когда человек требует больше, чем компания может/хочет предоставить? Увольняют или за свой счет?
В этой формуле есть два теоретических предела: вы весь год не работаете, но вам платят, либо вы весь год работаете, но не отдыхаете. Какой из этих вариантов с вашей точки зрения наиболее вероятен? Как ни крути, но вы становитесь более зависимы от воли начальства.
XpoH
Уже с Приветом
Posts: 2123
Joined: 08 Nov 2013 22:33
Location: SFBA

Re: Pair programming

Post by XpoH »

использовать pair programming или нет зависит не от компании а от команды.
это сильно упрощает жизнь только что нанятого человека например.
работать ли так дальше зависит от многих факторов, я бы, например не хотел бы постоянно этим заниматься.
а автор да, отстал от жизни.
nyekimov
Уже с Приветом
Posts: 2749
Joined: 11 Jul 2015 19:01
Location: Chicago

Re: Pair programming

Post by nyekimov »

Oleg-NY wrote: 07 Jul 2017 02:57 А они точно не extreme programming имели ввиду? Там тоже в парах работают вроде бы... и никто технику не экономит. Сам я, впрочем, в жизни с таким не сталкивался, но слышал про якобы успешные имлементации.
Менеджер с горящими глазами упоминал и extreme programming. Упоминал, что используют и то и то. Однако больше говорил о pair и то что два человека за одним монитором.
Про pair сейчас почитал теорию и не впечатлился. Теперь почитаю о extreme programming.

Там ещё загвоздка была в том, что это интервью оказалось первой баррикадой и они не знали, в какой Тим я пойду именно. Мол человек нужен в несколько командах и каждая работает по своей идеологии. Менеджер тима сам себе хозяин. Вот позвали на второе интервью, ради спортивного интереса сходить есть желание. Думаю пойти и там уже после прочтённой теории помучать их вопросами об их имплиментациии на местах, если это будет актуально в конкретной команде.
nyekimov
Уже с Приветом
Posts: 2749
Joined: 11 Jul 2015 19:01
Location: Chicago

Re: Pair programming

Post by nyekimov »

M. Ridcully wrote: 07 Jul 2017 03:07
Uzito wrote: 07 Jul 2017 02:55 Вот в этом-то и проблема. Когда отпуск накопительный, тебе должны деньгами если ты его не отгулял по любой причине. А при unlimited, если с наглой мордой не брать неделю раз в три месяца, то, при невозможности отгулять отпуск по какой-то причине, тебе в конце года будет голый хрен вместо отпуска и денег. При этом еще будут на тебя смотреть косо, мол чо-та ты, брателла, много в отпуск ходишь.
У вас личный опыт? Про "косо смотреть" и т.д.
У меня сейчас unlimited vacation, какой-то разницы с "нормированным" отпуском не заметил - ну, кроме отсутствия необходимости теперь вести учёт "отгулянных" дней, так что скорее польза.
При уходе да, оплачивать не будут. Ну так берите в течение года, а не копите.
Не надо вести учёт отгулянных дней, а объясняться почему вдруг вздумал в отпуск, тоже не надо?

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

А с лимитед вакейшн тоже не надо объясняться или все таки надо будет вымаливать? Вот в чем основная неясность у меня, да и думаю у ещё пары людей точно.
nyekimov
Уже с Приветом
Posts: 2749
Joined: 11 Jul 2015 19:01
Location: Chicago

Re: Pair programming

Post by nyekimov »

XpoH wrote: 07 Jul 2017 03:37 использовать pair programming или нет зависит не от компании а от команды.
это сильно упрощает жизнь только что нанятого человека например.
работать ли так дальше зависит от многих факторов, я бы, например не хотел бы постоянно этим заниматься.
а автор да, отстал от жизни.
Насчёт въехать в код, хороший аргумент, спасибо за наводку. Но до этого лично у меня особых проблем въехать в чужой код не возникало. Да и задачи обычно в мобильных разработках дают либо переписать что-то, либо дописать, либо внедрение чего то нового.
У меня сейчас на работе американцы бы однозначно покривились от идеи сидеть с новичком в паре. Как бы по времени никто давить не хочет, и задачи легко даются по нарастающей, чтобы человек постепенно втянулся.
Хорошо подмечено, что я спрашиваю о компании, но все зависит от тима. Пока у меня и остались двоякие чувства после интервью, так как говорилась каша из подходов и практик, а на все уточняющие вопросы давались ответы - все будет зависеть от тима, куда попадёшь. Но также уточняли, что есть практика менять тимы, по своей воле или нет, планирую только задать такой вопрос.

Но в общем мне по прежнему интересно, где ещё применимо и обосновано парное программирование. И думаю если какой Тим или даже несколько в компании А применяют парное программирование, то можно сказать, что в общем компания А использует такую практику. Но это уже как мне кажется, больше лирический вопрос, слишком много переменных.
dema501
Новичок
Posts: 73
Joined: 23 Dec 2012 03:53
Location: KGF>SVO>ORD>DFW

Re: Pair programming

Post by dema501 »

Я сталкивался с pair programming - привыкаешь быстро. Потом тяжело отвыкать кстати.

Часто разделяют так: один пишет тесты - другой код. Если pair programming часто менять пары и роли в парах, то все в курсе, что вообще происходит в проекте.

Так же мало времени тратиться на нахождение идиотских ошибок, + шанс заиметь друга...
User avatar
АццкоМото
Уже с Приветом
Posts: 15242
Joined: 01 Mar 2007 05:18
Location: VVO->ORD->DFW->SFO->DFW->PDX

Re: Pair programming

Post by АццкоМото »

Я так прикидываю, что если мне в пару дадут шикарную бабищу, что будет мне член сосать не покладая уст 8 часов в день и в мой монитор даже не подглядывать, на третий день сверну ей башку. Не понимаю, как низко надо ценить себя, чтобы согласиться на парный погромизьм.
Мат на форуме запрещен, блдж!
User avatar
valchkou
Уже с Приветом
Posts: 4185
Joined: 27 Apr 2011 03:43
Location: Сергели ->Chicago

Re: Pair programming

Post by valchkou »

nyekimov wrote: 07 Jul 2017 01:34 Теперь лидер безусловно парное программирование.
не нужно сгущать краски.
тема не новая, я лично практиковал еще в далеком 2004 в москве.
Во первых это не экономия на железе, будет и свое место и комп. Как правило это час два за весь день да и то не всегда.
Во вторых помогает освоить новый продукт новичку в кратчайшие сроки.
В третьих, развязывает руки сениору. Сидишь себе жуешь кофе с булочкой, а жуниор послушно периводит твое чавканье в код.

Как уже заметили это не полиси уровня компании, это некое соглашение внутри тима.
tessob
Уже с Приветом
Posts: 576
Joined: 07 Jan 2016 13:04

Re: Pair programming

Post by tessob »

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

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

Сразу скажу, что контора не большая, около 30 девелоперов, но и текучки у них вообще нет. Почти все от 4 лет работают там.
nyekimov
Уже с Приветом
Posts: 2749
Joined: 11 Jul 2015 19:01
Location: Chicago

Re: Pair programming

Post by nyekimov »

dema501 wrote: 07 Jul 2017 04:34 Я сталкивался с pair programming - привыкаешь быстро. Потом тяжело отвыкать кстати.

Часто разделяют так: один пишет тесты - другой код. Если pair programming часто менять пары и роли в парах, то все в курсе, что вообще происходит в проекте.

Так же мало времени тратиться на нахождение идиотских ошибок, + шанс заиметь друга...
Менять роли, все в курсе. А чем код ревью мешает? Зато с код ревью у меня за плечом никто не сидит. И два разработчика могут одновременно делать две задачи, закончили, ревьювить друг друга. И у нас лично на код ревью смотрит вся команда, и надо два апрува один из которых у дотошного до чистоты и простоты кода архитектора.

Заиметь друга можно во время обеда, так как во время рабочего процесса это все равно более принуждённая дружба. А вот обед довольно показателен.

Но ни в коем случае не принимайте это за наезд, просто мысли вслух.
adda_
Уже с Приветом
Posts: 10708
Joined: 22 Jul 2006 20:19

Re: Pair programming

Post by adda_ »

Я бы не стал заниматься такими извращениями как парное программирование. Просто не люблю когда у меня за плечом кто то сидит.
А насчет unlimited vacation - я полагаю что это обман конкретный. Поясняю. Неограниченный означает любое количество. Т.е. скажем, если я выйду на работу первого января, а второго возьму отпуск на 29 лет, то мне его никто не даст. Это означает что это отпуск ограниченный какими то рамками. А эти рамки устанавливает менеджер. Т.е. его размер зависит от произвола одного человека.
Когда у тебя четко указано что ты получаешь, то по крайней мере ты можешь это попросить или потребовать. А тут - нет. Т.е. неограниченный отпуск легко может стать пшиком.
Бухгалтерия не хочет брать лаойбилити. Ну это же то что вы заработали. Так же как зарплата. Понятно дело, что бухгалтерия (понимай владелец) не хотел бы и зарплату платить, но приходится.
Нафиг, мы это проходили.
User avatar
mikeG
Уже с Приветом
Posts: 8470
Joined: 02 Aug 2003 01:32
Location: SPb->SFBA

Re: Pair programming

Post by mikeG »

Extreme programming? Было такое веяние лет 10 назад. В конторе, где я тогда работал, кто-то рвался его внедрять, но не пошло.
В реальной жизни никогда не видел такого. Я думал, что оно умерло давно.

Unlimited vacation - это теперь везде, похоже...
Oleg-NY
Уже с Приветом
Posts: 2481
Joined: 16 Jul 2004 00:32
Location: NY, NY

Re: Pair programming

Post by Oleg-NY »

mikeG wrote: 07 Jul 2017 17:52 Unlimited vacation - это теперь везде, похоже...
Это хорошая формула для финансовых контор наверное ибо там две недели отпуска - обязаловка, а дальше как начальству лизнешь... ;)
adda_
Уже с Приветом
Posts: 10708
Joined: 22 Jul 2006 20:19

Re: Pair programming

Post by adda_ »

Oleg-NY wrote: 07 Jul 2017 17:56
mikeG wrote: 07 Jul 2017 17:52 Unlimited vacation - это теперь везде, похоже...
Это хорошая формула для финансовых контор наверное ибо там две недели отпуска - обязаловка, а дальше как начальству лизнешь... ;)
У меня три недели и четыре дня. Или три. И то это в общем то мало. А за две недели - ну как в Волмарте. Как и обещали классики - усиление эксплуатации.
zVlad
Уже с Приветом
Posts: 16207
Joined: 30 Apr 2003 16:43

Re: Pair programming

Post by zVlad »

Интересно у кого нибудь здесь есть круче чем мой случай?:

Code: Select all

Vacation Entitlement (Days) 
Year Leave Type         Entitlement        Requested         Remaining 
2017 Vacation            25.00             16.00           9.00 
2017 Floater              3.00              0.00             3.00 

2017 Banked Vacation      14.00            0.00             14.00 
2017 Total                42.00           16.00           26.00 
 
Кстати, Banked Vacation, о котором здесь не говорилось, это когда ты неиспользованный отпуск сохраняешь с возможностью взять когда угодно. Обычно берут непосредственно перед выходом на пенсию. Делаешь нотис что мол ухожу на пенсию с такого-то числа, а до него у меня будет отпуск из неиспользованных дней и про knowledge transfer можете забыть.
adda_
Уже с Приветом
Posts: 10708
Joined: 22 Jul 2006 20:19

Re: Pair programming

Post by adda_ »

У нас обычно отпуск указывается в часах. Чтобы больше было. И такого социализма здесь не бывает по определению.
zVlad
Уже с Приветом
Posts: 16207
Joined: 30 Apr 2003 16:43

Re: Pair programming

Post by zVlad »

adda_ wrote: 07 Jul 2017 18:59 У нас обычно отпуск указывается в часах. Чтобы больше было. И такого социализма здесь не бывает по определению.
А брать отпуск по часам у Вас рaзрешают?
Oleg-NY
Уже с Приветом
Posts: 2481
Joined: 16 Jul 2004 00:32
Location: NY, NY

Re: Pair programming

Post by Oleg-NY »

adda_ wrote: 07 Jul 2017 18:59 У нас обычно отпуск указывается в часах. Чтобы больше было. И такого социализма здесь не бывает по определению.
У меня тоже так было на прошлой работе лет пять назад. Тоже накапливалось по месяцу отпуска и более...

Return to “Работа и Карьера в IT”