Developer vs Project Manager 001: Wiedza o projekcie

Disclaimer: W serii Developer vs Project Manager opisuję kontrasty dla granicznych położeń tych ról. Zachowuję świadomość istnienia specjalistów posiadających wiele kompetencji miękkich oraz managerów posługujących się niskopoziomową wiedzą techniczną - te grupy świadomie pomijam.

Dwa punkty widzenia

W swoim życiu pracowałem przez kilka tygodni jako filmowiec, sześć lat jako programista-tester-analityk-manager-architekt, trzy lata prowadziłem mini-3-osobową-firmę importującą towary z Chin i aktualnie od ponad roku staram się być project managerem. Każde z tych stanowisk zmuszało mnie do wykształcenia zupełnie innego sposobu postrzegania rzeczywistości. W serii krótkich artykułów porównam elementy różniące pozycje developera oraz managera. Porównania będą bazować na moich własnych doświadczeniach. Oznacza to, że te same kwestie osadzone w innym kontekście mogą okazać się nieprawdziwe.

Management is not a promotion. It is a career change.

Wiedza o projekcie

Branża IT skupia się na rozwiązywaniu problemów klientów, którzy korzystają z naszych usług. Powoduje to, że nabywana przez nas wiedza nie ogranicza się jedynie do pisanego kodu, a jednocześnie głęboko wchodzi w domenę na potrzeby której wytwarzamy dane oprogramowanie. W mojej historii poznałem trzy domeny, dotyczyły one produkcji mebli oraz ich sprzedaży na linii B2B, systemów płatniczych oraz eCommerce. Jak różniła się moja perspektywa w zależności od zajmowanego stanowiska?

Software Developer

Zacząłem pracować jako programista na przełomie 19 i 20 roku życia. Można powiedzieć, że byłem dzieciakiem, który dość szybko dostał możliwość współpracy z firmami generującymi do kilkudziestu milionów złotych przychodu miesięcznie. Podczas niektórych delegacji do klientów, zdarzało mi się usłyszeć opinię o przysłaniu przedszkolaka do wdrożenia dużego oprogramowania. Po kilku tygodniach lub miesiącach współpracy z takimi firmami każda z nich ofiarowała mi swoje zaufanie i była w stanie powierzyć część odpowiedzialności za modyfikację oraz automatyzację procesów zachodzących w ich organizacjach. Przeprowadzane optymalizacje zazwyczaj wymagały znaczącej wiedzy dotyczącej meblarstwa, łańcucha dostaw, zamówień, logistyki, gospodarki magazynowej, fakturowania, analiz czy planowania produkcji. Skąd taki przypływ zaufania?

Pracując nad dedykowanym dla branży meblowej, autorskim systemem ERP, który wytwarzaliśmy, miałem okazję poznać benefity wynikające z pracy w firmie produktowej. Naszymi produktami było kilka systemów kompleksowo obsługujących proces planowania zasobów przedsiębiorstwa. Fakt pracy nad tak małą liczbą (szalenie złożonych pod względem analitycznym) produktów oraz skupienia się tylko i wyłącznie nad branżą meblową pozwolił nam na wyspecjalizowanie się w danej domenie oraz gwarantował olbrzymią wiedzę o produkcie, który dostarczaliśmy. Spotkania z klientami stawiały nas w pozycji wygranej, ponieważ mieliśmy doświadczenie we współpracy z wieloma firmami meblowymi i w moment byliśmy w stanie znajdować rozwiązania problemów pojawiających się w firmach naszych klientów.

Spędzanie 100% swojego czasu pracy bardzo blisko tworzonych rozwiązań oraz domeny daje olbrzymie poczucie pewności siebie, ponieważ gwarantuje szczegółową wiedzę, która utrudnia zagięcie nas podczas jakiejkolwiek rozmowy. W większości jest to wiedza odpowiadająca na pytania “co?” oraz “jak?”. Jednak w przypadku osób, których postrzegam jako senior developerów pojawia się również taka odpowiadająca na pytanie “dlaczego?”.

Początkowa wiedza na tej ścieżce jest szczegółowa i dotyczy kolejno pojawiających się problemów. Dopiero seniorship daje możliwość spojrzenia długoterminowego.

Gdy ktoś oczekuje od nas prezentacji wiedzy na stanowisku developera również jesteśmy w sytuacji komfortowej. Rzadko musimy odpowiadać na dowolne pytanie “na żywo”. Zazwyczaj jesteśmy obdarowani czasem na znalezienie rozwiązania, ułożenie odpowiedzi lub konsultację z zespołem - jeszcze przed legendarnym PMowym tekstem “dowiem się i wrócę z odpowiedzią”.

Project Manager

W roli PMa mam dość małe doświadczenie bazujące na pracy tylko w jednej firmie, więc mój punkt widzenia jest ograniczony. Ostatni rok postawił mnie jednak w wielu sytuacjach. Miałem okresy w których przydzielone były do mnie 3 projekty, a również takie w których projektów miałem 8. Ta druga sytuacja sprawia, że ma się jedynie 40 minut dziennie na zajęcie się każdym z projektów. Nawet sytuacja w której nadzoruje się tylko 3 projekty pozwala na spędzenie nad każdym z nich maksymalnie 2-3 godzin dziennie. Zestawiając to z pozycją specjalisty poświęconego w pełni jednemu projektowi liczba ta jest niesamowicie mała. Nie pozwala na wnikliwe wchodzenie w szczegóły każdego wytwarzanego dla klienta elementu. Szybko doprowadza to sytuacji w której specjaliści z którymi się pracuje nabywają wiedzę zadaniową zdecydowanie przewyższającą tą którą dysponuje PM. Zakres obowiązków managera kierowany jest głównie w stronę budżetowania, rozliczeń, planowania długoterminowego, zarządzania ryzykami. Sprawia to, że w przydzielonych nam 40-120 minutach dziennie brakuje czasu na niskopoziomowe zaangażowanie w wytwarzane rzeczy. Doprowadza to do sytuacji w której możemy odczuwać dyskomfort przez dużą chęć pomocy zespołowi z którym pracujemy na poziomie zadaniowym, uniemożliwioną niskim poziomem wiedzy o zadaniach. Tworzy równiez sytuacje w których kontaktując się z klientami brakuje nam wiedzy o szczegółowych elementach systemu. Wtedy musimy potrafić wykorzystać umiejętności oraz wiedzę specjalistów, którzy nas otaczają. Do tego potrzebna jest relacja oparta na współpracy i zaufaniu, dzięki którym zawsze możemy liczyć na pomoc.

Wiedza, którą dysponuje PM w pierwszej kolejności odpowiada na pytania “dlaczego?”, a w dopiero później na pytanie “co?”. Rzadko się zdarza, że PM zaangażowany jest w odpowiedź na pytanie “jak?”.

Sytuacje w których jesteśmy stawiani (rozmowy z ludźmi) wymagają od nas natychmiastowego udzielania odpowiedzi. Często zahaczają o tematy w których nie jesteśmy tak kompetentni jak specjaliści. Tematyka rozmów jest rozszerzona o zagadnienia wysokopoziomowe jak biznes, harmonogramy, dostarczanie wartości dla klienta w czasie, zwrot z inwestycji.

Podsumowanie

Obydwa powyższe punkty widzenia mają swoje plusy i minusy. Nie można jednoznacznie stwierdzić, że jedna ścieżka niesie za sobą więcej pozytywnych odczuć od drugiej lub wnosi do naszego życia mniej lub więcej stresu. Również problemy, które rozwiązujemy są skrajnie różne i nie można ich bezpośrednio do siebie przyrównać. Pozytywna lub negatywna ocena bazuje w większości na tym jakimi jesteśmy ludźmi, jakie emocje chcemy odczuwać i jakie problemy rozwiązywać podczas przechodzenia przez swoją ścieżkę zawodową.

Streszczając cały artykuł do jednego zdania można powiedzieć, że programiści dysponują wyspecjalizowaną, szczegółową wiedzą o projekcie czasami nie zauważając większego obrazu, a managerowie skupieni są na ogóle i długoterminowym spojrzeniu, czesto z pominięciem szczegółów. Dla osiągnięciu sukcesu projektu konieczne jest wzajemne uzupełnianie się oraz partnerstwo między przedstawicielami obydwu ról.