Czy powinienem przyjąć pracę, jeśli wymagane jest programowanie w parach? [Zamknięte]

28

Zaproponowano mi interesującą pracę, ale jest dla mnie duże zastrzeżenie: używają programowania w parach.

Nienawidzę pomysłu programowania par i prawdopodobnie nie jestem do tego odpowiedni: lubię robić częste przerwy, nie znoszę patrzeć na kogoś, kto programuje (sam ciągle naciągam parę, żeby kodować), muszę być w pełni sterowanie maszyną, nad którą pracuję, lubię słuchać muzyki i zasadniczo nie lubię być przywiązany do kogoś innego. Nie jestem nawet osobą towarzyską.

Jednak tak naprawdę nigdy nie pracowałem z prawdziwym programowaniem par (poza tym kilka razy przez krótki czas, aby pomóc komuś innemu lub rozwiązać skomplikowane zadanie razem) ... więc czy programowanie parami jest tak złe? A biorąc pod uwagę moje nastawienie, czy powinienem odmówić pracy, czy powinienem odejść od obecnej i spróbować?


Dla osób, które o to zapytały: szukam pracy, w której stosuje się formalne projektowanie i rozwój, ponieważ nienawidzę mojej obecnej pracy, w której „kodujemy na wolności”. Firma bardzo interesuje się moim profilem technicznym, dlatego nalegali, nawet gdy określiłem, że nigdy nie pracowałem z programowaniem parami i że prawdopodobnie mi się nie spodoba (poza tym, że jestem niesolidnym programistą samotników, nie podoba mi się sama koncepcja programowanie par).

Wizard79
źródło
8
Cóż, osobiście nie wydaje ci się, żeby to trochę cię zainteresowało, więc nie sądzę, że powinieneś to robić, chyba że chcesz spróbować starej uczelni.
Paul Nathan
1
Uważam, że kompromis między programowaniem par całkowitych a programowaniem solo jest fajnym połączeniem. Dostajesz korzyść z drugiego zestawu oczu, ale także trochę przestrzeni i miejsca na oddech przez drugą połowę czasu.
Chris
Przydaje się, gdy jesteś nowy w tym języku programowania ... możesz od razu uzyskać pomoc .. nie musisz czekać na odpowiedź ppl Na SO: P
GoodSp33d
4
@Lorenzo, co ostatecznie zdecydowałeś i jak się to potoczyło?
Benjol,
5
@Benjol: Próbowałem przez kilka tygodni (w międzyczasie byłem w stanie utrzymać dotychczasową pracę w gotowości), a potem zdałem sobie sprawę, że naprawdę nienawidzę programowania w parach, więc wróciłem do mojej starej pracy.
Wizard79

Odpowiedzi:

16

W oparciu o twoje różne komentarze tutaj wydaje się, że masz podobne podejście do mnie na ten temat. A ja nie doświadczył „Pair Programming”. I z pewnością nie dołączyłbym do firmy, która wymagałaby ode mnie ugryzienia skorpiona. :)

Polecam: idź z jelitami.

Jeśli firma zmusi cię do programowania w parach i wiesz, że nie chcesz, nie dołączaj.

Jeśli dadzą Ci możliwość pokazania, że ​​możesz produkować lepszą pracę szybciej niż jakikolwiek inny z ich obecnych programistów łącznie, to udowodnij.

Zanim jednak zdecydujesz się na ostateczne, z pewnością zgodzę się z zaleceniem, aby poprosić o rozmowę z istniejącymi tam programistami i poznać ich jako ludzi. (Prawdopodobnie zaleciłbym to w przypadku każdej nowej pracy, niezależnie od zastosowanych metod.)

Peter Boughton
źródło
30

Zgadnij co - na początku nikt nie lubi programowania w parach .

Kiedy po raz pierwszy spróbowałem programowania w parach, byłem przeciwny temu pomysłowi i miałem mnóstwo zastrzeżeń podobnych do twojego. Nie lubię patrzeć, jak ktoś inny koduje, lubię słuchać muzyki, czuję, że szybciej będę pracować sam, nie chcę się ciągle zatrzymywać i tłumaczyć, itp. Itd.

Potem spróbowałem. I zgadnij co? To wciąż jest do bani . Mieliśmy różne problemy - chciałem pracować z innym facetem w różnych godzinach , mieliśmy różne ustawienia klawiatury i skróty, nasze biurka nie działały zbyt dobrze do programowania par itp.

Trwało to około tygodnia. W tym tygodniu przepisywaliśmy cały dotychczasowy system logowania do aplikacji rozproszonej. Musieliśmy nauczyć się, jak działają niektóre bardzo trudne problemy z wątkami, dowiedzieć się, jak działały zdalne zlewy, zmienić masę starszego kodu, aby działał z naszym nowym modułem logowania i wykonać niektóre z najbardziej gorączkowych kodowań, jakie musiałem zrobić w moja kariera. Po tygodniu tego wdrożyliśmy go ... i wszystko po prostu działało . Ani jednego błędu . Nie jeden .

Wtedy pomyślałem, że może być coś w tym nonsensie programowania pary. Zaczęliśmy programować więcej par. Zaczęliśmy nawet zmuszać wszystkich do pracy w parach. Zakołysało się. Prawdopodobnie nauczyłem się więcej w ciągu miesiąca, niż to robiłem w ciągu ostatnich 2 lat . Pozostałe problemy nie zniknęły. Czasami utkniesz z parą, której nie lubisz. To się stanie. Czasami będziesz miał trudności ze znalezieniem nakładających się godzin pracy. Czasami będziesz chciał po prostu pracować sam. Ale zalety programowania par są po prostu niesamowite.

Od tego czasu zawsze starałem się wykonywać jak najwięcej programowania par. To po prostu najlepszy sposób nauki. Ta firma zmusza wszystkich do programowania w parach? Gdzie mam się zarejestrować? Wydaje mi się, że są naprawdę oświeceni i będziesz w naprawdę intensywnym środowisku pracy. Niesamowite.

Powiedziawszy to, upewnij się, że pary są często obracane. Nie chcesz utknąć w rozwoju z innym deweloperem przez wiele miesięcy - oszalejesz. W końcu wszyscy jesteśmy ludźmi. Sprawdź także, czy od dłuższego czasu jest to praktyka ciągła. Jeśli tak nie jest, to nie koniec świata, ale jeśli jest to przyjęta praktyka, jest to ogromne zielone światło.

Zaufaj mi, chcesz pracować dla takiej firmy.

Jaco Pretorius
źródło
5
Sugerowałbym, że OP odniesie sukces w takiej firmie tylko wtedy, gdy będzie otwarty na naukę, że tak naprawdę nie jest tak dobry w programowaniu, jak mu się wydaje, a następnie podejdzie do chęci nauczenia się, jak być lepszym.
dash-tom-bang
5
W zasadzie opowiedzieli mi dokładnie tę samą historię. Ludzie tam byli bardzo wspierający i przyznam, że kodowanie w ten sposób kołysze - i poprawia twoje umiejętności. Ale to doprowadzało mnie do szału. Nie mogłem żyć ze wszystkimi ograniczeniami mojej „osobistej wolności” i „przestrzeni życiowej” (wybór czasu, słuchania muzyki, konfiguracji klawiatury, schematu kolorów w IDE itp.), Więc po kilku tygodniach rezygnuję.
Wizard79
6
„Po tygodniu tego wdrożyliśmy go ... i wszystko po prostu działało. Ani jednego błędu. Nie jednego.”: Nie doświadczyłem znaczącej różnicy w liczbie błędów między używaniem programowania w parach i nieużywaniem go. Omawianie zasadniczych punktów ze swoimi kolegami, a następnie samodzielne kodowanie może być równie skuteczne. Programowanie par nie jest srebrną kulą.
Giorgio
Niedawno ukończyłem swój pierwszy projekt przy użyciu programowania w parach z bardziej zaawansowanym programistą w zespole. Równomiernie dzieliliśmy pilotowanie i pilotowanie złożonych zadań i oboje nauczyliśmy się od siebie kilku rzeczy. Podzieliliśmy się na trywialne, przyziemne lub „kotłowe” zadania.
Dib.
2
„Zgadnij co - na początku nikt nie lubi programowania w parach.”: Zgadnij co - nie podobało mi się to po dwóch latach z rzędu. Opuściłem tę firmę i w moim nowym przedsiębiorstwie / zespole nikt nie chce zajmować się programowaniem w parach i wszyscy jesteśmy bardzo szczęśliwi i produktywni. Z mojego doświadczenia wynika, że ​​programowanie w parach jest przydatne tylko do szkolenia początkujących, do mikromanowania lub do osób, które nie są w stanie pracować samodzielnie.
Giorgio,
18

Programowanie w parach to świetne narzędzie! Może być znacznie wydajniejszy - dwie głowy są lepsze niż jedna - i świetny sposób na naukę nowych technik. Oczywiście są też inne korzyści. Ale jeśli nie kupujesz tego, nic z tego nie wyciągniesz. Biorąc pod uwagę twoje nastawienie, brzmi to tak, jakbyś w ogóle do niego nie pasował i prawdopodobnie byłaby to strata czasu. Wygląda na to, że twój umysł już się zdecydował, zanim nawet spróbujesz.

Muad'Dib
źródło
7
Dwie głowy są również dwa razy droższe, a to duży minus =) Ale to dotyczy firmy, a nie ciebie
Thomas Bonini
7
-1 Czy programowanie par jest świetne? To najgorsza rzecz, jaka kiedykolwiek wydarzyła się w moim życiu zawodowym!
Wizard
4
Programowanie w parach powinno być stosowane przy trudnych zadaniach. Wtedy oszczędzasz pieniądze i czas. W przeciwnym razie to rodzaj marnotrawstwa. Lubię to.
Joe Phillips,
3
Myślę, że powinien on być również używany jako narzędzie mentorskie dla „Greenhorns”, aby pomóc im, dopóki nie opanują kodowania w świecie rzeczywistym.
Muad'Dib,
3
@Kop: Nie zgadzam się. Celem programowania w parach jest właśnie to, aby dwie głowy tworzyły razem lepsze oprogramowanie niż te same dwie głowy, a jednocześnie zaczynały się równie kosztownie. (To znaczy, oczywiście, jeśli nie osiągasz tego celu, to nie jest tego warte).
Sergio Acosta
10

Spójrzmy na to z innego POV: biorąc pod uwagę twoje predyspozycje, prawdopodobnie robisz krzywdę pracodawcy. Z pewnością nie chcą zatrudniać kogoś, kto „nienawidzi” jednej ze swoich praktyk rozwojowych. Czy poinformowałeś ich o swojej perspektywie w tak ścisłym środowisku współpracy? Jeśli nie, potencjalnie wprowadzasz siebie w błąd.

Jako pracodawca byłbym bardzo sfrustrowany zatrudnieniem kogoś, kto wiedziałby, że nie byłby zadowolony z praktyk rozwoju, które wprowadziliśmy. Jest to przepis na niezadowolenie i frustrację dla wszystkich zaangażowanych.


Edytuj Biorąc pod uwagę, że rozumieją, skąd pochodzisz (i chętnie cię zabiorą, jak wspomniałeś w komentarzu), dlaczego nie omówić tego, jak się czujesz z kilkoma programistami w firmie? Możliwe, że będą w stanie rozwiązać wszelkie obawy lub uprzedzenia wobec PP. Ważne jest również, aby wiedzieli, że nie jesteś zbytnio zainteresowany tym pomysłem, ponieważ będziesz z nimi pracować w pełnym wymiarze godzin.

Będzie to również okazja, aby dowiedzieć się czegoś o ludziach, z którymi tak blisko współpracujesz.

Jeśli wszyscy są na pokładzie, z pewnością opowiadam się za PP z tych samych powodów wymienionych w odpowiedziach tutaj. Masz bezpośrednią odpowiedzialność za to, co piszesz; inny zestaw oczu na twoim kodzie prawdopodobnie wykryje wady lub problemy, których w innym przypadku możesz przegapić; masz świetny kontakt z czyjąś perspektywą kodowania (i możesz zapewnić własne wrażenia); a efekt końcowy jest często znacznie lepszy niż można by się spodziewać.

Doceniam twoje nastawienie do PP; są chwile, kiedy nie chcę niczego więcej niż siedzieć przy komputerze i rozwalać problem, a PP staje się frustrujący (jestem również introwertykiem, co oznacza, że ​​PP sprawia, że ​​czuję się trochę bardziej wyczerpany pod koniec dnia), ponieważ ktoś jest zawsze tam To powiedziawszy, wyniki, z mojego doświadczenia, mówią same za siebie i jestem o wiele bardziej przyjazny dla niego regularnie.

bedwyr
źródło
Rozmawiałem o tym z pracodawcą, a oni poprosili mnie, abym spróbował.
Wizard79
2
@Lorenzo, fantastycznie. Bardzo ważne jest, aby dokładnie przedstawić się pracodawcy, a jeśli są skłonni pozwolić ci spróbować, to jest coś do rozważenia.
bedwyr
dlatego jeszcze nie odrzuciłem pracy, jednak pozostawiając obecną pracę dla czegoś, co prawdopodobnie mnie nie spodoba, bardzo mnie przeraża ...
Wizard79
8

Próbowałem programowania w parach i nienawidziłem tego. Podzielam prawie wszystkie wątpliwości i obawy, które wyraziliście przeciwko niemu. Zrezygnowałem z tego właśnie powodu.

Moja osobista rada jest zawsze przeciw parze, a biorąc pod uwagę twoje nastawienie, zdecydowanie radzę ci nawet nie próbować.

Czarodziej
źródło
4
+1 za uczciwość. :) Rzeczywiście nie dla wszystkich.
dash-tom-bang
2
@Wizard: Niektórzy ludzie lubią programować w parach, ja nie. Wolę wcześniej omówić strukturę kodu, potem kodować, a potem przejrzeć kod. To stawia filtr między mną a moimi kolegami, dzięki czemu wymieniamy tylko istotne informacje.
Giorgio
1
@Wizard: W programowaniu parowym omawiam zbyt wiele nieistotnych szczegółów: jest dużo hałasu, który spowalnia twój tok myślenia i czyni cię mniej wydajnym. Inni uważają to za stymulujące i lubią nieustrukturyzowane, ale ciągłe informacje zwrotne, które otrzymują. Niektórzy twierdzą, że jestem indywidualistą, sprzeciwiam się, że możesz pracować jako zespół i nadal mieć odpowiednią strukturę, tak samo jak drużyna piłkarska zajmuje cały plac zabaw zamiast iść tam, gdzie jest piłka. W każdym razie myślę, że to kwestia tego, jak działa każdy programista i nie wszyscy programiści działają w ten sam sposób.
Giorgio
5

Nienawidzę pomysłu programowania w parach

...

Nigdy tak naprawdę nie pracowałem z programowaniem par

Najpierw musisz to wyjaśnić.

Nie możesz powiedzieć, że czegoś nie lubisz, nie próbując tego. Osobiście nie lubiłem sosu pomidorowego, dopóki go nie skosztowałem.


źródło
2
Sos pomidorowy to po prostu zupa pomidorowa bez przypraw ... Lub keczup bez cukru i octu. :)
greyfade
5
Nigdy tego nie próbowałem, ale znam pomysł i koncepcję programowania w parach i nie podoba mi się to. Naprawdę nie musisz zostać ugryziony przez skorpiona, aby wiedzieć, że ci się nie spodoba!
Wizard79
1
Skąd to wiesz? Może spodoba ci się ugryzienie przez skorpiona! ;)
Peter Boughton
Jestem pewien, że wszyscy zrozumieliście wiadomość
2
Pierre, istnieje różnica między zrozumieniem a zgodą, a to, że nieprawidłowo ekstrapolowałeś smak sosu pomidorowego, nie oznacza, że ​​Lorenzo robi to samo z Programowaniem par. : P Pewnie, że tak, może być tylko z powodu osób, z którymi pracował, że czuje się tak, jak on, ale z pewnością można ustalić, czy tak jest, bez faktycznego programowania „prawdziwych” par.
Peter Boughton,
5

Brzmisz tak, jakbyś zdecydowanie nie był nastawiony na programowanie w parach, ale fakt, że zadałeś to pytanie, skłoniłoby mnie do przekonania, że ​​masz otwarty umysł.

Poproś pracodawcę o kontakt z pracodawcą i poinformuj go, jak się czujesz. Jeśli nadal uważają, że jesteś kandydatem, którego chcą, możesz zasugerować 2-tygodniowy okres próbny (lub jakikolwiek inny przedział czasu), aby sprawdzić, czy twoje odczucia wstępne są ważne, czy nie. Jeśli pracodawca odmawia, nie brzmi to tak, jakbyś naprawdę chciał rozpocząć pracę, więc nie jest to wielka strata. Jeśli pracodawca wyrazi na to zgodę, to przynajmniej w ostateczny sposób poznasz jedną lub drugą drogę do następnej pracy.

Walter
źródło
1
Tak, jednak problem polega na tym, że mam stałą pracę na pełny etat w największej włoskiej firmie, więc nie zostawiłbym tej pracy „tylko na próbę”, nawet jeśli obecna praca jest do bani ...
Wizard79
3
Nie, ja też bym tego nie chciał.
Walter
4

Niedawno poszedłem na rekolekcje z programowaniem par. Nie używam go w pracy i jestem bardzo nowy. Jestem jak ty w tym sensie, że lubię mieć kontrolę nad własną maszyną. Kilku programistów, którzy dużo programują w parach, ciągle podkreślało, że programowanie w parach znacznie poprawia umiejętności kodowania, ponieważ otrzymujesz ciągłe informacje zwrotne, twój kod jest stale sprawdzany i mniej prawdopodobne jest, że napiszesz włamany kod. Zgadzam się z faktem, że jest to znacząca zmiana dla kogoś, kto nigdy wcześniej nie programował w parach. Jednak trudno jest mieć zdecydowane zdanie w tej sprawie, chyba że spróbujesz go przez dłuższy czas.

ysolik
źródło
2
Kiedy muszę pomagać współpracownikowi, a nawet pozostać przy nim przez kilka minut, muszę trzymać buzię na kłódkę, inaczej zacznę krytykować każdą linię kodu ...
Wizard79
@Lorenzo, więc możesz krytykować, ale go nie otrzymujesz?
dash-tom-bang
@ dash-tom-bang: właściwie w ogóle
unikam
2
Jeśli ustąpienie przed krytyką znacznie poprawi kod, powinieneś je podać. Jeśli sugestie krytyki nie mają pozytywnego wpływu, powinieneś dowiedzieć się, dlaczego czujesz się zmuszony je zastosować.
dash-tom-bang
3

Jestem trochę bakteriobójczy. Nienawidzę pomysłu nikogo dotykającego mojej myszy i klawiatury. Nienawidzę pomysłu dotykania czyjejś myszy i klawiatury. Długo obchodzę obwód kompleksu biurowego, zamiast iść po dziedzińcu, by dostać się do kawiarni, żeby nie musieć dotykać żadnych klamek.

Z drugiej strony podoba mi się koncepcja programowania w parach. Mogę nauczyć się czegoś interesującego. Albo mogę pouczyć. Tak czy inaczej, byłoby to dobre doświadczenie.

Moja propozycja (dla mnie): programowanie parami na odległość. Użyj Office Live Meeting i udostępnij swój ekran. Koleś zostaje przy biurku, ja przy mnie.

Anthony Pegram
źródło
Dlaczego nie przynieść własnej myszy i klawiatury? A może zostawić dwa podłączone do tej samej maszyny?
Alex Feinman
1
@Alex, prawdopodobnie. Ale ogólnie uważam, że cała przestrzeń robocza została zanieczyszczona. Nie pytaj mnie dlaczego. Gdybyś potrafił wyjaśnić szaleństwo, nie byłoby to szalone.
Anthony Pegram,
3
Reaaaaaly długie kable USB? :)
Alex Feinman
1
Ale wciąż wymaga to ciągłej synchronizacji dwóch osób, czego naprawdę nie lubię.
Wizard79
2

Czy jest jakiś sposób na samodzielne zaprogramowanie par, aby lepiej to wyczuć? Wydaje się, że są ludzie, którzy lubią programowanie w parach, i ludzie, którzy tego nie robią, a przed podjęciem pracy z programowaniem w parach naprawdę chcesz mieć wrażenie, że możesz to zrobić.

Alternatywnie możesz porozmawiać z kierownikiem ds. Rekrutacji lub kimś na podobnym stanowisku i omówić to. Mogą mieć zastosowanie dla programatora nieparującego. Mogą mieć doświadczenie z ludźmi, którzy mają negatywny stosunek do programowania w parach. Powiedz kierownikowi, dlaczego nie czujesz się komfortowo z programowaniem parami, ale podkreśl, że nie masz doświadczenia i jesteś bardzo zainteresowany pracą.

W tej chwili masz najlepszą możliwą pozycję negocjacyjną z firmą: zaoferowali, a jeszcze nie zaakceptowałeś. Firma jest zainteresowana zatrudnieniem cię i jest bardzo mało prawdopodobne, aby cię porzucić, ponieważ musisz najpierw porozmawiać z kimś w firmie.

David Thornley
źródło
0

Jeśli znasz już technologię, będziesz jej nienawidzić. Ale jeśli nie znasz technologii, nauczysz się jej przez PP. Jeśli nie wiesz i nie robisz PP, to po prostu usiądziesz i nic nie zrobisz.

Najgorszym możliwym przypadkiem jest to, że obie strony o tym wiedzą i zamienia się w wyścig lub zawody w pissing.

oregon111
źródło
2
Cześć oregon111, wspaniale, że próbujesz odpowiadać na pytania, ale wybrałeś zły tag, aby odpowiedzieć na pytania: tag [jobs] zawiera zwykle wiele złych pytań, których jeszcze nie zdążyliśmy zamknąć. Zamiast próbować dawno odpowiedzieć na pytania od dawna nieokreślone, zastanów się, czy nie przyjrzeć się najnowszym pytaniom i na które z nich możesz odpowiedzieć.