3 12 2016
Co ma programowanie do żonglowania? O pracy zespołu.
W jednym odcinku podcastu firmy LostDecadeGames usłyszałem niedawno fajną analogię. Porównano tam pracę zespołu programistów do żonglowania.
O co chodzi?
Każdy potrafi się nauczyć żonglować 2 i po paru dniach ćwiczeń 3 piłkami. Pod koniec wpisu znajdziesz link do krótkiego poradnika (ale teraz nie o tym…). Więcej piłek wymaga więcej umiejętności. W naszej analogii do programowania -> więcej piłek = większy/bardziej skomplikowany projekt.
Doświadczony programista jest w stanie zapanować nad projektem, który np. ma poziom skomplikowania 7. Tak jak dobry kuglarz potrafi żonglować 7 piłkami. Jednak aktualny rekord w żonglowaniu wynosi 11 piłek. I to nie za długo. Co zrobić jednak z projektem, który ma poziom skomplikowania 15 i musi zostać rozwijany przez następne parę lat? Zatrudniamy 3 programistów, którzy potrafią żonglować 5 piłkami. W tym momencie dochodzi umiejętność współpracy takich osób. By „ogarnąć 15 piłek” muszą ze sobą dobrze współpracować. Preferowane by były oczywiście osoby, które mają „umiejętność większą niż 5”, ale koniec końców by poradzić sobie z taką ilością w dużym stopniu liczy się jakość ich współpracy. Nawet rekordzista (poziom 11) nie byłby w stanie sam (w rozsądnym czasie – o ile w ogóle) ogarnąć taki typ projektu. Nie mówiąc już o projekcie, w którym do żonglowania jest parędziesiąt piłek.
Oczywiście każda osoba w projekcie musi reprezentować pewne minimum umiejętności – bez tego nawet najlepsza współpraca nic nie pomoże.
Umiejętność współpracy się nabywa
Oprócz ćwiczenia żonglowania w pojedynkę (programowania w pojedynkę), rozwijamy się też w pracowaniu w zespole programistów. Istnieją pewne aspekty tej pracy, którą nabywa się tylko przez pracę z innymi programistami. Nie trzeba w tym celu koniecznie pracować na etacie. Projekty na uczelni, albo hobbistyczne projekty z jakimś znajomym pomagają ćwiczyć tę umiejętność – dlatego na studiach organizowane są prace grupowe.
Współpraca wewnątrz zespołu jest ważniejsza od umiejętności poszczególnych jednostek – przynajmniej w teorii
Taka jest teorią, którą nam powtarzali w ostatniej firmie. Chodzi o to, że według tej teorii zespół (składający się z przeciętnych jednostek), który ze sobą dobrze współpracuje, lepiej poradzi sobie z projektem od zespołu jednostek wybitnych, które źle ze sobą współpracują. Zawsze byłem nastawiony trochę sceptycznie do tej teorii – pewnie prawda jest gdzieś po środku.
Wykorzystywano to podczas rekrutacji nowych osób do zespołu w ostatniej firmie, w której pracowałem. Po tym jak kandydat udowodnił pewien poziom swoich umiejętności, następowało poznanie z zespołem. Sprawdzano, czy kandydat pasuje do zespołu. Takie drobnostki jak podobne poczucie humoru (czy inne drobnostki) mają czasami dużo wpływu na to, jak będzie wyglądała współpraca z taką osobą. Nie działało to na zasadzie, że musi to być „idealnie” pasujący kandydat – raczej chodziło o odsianie osoby, która BARDZO nie pasuje do reszty zespołu. Działa to też na plus kandydata: zazwyczaj miał okazję posiedzieć z paroma zespołami i można było lepiej wybrać pasujący zespół. Np. w moim filmie o rekrutacji wspominałem o tym, że po teście umiejętności spędziłem dzień próbny w firmie. Później dowiedziałem się, że przydzielono mnie do innego zespołu niż pierwotnie planowano, bo według nich lepiej pasowałem tam osobowościowo. Może coś w tym jest – z zespołem współpracowało mi się świetnie. 🙂
Swoją drogą: dlaczego warto żonglować? Już bez analogi do programowania.
Żonglowanie podobno dobrze wpływa na rozwój mózgu. Przynajmniej tutaj tak piszą. Jednak nie chcę się wymądrzać na temat czegoś, o czym nie mam pojęcia. 😉 Sam nauczyłem się dla przyjemności. Jeśli macie ochotę nauczyć się żonglowania 3 piłkami, to polecam ten krótki poradnik. Osobiście lubię żonglować, gdy muszę sobie coś poukładać w głowie np. do nowego filmu na YT. 😀 Mam wrażenie, że to pomaga – może to jednak efekt placebo. W każdym razie: analogię można świetnie wykorzystać, by przybliżyć temat osobie, która nie zna się na programowaniu, dlaczego potrzebne są zespoły programistów, a nie „jedna osoba, która klika w komputer”.
Sprawy grupy facebookowej bloga Jakich materiałów spodziewać się od nowego roku? Sugestie mile widziane :)
Żonglowanie pobudza w mózgu te obszary, które odpowiedzialne są za pamięć krótkotrwałą.
Ja osobiście bardzo dużo żonglowałem w trakcie studiów na fizyce na uniwerku i niesamowicie pomagało mi to w koncentracji.
Aktualnie dużo żongluję, gdy potrzebuję rozwiązać jakiś problem lub wymyślić coś kreatywnie np. nazwę nowego produktu.
BARDZO polecam żonglowanie w środowisku biurowym i zespołowym. Chyba nie ma bardziej geekowego sportu niż żonglowanie 😀
mała uwaga – „okres czasu” 😉
Dzięki 😉 już parę osób zwróciło uwagę. Muszę uważać na takie „masło maślane”.
[…] Co ma programowanie do żonglowania? O pracy zespołu. […]