Pair programming – definicja
Pair programming, czyli programowanie w parach, polega na wykonywaniu jednego, tego samego zadania (z zakresu programowania) przez dwie osoby jednocześnie, na tym samym sprzęcie. Pierwsza osoba, określana jako driver, na bieżąco pisze kod. Druga – nawigator, zadaje pytania, poprawia błędy, zwraca uwagę na niedociągnięcia powstającego kodu. Role nie są określane odgórnie. Pracownicy zamieniają się miejscami. Jeden programista raz jest nawigatorem, raz driverem.
Pair programming zaczęto wykorzystywać nie tylko w przypadkach regularnej pracy, ale także jako bardzo skuteczną metodę rekrutacji. Kandydata na stanowisko w firmie paruje się z doświadczonym pracownikiem i obserwuje efekty ich wspólnych działań.
Pair programming – plusy
Plusem tej metody, jako narzędzia pracy, jest jej szybkość oraz minimalizowanie błędów. Podczas wykonywania zadania dwie osoby mogą się wymieniać pomysłami, uwagami, przewidywać możliwe problemy z kodem i na bieżąco je modyfikować. Mniej problemów wyskoczy wtedy przy testowaniu, produkt zostanie szybciej dostarczony do klienta.
Jest to także szansa na skuteczną rekrutację programisty. Kandydat jest oceniany nie tylko pod względem efektów swojej pracy, ale także metody działania. Dodatkowo, gdy współpracuje z zatrudnionym pracownikiem, sprawdzane są jego kompetencje miękkie. Pracodawca może dowiedzieć się, jak dany programista czuje się w zespole, czy przekazuje jasne i zrozumiałe komunikaty, czy potrafi dzielić się zadaniami, podporządkowywać się bardziej doświadczonym osobom lub walczyć o swoje racje, jeśli są słuszne.
Bardzo często jako zaletę tej nowoczesnej metody rekrutacji pracowników podaje się możliwość ustalenia wynagrodzenia adekwatnie do rzeczywistych umiejętności programisty.
Pair programming – minusy
Najczęściej wymienianym minusem tej metody jest fakt, iż ten, kto pisze kod, jest pod nieustanną obserwacją i kontrolą innej osoby. Nie ma swobody, każdy jego krok jest analizowany. Z jednej strony dobrze działa to na efekt pracy (napisany kod z małą liczbą błędów), ale może też powodować stres i napięcia u driverów i nawigatorów. Takie odczucia szczególnie potęgują się podczas rekrutacji.
Live coding, pair programming, hackathony – to tylko niektóre z wyzwań, przed którymi może zostać postawiony programista. Praca na tym stanowisku nie wiąże się wyłącznie z indywidualnym pisaniem kodu na własnym sprzęcie, ale z szeregiem innych ciekawych zagadnień, które stawia rynek pracy, dana branża czy pracodawca.