Małymi, ale stabilnymi krokami. Historia Adama Jodłowskiego
Jaki plan na siebie ma nasz dzisiejszy rozmówca? – Wydaje mi się, że to co robiłem do tej pory przyniosło efekty, więc teraz staram się robić “to samo, tylko mądrzej”. Największe profity na pewno przyniosło mi samokształcenie, co nie jest trudne w naszej branży – opowiada. Z Adamem Jodłowskim rozmawiamy o ścieżce kariery, którą w dużym skrócie możemy opisać: od testera w Roche do Software Engineera w ProtonMail.
Oceniłbyś swoją ścieżkę kariery jako typową dla programisty?
Nie wiem jaka w dzisiejszych czasach jest typowa (na pewno inna, niż dekadę temu, kiedy dokonywałem swoich wyborów), ale określiłbym moją jako “tradycyjną”. Ukończyłem z bardzo dobrymi wynikami jedną z lepszych uczelni technicznych w Polsce (Politechnika Poznańska), w trakcie studiów nabierałem doświadczenia zawodowego, udzielając się w społeczności IT budowałem sieć kontaktów i moja kariera rozwijała się małymi, ale stabilnymi krokami. Od pierwszych staży, przez dorywcze zlecenia od znajomych, startupy, software house do korporacji. Pracowałem w różnych firmach, w różny sposób i przy różnych projektach, co uważam za najlepszy sposób na nabranie bezcennego doświadczenia.
Zaczynałeś od pracy w BZ WBK. Czym się zajmowałeś?
Dla jednego z departamentów pisałem pluginy do wizualizowania statystyk w Confluence, ale lepiej wspominam rolę “pana informatyka” jako wsparcia dla miłych pań z innych działów. Pewnego dnia zauważyłem, że koleżanka z biurka obok siedzi przed Excelem i kopiuje jakieś numerki z jednego okna do drugiego. Okazało się, że każdego pierwszego dnia miesiąca jej misją było znalezienie klientów po numerach PESEL, którzy byli w jednym pliku, a nie było ich w drugim. Następnego dnia kupiłem książkę do Visual Basica, poprosiłem o przesłanie plików i po kilku dniach przygotowałem odpowiednio spreparowane arkusze Excela do automatyzacji tego procesu. Wiele tego typu pracy było wykonywane ręcznie, bo nikt nie zdawał sobie sprawy z tego, że można inaczej. Dało mi to wielką satysfakcję i uczucie, że coś co wymyśliłem, zostało przekute w działający produkt.
To był jedyny staż wakacyjny, który odbyłeś?
Kolejne wakacje spędziłem w startupie, który pewnego dnia zdecydował, że nie zapłaci mi za ostatnie kilka miesięcy pracy i sposobem na poinformowanie mnie była zmiana haseł do moich kont i brak odpowiedzi na e-maile i telefony. Dlatego nigdy nie miałem go w CV, ale pracę wspominam dobrze, nabrałem sporo doświadczenia w programowaniu aplikacji na Androida i w tym specjalizuję się do dziś. To była też moja pierwsza okazja pracować z kimś innym nad jednym projektem, co skutecznie pomogło mi nabrać trochę pokory i nauczyło zasad współpracy.
Na ścieżce kariery był też software house.
Wykonałem tam zlecenie na kontrakt, właścicielem tej firmy był kolegą ze studiów. Pocztą pantoflową rozeszło się, że mam pewne doświadczenie w Androidzie, a w 2011 roku mało kto się tym zajmował. To był mój pierwszy projekt, w którym po dostaniu listy wymagań i grafik, musiałem przygotować aplikację samodzielnie. Ich projekty to było 95% aplikacji w Ralisach, nikt nie nastawiał się wtedy na mobilki, ale z tego co wiem, teraz jest zgoła inaczej.
Byłeś też testerem w Roche, ale w statusie na LinkedInie wpisałeś, że była to praca tymczasowa. Wykonywałeś ją po godzinach?
Jako student Politechniki Poznańskiej miałem szczęście, że uczelnia ściśle współpracowała z wieloma firmami IT oraz biuro Roche było dziesięć minut pieszo od kampusu. Było nas bodajże 20-30 osób, które po godzinach (lub w trakcie nudnych wykładów) wykonywały testy dla Roche. Praca wymagała głównie skrupulatności i niezniechęcania się, w czym akurat studenci Polibudy są znakomici. Dla nas była to okazja do obcowania z ogromnie skomplikowanym softem, specyficzną branżą jaką jest farmaceutyka i dowód na to, że ci wszyscy zawodowi programiści nadal piszą oprogramowanie, w którym występują błędy i testerzy wykonują pracę ważną dla zapewnienia wymaganej jakości. Byliśmy też bardzo hojnie wynagradzani, to też była pewna lekcja na przyszłość, że zagraniczne korporacje płacą więcej, niż polskie.
Te pierwsze doświadczenia utwierdziły Cię w przekonaniu, że warto zostać freelancerem? Jak znalazłeś zlecenie na wykonanie aplikacji ACE-Systems?
Zostałem polecony przez kolegę, a zadaniem było wzięcie odpowiedzialności za klienta Androidowego w startupie. Poszedłem na spotkanie i od razu dostałem odpowiedź, że jestem przyjęty i omówiliśmy wstępnie, co i jak. To było bardzo miłe uczucie, że praca przyszła do mnie sama i wystarczyło mówić z sensem, żeby przekonać do siebie zleceniodawcę. Też swego rodzaju moja pierwsza nieformalna rozmowa o pracę, bo nie miałem nic zawczasu obiecane, a jednak bez problemu dałem radę. Był to jeden z wielu sygnałów, że po studiach nie powinienem mieć problemów z zatrudnieniem i to co robiłem do tej pory, nie było błędem.
Czego nauczyło Cię to zlecenie?
Głupio przyznać, ale trochę dowiedziałem się jak wyglądały tak zwane “projekty unijne” od kuchni w tamtych czasach (2012-2013) i trzeba było mieć masę samozaparcia i naprawdę sensowny produkt, żeby coś z tego wyszło. Naszemu projektowi się nie udało jak bardzo wielu innym, mimo włożonej w niego solidnej pracy.
Z perspektywy programisty, był to dla mnie pierwszy projekt robiony w pełni zdalnie. Trzeba było synchronizować postępy prac między sobą, pilnować unijnych terminów i niezbędnych sprawozdań. Pewnym wyzwaniem była też samodzielna praca w domu, nie przy krótkim projekcie, ale przez ponad rok.
Później objąłeś stanowisko Senior Android Developera w HolidayCheck AG. Czym różniło się w twoim przypadku stanowisko seniora od juniora/regulara?
Po “projekcie unijnym” znów przez polecenie i pewnym zrządzeniem losu zostałem kimś w rodzaju CTO w kilkuosobowej firmie znajomego. Tam byłem odpowiedzialny głównie za stworzenie bardzo ciekawego, ale szalenie trudnego w realizacji projektu, któremu jak nietrudno się domyślić, nie wypalił. W miarę zatrudniania kolejnych osób zdecydowaliśmy się na przyjmowanie projektów zewnętrznych w celu finansowania bieżącej działalności i wtedy poznałem lepiej Railsy i szeroko pojętą webówkę. Firma niestety została zamknięta, ale chyba w dobrym dla mnie momencie, bo zrobiłem sobie długie wakacje, po których przyszedł czas na szukanie nowej pracy.
Jak te poszukiwania zakończyły się?
Chciałem wrócić do Androida, znajomy polecał HolidayCheck i po krótkich poszukiwaniach wyszło na to, że z poznańskich firm ta powinna być bardzo dobrym wyborem. Zgłosiłem się i zostałem przyjęty, faktycznie od razu na stanowisko Seniora, może dlatego, że rozmowę kwalifikacyjną przeprowadzał ze mną kolega, który przychodził na prowadzone przeze mnie darmowe szkolenia z Androida. To była moja pierwsza praca, do której przyszedłem z ogłoszenia i w której faktycznie był podział na junior/regular/senior, ale jakie są naprawdę między nimi różnice – przekonywałem się podczas współpracy z mniej i bardziej doświadczonymi osobami. Byłem juniorem na drugim roku studiów, nie w pierwszej pracy.
Dla mnie senior cechuje się tym, że może w pełni samodzielnie utrzymywać i rozwijać cały produkt oraz dba o przekazywanie wiedzy innym. Plusem jest, jeśli poza obowiązkami programistycznymi angażuje się w decyzje produktowe i we współpracę z innymi zespołami np. przygotowując specyfikację API z backendem lub dopisuje do ich kodu rzeczy przydatne tylko dla jego frontendowej aplikacji. Miałem szczęście i przywilej pracy z osobą, której wiedzy i umiejętnościom ufałem i byłem też darzony zaufaniem.
Na pewno osoby z mniejszym doświadczeniem były przez nas zachęcane do częstszego informowania o aktualnym stanie prac, częściej programowaliśmy w parach i bardziej skrupulatnie robiliśmy Code Review.
Po jakim czasie i dlaczego firma zaproponowała Tobie przeprowadzkę do Szwajcarii?
Pomysł relokacji wyszedł ode mnie, dopytywałem w firmie czy ktoś już do tej pory wyjechał, ale nikt przede mną się nie zdecydował. Nie dziwię się, bo nie było to łatwe zadanie. Co kilka miesięcy mój zespół odwiedzał centralę w Szwajcarii, bo tak się złożyło, że tam pracowali wszyscy programiści iOS, Product Owner, designerzy i Scrum Master, a w Poznaniu byli wszyscy androidowcy. Bardzo spodobało mi się miejsce, gdzie mamy biuro (sto metrów od jeziora Bodeńskiego), a był to tylko przedsmak do tego, co ma do zaoferowania Szwajcaria dla entuzjastów szeroko pojętego outdooru. Biłem się jakiś czas z myślami i po pół roku pracy zapytałem szefa tamtejszego biura, czy jest możliwość relokacji. Nie zastanawiał się długo i odpowiedział, że nie ma problemu, choć zaznaczył, że może lepiej żebym przyjechał na miesiąc albo dwa i zobaczył jak to jest. Kolejne trzy miesiące jeszcze trawiłem ten pomysł i zdecydowałem się przeprowadzić “na całego”.
Jak przygotowywałeś się do wyjazdu?
Jeszcze przed ostateczną decyzją przeczytałem wszystko co można przeczytać w Internecie na temat emigracji do Szwajcarii i za cel numer jeden obrałem wynajem mieszkania. Z początkiem października miałem rozpocząć pracę w nowym biurze (i nowej firmie, musiałem formalnie zwolnić się w Polsce i zostać przyjęty w Szwajcarii), a ujmując to delikatnie — szukanie mieszkania do wynajmu przez Internet z Polski, jest zadaniem dość karkołomnym. Dwa tygodnie przed godziną zero przyjechałem na tydzień do biura i popołudniami na ile potrafiłem, odwiedzałem wolne mieszkania i składałem podania. Wszystkie zostały odrzucone i w piątek rano w drodze na lotnisko pojechałem obejrzeć ostatnie mieszkanie. Właściciele znali moją firmę, nawet wynajmowali jednemu z kolegów z pracy i to wydaje mi się, że przesądziło o akceptacji.
Wróciłem do domu na ostatnie dni – spędziłem je na kolekcjonowaniu dokumentów, które mogły się przydać (nie przydały się), pakowaniu walizek i wymianie pieniędzy na początek pobytu. Wtedy też dowiedziałem się, że w moim banku jest limit wypłaty 10 tys. złotych dziennie z bankomatu. Na szczęście rozpocząłem proces z odpowiednim wyprzedzeniem. Mieszkanie miało być gotowe w połowie miesiąca, więc pierwsze dwa tygodnie spędziłem w hotelu (firma zwróciła koszty).
Poza tym starałem się na szybko przypomnieć sobie trochę języka niemieckiego, żeby jak najlepiej radzić sobie na miejscu. Oczywiście żaden kurs w szkole nie przygotuje cię do wynajmu mieszkania, zakładania konta w banku czy zgłaszania “dóbr przesiedleńczych” na przejściu granicznym. To było jeszcze wszystko przede mną.
Objąłeś to samo stanowisko co w Polsce? Zajmowałeś się tym samym projektem?
Tak, cała idea mojej relokacji polegała na tym, że byłem ciągle w zespole mobilnym, ale pierwszym (i jedynym) człowiekiem od Androida, tam na miejscu. Uważam, że charakter mojej pracy jednak znacznie się zmienił, bo siedziałem w jednym pokoju z osobami odpowiedzialnymi za produkt, a w sąsiednich pokojach były inne zespoły, z którymi jako frontend po części współpracowaliśmy. Nagle poczułem się o wiele bardziej w centrum wydarzeń, byłem bliżej decyzji i poznałem wiele osób, które miały wpływ na mój produkt, dotychczas przeze mnie nie dostrzeganych. Wtedy poznałem w praktyce zasadę, że struktura twojego softu odzwierciedla fizyczne lokalizacje biur na świecie.
Bardzo ciężko jest się dogadać na odległość, najszybsze i konkretne rezultaty osiągałem zawsze, dowiadując się gdzie siedzi osoba odpowiedzialna za konkretną rzecz i poprzez pójście do niej osobiście, niż jakiekolwiek telekonferencje i wiadomości na Slacku. Miało nawet większy sens poczekanie do jutra czy do poniedziałku, jeśli danego dnia ta osoba pracowała z domu, niż komunikacja online. Bardzo ceniłem sobie fakt, że praktycznie ze wszystkimi znałem się osobiście i mimo pewnej bariery językowej (większość pracowników to Niemcy, ale rozmawialiśmy po angielsku), miałem ze wszystkimi dobre układy i czasem pełniłem nawet dla nich rolę łącznika z polskim biurem.
Zdecydowanie uważam, że każdy oddział firmy ma swój własny klimat, w poprzedniej sprawdziłem to na własnej skórze. W aktualnej jest tak samo, odczuwam różnicę pomiędzy centralą a innymi biurami, szczególnie w innych krajach.
Po dwóch latach zmieniłeś pracę. Dlaczego trafiłeś do ProtonMail?
Kiedy podjąłem decyzję, że czas rozglądać się za czymś nowym, przefiltrowałem oferty na LinkedIn w Zurychu i dotyczące Androida. Po otrząśnięciu się z początkowego szoku, że sensowne firmy mogę policzyć na palcach jednej ręki, zaaplikowałem do dwóch. Pierwsza miała z mojej perspektywy bardzo ciekawy projekt na Androidzie, ale w postaci fizycznego urządzenia (to był ich Point of Sale) — co jeszcze bardziej mi się podobało. Niestety odniosłem wrażenie, że firma nie przykłada należytej wagi do jej strony IT, skupiając się bardziej na sprzedaży i bieżącej działalności operacyjnej (wiem to, bo byłem po kilku rozmowach z CTO i przeprowadzałem dla nich coś w rodzaju audytu tego androidowego softu).
Drugą firmą był ProtonMail, jeszcze wtedy nie miał biura w Zurychu. Wysłałem CV, przeszedłem dość wymagającą rekrutację, na granicy progu akceptacji i dostałem pozytywną odpowiedź. Wierzę w misję mojej firmy i uważam, że robimy potrzebne rzeczy. Nawet jeśli nie używasz naszych produktów, to sam fakt, że stają się coraz bardziej popularne powoduje, że inne firmy i ich usługi po części się zmieniają, z korzyścią dla wszystkich. Z wielkim trudem przyszło mi zakomunikować odejście w HolidayCheck, ale tak jak opuszczenie biura w Polsce było z perspektywy dobrą decyzją, tak odejście do nowej firmy na pewno było dla mnie pozytywne.
Czym dzisiaj zajmujesz się w tej firmie?
Póki co, rozwijam klienta poczty ProtonMail na Androida, ale nigdy nie wiadomo, w razie potrzeby mogę zostać przydzielony do innego projektu, których raczej nie zabraknie. Organizacja pracy jest aktualnie jednym z naszych większych wyzwań, bo firma rozrasta się w imponującym tempie.
Dlaczego to ważne, żeby pracować w różnych miejscach i nad różnymi projektami?
Każdy z nas programuje w swoim zamkniętym świecie, jak koleżanka przesuwająca ręcznie numery PESEL, często nie wiemy, że coś da się zrobić lepiej. Pracując z różnymi ludźmi przy różnych projektach poznajemy inne sposoby organizacji, konkretne użyte technologie i style programowania. Czym bogatszy jest nasz “programmer’s toolbox” tym lepiej możemy dobrać narzędzia do rozwiązania specyficznego problemu. Największy sukces w branży odnoszą osoby o szerokim doświadczeniu i szybko uczące się, czyli mające ogólne pojęcie na wiele tematów, a w razie czego potrafiące szybko nadrobić potrzebne szczegóły.
Próbowanie czegoś nowego zawsze przynosiło mi największy “zwrot z inwestycji”, popularną praktyką jest pisanie małych projektów w ezoterycznych językach i różnych paradygmatach (funkcyjnym czy deklaratywnym), żeby tylko doświadczyć innego podejścia. Jakiś czas temu wkręciłem się w programowanie funkcyjne i mimo że próg wejścia był dość wysoki i nie wykorzystam tego w codziennej pracy, było to dla mnie bardzo cenne doświadczenie.
Jaki masz plan na siebie?
Wydaje mi się, że to co robiłem do tej pory przyniosło efekty, więc teraz staram się robić “to samo, tylko mądrzej”. Największe profity na pewno przyniosło mi samokształcenie, co nie jest trudne w naszej branży. Ważny jest networking i wymiana doświadczeń z innymi, współpraca w firmie czy nawiązywanie znajomości podczas meetupów, co procentuje bardziej niż przeczytanie najmądrzejszej książki. Praca i życie za granicą poszerzyła też moje horyzonty, i wyszedłem z tzw. strefy komfortu, co trapi sporo ludzi z naszej branży.
Z konkretnych praktyk, to staram się czytać książki poświęcone programowaniu (ale nie tylko, swego czasu zainteresowała mnie m.in. psychologia), newslettery o Androidzie i Kotlinie (codzienna praca) i Hacker Newsy, ale tylko najpopularniejsze artykuły, żeby mieć pogląd na to, co się dzieje. Na konferencje już raczej nie jeżdżę, bo treści i tak są dostępne za darmo w Internecie. Nie siedzę też od kilku lat w społecznościówkach.
Adam Jodłowski. Absolwent Informatyki na Politechnice Poznańskiej, zawodowo specjalizuje się w programowaniu aplikacji mobilnych na Androida. Od trzech lat mieszka na stałe w Szwajcarii, aktualnie pracuje w ProtonMail. Miłośnik wędrówek górskich i podziwiania uroków przyrody.