Manager powinien dozować poziom odpowiedzialności. Historia Wojciecha Walczaka
Kiedy Wojtek z programisty został managerem, firma Accenture rozpoczęła pracę nad dużym projektem z branży e-commerce. Podjął się prowadzenia tego projektu. – Byłem nowy w tej roli, projekt był duży, skomplikowany. Nie mieliśmy też wtedy kompetencji z tych technologii, nie miałem doświadczenia w projektach e-commercowych, Klient także. Trudno było, ale opłaciło się – powiedział w rozmowie.
To duże wyzwanie sprawiło, że do kolejnych projektów podchodził inaczej. O roli managera rozmawiamy z Wojciechem Walczakiem, Senior Manager w Accenture.
Jak zostałeś programistą?
Historia sięga podstawówki, kiedy bawiłem się komputerami, co nie było oczywiste w tamtych czasach, bo jestem rocznik ‘76. Komputery nie były popularne. Bawiłem się nimi nie tylko grając, ale próbując programować. Później jakoś naturalnie zdecydowałem o wyborze studiów informatycznych na Politechnice Łódzkiej.
Skoro komputery nie były wtedy popularne, to skąd wzięły się u Ciebie w domu?
To taka trochę rodzinna tradycja. Mama ma wykształcenie informatyczne i pracowała w tej branży, choć słowo “branża” ma dziś inne znaczenie. Programowała na komputerach Odra, przynosiła do domu wydrukowane sterty papierów, gdzie ołówkiem zaznaczała błędy w kodzie. Głównie wieczorami debugowała kod bez użycia komputera. Pewnie moje zainteresowanie komputerami wzięło się właśnie stąd.
Po czasie miałeś już komputer w domu. Dlaczego chciałeś robić na nim coś więcej niż grać?
Właściwie to miałem pół komputera w domu, drugą część miał kuzyn. Komputer wędrował więc co miesiąc między Łodzią a Wrocławiem, próbowaliśmy na zmianę coś ciekawego z nim zrobić. Nie pamiętam jak zainteresowałem się samym programowaniem.
Dziś uczymy się z kursów, filmów na YT. A wtedy?
Czytaliśmy “Bajtka”, publikowali tam nowinki ze świata komputerów oraz fragmenty programów. Można było przepisać z gazety kod i wywołać jakieś polecenie. Czasopismo było też pewnego rodzaju inspiracją.
Przejdźmy dalej, w liceum też rozwijałeś zainteresowanie programowaniem?
To pewna luka w moim doświadczeniu, bo wtedy przystopowało moje zainteresowanie programowaniem, ale rozwiązywałem logiczne problemy przy użyciu komputera.
Studia informatyczne na Politechnice Łódzkiej wtedy wyglądały zapewne inaczej niż dziś. Opowiedz proszę, na jakie zajęcia uczęszczałeś.
Wydaje mi się, że wtedy studia informatyczne były bardziej skomplikowane ze względu na to, że wymagania były większe. Dużo było przedmiotów dookoła informatyki, jak matematyka i informatyka. Był trudniejszy dostęp do informacji, studiowałem między ‘95, a 2000 rokiem – studia trwały wtedy pięć lat. To czas, kiedy internet się rodził.
Nie wszyscy mieli dostęp do internetu z domu, korzystało się więc z kafejek internetowych czy sal z internetem na uczelni. Sporo wiedzy trzeba było czerpać z książek. Do teraz się z tego śmieję, że dziś jak ktoś ma problem, to wyszukuje rozwiązania w Google. Znajduje fragment kodu, przekleja go i zazwyczaj odhacza zadanie. Dawniej trzeba było przeczytać książkę od strony pierwszej do sto pięćdziesiątej trzeciej, na której znalazło się rozwiązanie. Tak więc chcąc, nie chcąc trzeba było zrozumieć podstawy.
Myślę, że to jest coś, czego brakuje niektórym młodym programistom. Często rozwiązują problemy, posiłkując się kilkoma źródłami, a nie wiedzą, dlaczego pewne rzeczy dzieją się w ten, a nie w inny sposób.
To wynik pędu i chęci szybkiej nauki?
Wydaje mi się, że powodem takiego zachowania jest to, że rozwiązanie prawie każdego problemu jest łatwo dostępne. To jednak pozorne rozwiązanie. Widzę jak niektórzy programiści pracują. Literalnie przepisują wynik znaleziony w Google, bezmyślnie wklejając kod, bez zastanowienia się, jakie będzie to miało kiedyś konsekwencje.
Z perspektywy firmy, co można zrobić w sytuacji, gdy zobaczymy, że programista bezmyślnie przepisuje kod znaleziony w sieci?
Nie chodzi o to, by przy każdym trudniejszym problemie ktoś spędzał mnóstwo czasu na jego rozwiązaniu i zgłębianiu wszystkich tajników. Powinno być to w jakiś sposób zbalansowane. Tym, którzy kopiują powinniśmy pokazywać, że warto wniknąć głębiej, samodzielnie podejmować rozwiązania a przede wszystkim dążyć do zrozumienia problemów, na które napotykają.
Mam wrażenie, że prędzej czy później to wychodzi. W pewnym momencie napotkają na problem, którego nie da się ot tak rozwiązać za pomocą Google i przeklejania czegoś. Może okazać się za chwilę, że to co ktoś przekleił nie działa we wszystkich przypadkach, więc i tak trzeba wymyślić jakieś inne rozwiązanie.
To co robimy to zadajemy pytania, by sprawdzić, jak kandydat/pracownik radzi sobie w takich sytuacjach. Na szczęście osoby, z którymi pracujemy szybko się uczą i profesjonalnie podchodzą do swoich zadań.
To jedna z kompetencji managera?
To myślę, że należy raczej do obowiązków team leadera, bo problem dotyczy spraw technicznych, programistycznych. Team leader w takiej sytuacji powinien proponować rozwiązania i pomagać w ich poszukiwaniu. Robi się to po to, żeby upewnić się, że dana osoba rozumie błędy, które popełniła i rozumie w jaki sposób je naprawić.
Jak z perspektywy firmy wygląda estymacja czasu na dany projekt tak by zespół zrealizował go szybko, ale też miał czas na wyciągnięcie z niego maksymalnej ilości wiedzy?
Istnieje wiele metod estymowania ilości pracy. Projekty są bardzo różne, a na etapie planu o wielu rzeczach nie wiemy, dlatego to przewidywanie czasu potrzebnego na realizację zadania, należy do trudniejszych zadań managera. W dużym uproszczeniu są dwie metody estymowania pracy. Jedna to bottom up, czyli wychodząc od szczegółów, które uważamy, że trzeba będzie zrealizować, bardzo atomowych zadań, o których z góry wiemy, ile zajmą czasu.
Próbujemy je wylistować, a później po prostu je sumujemy. Druga metoda – top down – która polega na tym, by patrząc z większej perspektywy próbujemy porównać nowy projekt z podobnymi projektami, które zrealizowaliśmy w przeszłości i na tej podstawie ocenić jego koszt.
Przed chwilą rozmawialiśmy o kompetencja team leadera. Czym zajmuje się team leader, a czym manager w Accenture?
Osoby wyróżniające się jako programiści, które nie tylko dobrze wykonują swoją pracę, ale też dobrze dogadują się z klientami i z zespołem, są często promowane do ról liderskich. To dosyć naturalna ścieżka, gdy z programisty przechodzi się do starszego programisty, który ma więcej samodzielności i odpowiedzialności. Trzeci etap to team leader, czyli osoba, która nadal realizuje swoje zadania programistyczne, ale wspiera także młodsze stażem osoby.
Uważasz, że warto przejść ścieżkę od juniora do managera, czy zostać managerem w inny sposób?
Można próbować tej drugiej opcji, są przecież studia z zarządzania ludźmi, to wykonalne. Pytanie o czym dokładnie rozmawiamy, bo jeśli mówimy o firmie informatycznej, która produkuje i wdraża oprogramowanie, to z mojego doświadczenia wynika, że warto łączyć kompetencje miękkie i zarządcze z wiedzą techniczną.
Myślę, że jest to ważne w kontekście projektów jakie obecnie się realizuje – są one krótsze, lżejsze, tam nie ma po prostu miejsca na te role, gdzie jest manager znający się wyłącznie na Excelu. Lepiej, gdy wie, co dokładnie zespół robi. Z perspektywy klienta to się sprawdza.
Spotykałem się też z sytuacjami, w których manager nie rozumiał, czym zajmuje się jego zespół. Było mu trudno się z tymi ludźmi porozumieć.
Miałem o to zapytać, czy uważasz, że leader/manager powinien potrafić wszystko to o zespół?
To niewykonalne, żeby znał te wszystkie rzeczy. Istotna na pewno jest wiedza domenowa. Ważne, by pozycji leadera nie budować wyłącznie na tym, że ktoś nadał tę rolę, ale na tym, żeby budować autorytet poprzez swoje kompetencje.
Jak zostałeś managerem, skoro tyle lat byłeś programistą?
Przechodziłem przez te wszystkie kroki, o których wspomniałeś. Byłem programistą, starszym programistą, później miałem jedną, dwie osoby, za które odpowiadałem. Później byłem architektem, który proponował rozwiązania techniczne. Następnie byłem włączany w coraz bardziej skomplikowane obszary jak ustalanie terminów czy planu pracy.
Stało się to więc naturalnie, nie było tak, że po prostu chciałeś zostać managerem?
Rzadko kiedy to jest taki zwrot w karierze, że ktoś programuje i nagle chce zostać managerem. To raczej płynne przejście.
Pamiętasz pierwsze zadanie, jakie miałeś w roli managera?
Przez jakiś czas pracowałem w backendowych technologiach, tworzyłem systemy ERP. Historia tak się potoczyła, że w tym samym czasie, gdy zostałem managerem, Accenture rozpoczęło pracę nad projektem e-commercowym dla jednego z naszych klientów. Zostałem odpowiedzialny za wdrożenie jednego z takich projektów. To było trudne zadanie.
Dlaczego?
Byłem nowy w tej roli, projekt był duży, skomplikowany. Nie mieliśmy też wtedy kompetencji z tych technologii, nie miałem doświadczenia w projektach e-commercowych, Klient także. Trudno było, ale opłaciło się.
To było pouczające? Dziś doceniasz to, że rzucono Tobie na barki właśnie tak trudny projekt?
Na pewno, to była jakaś nauka dla mnie. Z perspektywy biznesu i firmy udało mi się to potem przekuć na kilka innych projektów. To, że dostarczyliśmy ten projekt dało zielone światło na rozmowę o podobnych projektach z innymi klientami.
Jak z perspektywy managera rozwija się zespół? Co sprawia, że zespół nie stoi w miejscu?
Manager powinien dozować poziom trudności zadań, wsparcia i odpowiedzialności na podstawie tego na ile doświadczona jest dana osoba. Im ktoś jest młodszy, tym zadania muszą być prostsze, dobrze sprecyzowane. Dla bardziej doświadczonego pracownika zadania i odpowiedzialność powinna być coraz większa, ale też większa swoboda w samodzielnym podejmowaniu decyzji. W tym miejscu pojawia się kluczowa rola managera, by te zadania wyważyć. Ważne jest także wsparcia zespołu, ale także z umiarem, by pracownik miał miejsce na samodzielnie rozwiązanie problemu i podejmowanie różnych wyzwań.
Programujesz? W jakiś sposób nadal zajmujesz się programowaniem?
W pracy nie mam zadań stricte związanych z programowaniem. Uczestniczę natomiast w spotkaniach projektowych, nie w roli programisty, ale architekta rozwiązania, podejścia do integracji.
Ile czasu spędzasz na spotkania z klientami, a ile czasu na spotkania z zespołem?
Mniej więcej pół na pół. Połowa to zadania związane z project managementem, a druga połowa to praca projektowa-techniczna.
Co rozwija Ciebie jako managera?
Zadania zmieniają się z czasem, moja odpowiedzialność zwiększa się, problemy związane z prowadzeniem zespołu też są inne. Na inne rzeczy muszę zwracać uwagę.
Jaką wartość programiście daje etap pracy managera? Załóżmy, że nie spodobało mu się to stanowisko i wróci do programowania?
Wydaje mi się, że szczególnie młodym programistom brakuje szerszego spojrzenia na całość projektu i zrozumienia wartości biznesowej jaką ma on przynieść. Bycie przez jakiś czas w roli osoby odpowiedzialnej za całość projektu, zmusza do zrozumienia tego kontekstu oraz poznania zależności między różnymi zadaniami. Wyobrażając sobie ścieżkę, w której ktoś był managerem, ale wraca do bycia programistą, oczekiwałbym że taka osoba będzie miała to szerokie spojrzenie. Dzięki temu będzie dostarczał lepszej jakości kod.
Wojciech Walczak. Senior Manager w Accenture. W Accenture pracuje już 15 lat, czyli od 2005 roku. Od 8 lat jest managerem zespołu Innovative Solutions, w którym wraz z zespołem realizuje złożone projekty oparte o Salesforce i Adobe Magento. Zespół inicjuje również nowe badania i pomysły na generowanie biznesu, jak również świadczy usługi RnD i PoC dla projektów Accenture. W wolnym czasie Wojtek zajmuje się rodziną. Próbuje też swoich sił jako ogrodnik i stolarz.