Michał od 2013 roku mieszka i pracuje poza Polską. Dzięki temu poznał kultury różnych państw, ale i rozwinął umiejętności związane z QA i zarządzaniem zespołem. W rozmowie staraliśmy dowiedzieć się m.in. tego, na podstawie jakich czynników dziś podejmuje decyzję o tym, iż chce pracować dla danej firmy.
Chyba każdy z nas zaczynał od etapu, który mniej więcej brzmi: po prostu chcę znaleźć pracę. Później, po latach pracy w branży, przychodzi etap, w którym przestają liczyć się zarobki, a bardziej to co będziemy robić w nowej firmie. Michał także szukał nowego miejsca najpierw po stacku technologicznym, a później po produkcie, z którym mógłby utożsamiać się i który dawałby mu motywację na najbliższe lata.
Poznajcie historię Michała Mikołajczyka, który wiele razy zmieniał miejsce zatrudnienia, ale i miejsce zamieszkania. Zaczynał od pracy we Wrocławiu, później Krakowie, by przeprowadzić się do Berlina, Londynu po Canterbury w Nowej Zelandii. Dziś mieszka w Bangkoku.
Pracowałeś w wielu firmach z siedzibami w wielu różnych krajach. Było coś, co łączyło je wszystkie?
Zazwyczaj prace w różnych firmach z różnych państw charakteryzowało przede wszystkim różnorodne produkty lub usługi, które były znacząco odmienne. Czy to obsługa linii lotniczych, szpitali i klinik, agencje rekrutacyjne czy rozwiązania związane z wykrywaniem podatności na ataki hakerów – wszystkie te obszary różniły się znacząco. Również środowisko developerskie było bardzo dynamiczne i ciągle się zmieniało. Trudno jest szukać sztucznie narzuconych podobieństw, poza tym, iż w każdym przypadku wytwarzaliśmy oprogramowanie.
To co zawsze stanowiło wspólny mianownik, to fakt, iż w mniejszym lub większym stopniu musieliśmy mierzyć się z problemami postrzeganymi przez klientów. Często były to kwestie związane z degradacją szybkości działania aplikacji, problematyczne funkcje czy inne błędy, z którymi trzeba było się zmierzyć.
Czym kierujesz się wybierając kolejną ofertę pracy, kolejne miejsce pracy?
Kiedyś moje decyzje dotyczące kolejnych miejsc pracy zmieniały się wraz z etapami życia. Opuszczając Polskę, pragnąłem doświadczyć życia w innym kraju, poznać inne środowisko. Kilka tygodni podróży nie dało mi tego samego co zamieszkanie w innym kraju i poznanie zarówno jego zalet, jak i wad – kultury, pogody czy kuchni. Moim początkowym planem było znalezienie pracy w danym kraju na rok, a następnie przeniesienie się gdzie indziej. To jednak zmieniło się w Nowej Zelandii, gdzie zatrzymałem się na dwa lata.
Zostałem, ponieważ polubiłem miejsce, uwierzyłem w produkt, angażowałem się w jego rozwój i widziałem systematyczny postęp. Nasza kooperacja ze szpitalem, szczególnie sesje dotyczące definiowania wymagań implementacyjnych wraz z przedstawicielem szpitala, były prawdziwym 'Behavior-Driven Development’ (BDD). To zmieniło moje podejście – zamiast patrzeć tylko na tech stack, podczas kolejnych rozmów o pracę pytałem głównie o produkt, jego plany rozwojowe, różnice względem konkurencji oraz ewentualne problemy i wady.
Podczas każdej zmiany pracy musiałem być pewny, iż będę zaangażowany w rozwój produktu, iż będzie on dla mnie inspirujący. To był mój główny motywator przez wiele lat. Obecnie? Teraz sprawdzam stabilność finansową firmy. Wiadomo, start-upy nie należą do najbardziej stabilnych miejsc pracy. Niestety, doświadczyłem tego kilkakrotnie, pozostając bez pensji za ostatni miesiąc, z laptopem w ręku, gdy firma zakończyła działalność. Z rodziną na utrzymaniu patrzę teraz na to, jakich inwestorów ma firma, w jaki sposób zarządza finansami i jakie ma plany na kolejne lata. To może wydawać się nudne, ale w pewnym momencie jest to adekwatne podejście.
To zdecydowanie interesujący temat. Możesz powiedzieć więcej? W jaki sposób sprawdzasz, jak firma zarządza finansami? Kiedy zapala się przysłowiowa “czerwona lampka”?
Zazwyczaj na ostatnich etapach rekrutacji staram się zrozumieć, jak firma zarządza finansami, poprzez zidentyfikowanie narzędzi, które są używane, kto jest ich użytkownikiem, oraz jaki plan subskrypcyjny jest wykupiony. Wiele firm inwestuje znaczne kwoty w subskrypcje narzędzi, takich jak DataDog czy Sentry. Często niewielu pracowników wie, jak efektywnie z nich korzystać. Przykładowo, pomimo znacznego budżetu przeznaczonego na subskrypcje i dodatkowe opcje, rzadko spotyka się z racjonalnym wyjaśnieniem, dlaczego wybrano poszczególny plan, czy jaki jest plan optymalizacji tej kwoty.
Inny aspekt to sytuacja, gdy firma opiera się na współpracy z jednym dużym klientem, dla którego dostosowuje swój produkt. Oczywiście, nie ma niczego złego w współpracy z jednym klientem, ale warto zwrócić uwagę na sytuację, gdy firma posiada wielu klientów, a jednak jeden z nich generuje ogromny procent zysków firmy. Co się stanie, gdy ten najważniejszy klient zrezygnuje z naszych usług? Dlatego, mając pełen wgląd w płatności związane z narzędziami i licencjami, wraz ze zrozumieniem, dlaczego dane narzędzie jest używane, jakie są jego ograniczenia, a jednocześnie firma ma wielu klientów bez dominacji jednego, jestem bardziej spokojny przy podejmowaniu decyzji.
Co w nowym miejscu stawiasz sobie za cel? Przychodzisz do nowej organizacji i czego zwykle wymagają od Ciebie pracodawcy?
Kiedy przychodzę do nowej organizacji, moim celem jest wprowadzenie proaktywności, ustanowienie lub usprawnienie procedur, które już funkcjonują. Większość osób, gdy myśli o Quality Assurance (QA), skupia się na testowaniu, automatyzacji czy zarządzaniu błędami. To istotne aspekty, ale tylko część pracy QA. Szczególnie w środowiskach, gdzie zmiany w produkcie są wprowadzane szybko, choćby kilka razy dziennie, musimy mierzyć jakość i stabilność infrastruktury.
Kiedy rozpoczynam pracę w nowej firmie, planuję kilka indywidualnych spotkań nie tylko z osobami na wyższych stanowiskach, ale także z deweloperami, działem marketingu, obsługą klienta itp., aby poznać problemy w danym obszarze, gdzie działamy poniżej oczekiwań. Tego rodzaju wywiad środowiskowy dostarcza ciekawą listę problemów, które zwykle są ignorowane, dopóki coś złego się nie wydarzy, albo nikt o nich nie mówi, uważając je za coś nieuchronnego. To właśnie te obszary musimy zmieniać.
Tworząc taką listę punktów problemowych, analizuję, gdzie pewne motywy się pokrywają i które mają decydujący wpływ na jakość, jaką oferujemy naszym klientom. Staram się przygotować plany korekcyjne, cele określone jako Key Results Objectives (OKR) lub buduję coś na wzór Service Level Objectives (SLO), aby móc mierzyć postęp.
“Staram się przygotować plany korekcyjne” – co zwykle znajduje się w nich? Masz jakiś swój szablon, jak taki plan korekcyjny wygląda?
W przypadku planów korekcyjnych, wszystko zależy od specyfiki problemu, z którym mamy do czynienia. jeżeli testy automatyczne zawsze zwracają wyniki 'zielone’, ale pojawia się dużo regresyjnych błędów, musimy przyjrzeć się temu, co tak naprawdę sprawdzamy tymi testami. Analiza kluczowych akcji końcowego użytkownika, które są pokryte testami automatycznymi, oraz te, które powinny być weryfikowane automatycznie, jest kluczowa. Często na tym etapie odkrywam, iż albo nie wiemy o wielu rzeczach, albo mamy ograniczenia czasowe, które uniemożliwiają zautomatyzowanie pewnych czynności. Zrozumienie problemu to fundament, aby zainicjować poprawki.
Innym scenariuszem może być duża ilość błędów zgłaszanych przez klientów. W takiej sytuacji, analiza procesu jest kluczowa, ponieważ problem może wynikać z niskiej jakości kodu, który jest nieprzetestowalny bez testów jednostkowych, a jednocześnie testowanie jest całkowicie w gestii testerów, a wszystko musi być wypchnięte na produkcję natychmiast. Taki proces wymaga zupełnie innego podejścia niż sytuacja, gdy błędy wynikają z 'edge case’ów dotykających tylko mały odsetek klientów.
Nie można mówić o jednym szablonie, ale raczej o analizie sytuacji, zaproponowaniu rozwiązania i określeniu, jak będziemy mierzyć postęp. Niezaprzeczalnie kluczowym elementem są również miary. Ile błędów na tydzień jest zgłaszanych, ile z nich pochodzi od klientów, ile z nich ma charakter krytyczny, ile przekracza czas naprawy określony w SLA, ile z nich udało się naprawić itd.
Jak znalazłeś pierwszą pracę w IT w Tajlandii?
Znalezienie pracy w IT w Tajlandii nie było wynikiem aktywnego poszukiwania zatrudnienia w Bangkoku. Przez dwa lata mieszkałem i pracowałem w Christchurch w Nowej Zelandii. Pomimo uroków tego miejsca – wspaniałej natury, krajobrazu i przyjaznych ludzi – odczuwałem pewne poczucie izolacji. Odległość była znacząca, choćby proste rozmowy wideo z rodziną były trudne do zorganizowania. Po dwóch latach pracy w Orion Health poprosiłem o relokację do większego miasta bliżej Europy. Nie chciałem opuszczać firmy, a firma również nie chciała się mnie pozbyć, więc dostałem dwie opcje relokacji – do Stanów Zjednoczonych lub do Tajlandii, gdzie Orion Health miał swoje oddziały. Wybrałem Bangkok i wydaje się, iż znalazłem tu swoje miejsce.
Myślę, iż wiele osób wybrałoby Stany Zjednoczone. Co przemawiało za Twoim wyborem przyszłego miejsca zamieszkania?
Wybór Tajlandii jako miejsca zamieszkania jest z pewnością nietypowy, ale ma swoje wyjątkowe zalety. Cena życia, tak niska w porównaniu do wielu innych miejsc, jest niezaprzeczalnym atutem, a ceny lunchu (4 – 5 PLN) czy benzyny (ok. 3 PLN) z pewnością przyciągają uwagę. Brak zimowego ubrania to również z pewnością coś, co dla wielu osób może być ogromnym plusem.
Oczywiście, jak wszędzie, trawa może wyglądać na bardziej zieloną tam, gdzie nas nie ma, dlatego warto wspomnieć o pewnych wyzwaniach związanych z życiem w Bangkoku. Pogoda to nie tylko uciążliwy upał i brak możliwości swobodnego poruszania się, jak w Europie. Okres deszczowy i powodzie to dodatkowe wyzwania, z którymi trzeba się mierzyć, ponieważ Bangkok ma tendencję do tonięcia. Czasem trudno jest podjąć decyzję, czy przejść te parę kroków w butach czy jednak je zdjąć i brodzić na bosaka w rzece pływającej chodnikiem.
Innym problemem jest jakość powietrza, zwłaszcza w okresie zimowym, gdy może być ono dotkliwie niezdrowe, co sprawia, iż lepiej pozostać w domu. To coś podobnego do sytuacji w Krakowie. Choć transport publiczny stoi na wysokim poziomie, to ruch drogowy z masą skuterów może podwyższyć ciśnienie. kilka motocykli przestrzega ograniczeń, takich jak droga jednokierunkowa.
Jeśli jednak te wyzwania nie są dla kogoś problemem, to Tajlandia staje się fascynującym miejscem do życia i pracy. Bangkok to bardzo nowoczesne miasto z gigantycznymi centrami handlowymi, metrem i podniebnymi kolejkami. Wystarczy wyjechać poza granice miasta, aby zobaczyć, iż to naprawdę wyjątkowy kraj. Większość miejsc nie jest tak rozwinięta, ale nadrabia to pięknymi plażami i niezwykłą kuchnią. Tajskie jedzenie to kolejny powód, dla którego warto tu zamieszkać.
Wróćmy do tematu rekrutacji. Jak przebiegał proces rekrutacyjny? Czym różnił się w porównaniu z procesami polskich firm IT?
Nie wydaje mi się, żeby procesy rekrutacyjne firm znacząco różniły się w zależności od kraju – wszystko zależy od konkretnych wartości i oczekiwań danej firmy. Ale z pewnością miałem do czynienia z ciekawymi różnicami. Na przykład, w Tajlandii doświadczyłem bardzo pozytywnego zaskoczenia. Head of Engineering zaprosił mnie do swojego „biura”, które okazało się być domem z tradycyjną tajską przybudówką, drewnianymi ścianami, sufitem i meblami. Dodatkowo jeszcze basen.
Proces rekrutacji obejmował nie tylko typowe rozmowy kwalifikacyjne, ale również dał mi możliwość spędzenia całego dnia włączając się w różne zespoły, rozmawiając z inżynierami na temat ich projektów i napotykanych problemów. Otrzymałem wolną rękę w decyzji, czy chciałbym dołączyć. To bardzo interesujące podejście, zupełnie inne niż standardowe rozmowy kwalifikacyjne w Polsce czy Europie, ale może i to się już zmieniło.
W Nowej Zelandii zauważyłem, iż duże znaczenie ma to, czym kandydat się interesuje. To, co tworzy samodzielnie, jakie projekty prowadzi, ma tam znacznie większe znaczenie niż dyplomy uczelni wyższych. jeżeli ktoś jest zainteresowany filozofią, historią sztuki albo spędził ostatni rok prognozując opady śniegu w chatce meteorologicznej i ma umiejętności programowania, tworząc przy tym grę platformową, to taka osoba może być bardzo atrakcyjnym kandydatem. To coś, co może wydawać się niewiarygodne w kontekście Tajlandii.
Od kilku lat pracujesz na kierowniczych stanowiskach dot. Quality Assurance. Jak zarządzasz zespołem inżynierów?
Zarządzanie zespołem to zwykle tylko część moich obowiązków, często równie istotne jest pełnienie roli 'Individual Contributor’ (IC), aby wprowadzać ulepszenia i optymalizować procesy. To niesamowicie ważna cecha, ale jeżeli chodzi o zarządzanie, warto pamiętać, iż w krajach azjatyckich dominuje hierarchiczne podejście, gdzie zespoły inżynierów często oczekują instrukcji z góry, nie angażując się w brainstorming ani nie zadając pytań bez wyraźnego zaproszenia. Osobiście nie jestem entuzjastą takiego podejścia, więc często muszę rozbijać te bariery i spłaszczać hierarchię.
Czasami bywa szokiem kulturowym, gdy zachęcam do prezentowania problemów i propozycji rozwiązań przez różne osoby. Po kilku tego typu sesjach i wymianie uwag na Slacku, ludzie zaczynają dostrzegać korzyści płynące z bardziej płaskiej struktury organizacyjnej, zwłaszcza jeżeli chodzi o komunikację i przepływ informacji.
Jeśli chodzi o inne aspekty, które moim zdaniem odgrywają kluczową rolę, to dyscyplina. choćby w dobrze zorganizowanym środowisku pracy trudno utrzymać wysoką dyscyplinę, co jest najważniejsze dla budowania kultury pracy i zapewnienia jakości. Często jedno niedopilnowanie testów jednostkowych w Pull Request lub wprowadzenie zmiany 'po cichu’ może znacznie zaszkodzić jakości procesu i produktu.
Kolejnym istotnym aspektem jest zaangażowanie. Gdy to możliwe, staram się wyznaczać osobę odpowiedzialną za OKR lub działanie wynikające z analizy postmortem. To nie oznacza, iż ta osoba musi wykonać wszystko samodzielnie, ale ma ona być odpowiedzialna za kolejne kroki, terminy oraz monitorowanie potencjalnych ryzyk związanych z zadaniem. Dzięki temu każdy w zespole rozumie cele, procesy i wie, iż bierność nie rozwiąże problemu.
Na koniec, powiedz proszę co dotychczas dało Tobie największy boost w karierze?
Największy postęp w mojej karierze zanotowałem, moim zdaniem, kiedy zdecydowałem się na wyjazd za granicę. Nie chcę bagatelizować możliwości, jakie oferuje Polska, ale eksperymentując za granicą, zdając się na siebie i poznając inne kultury pracy, inny sposób rozwiązywania problemów oraz zatrudniania pracowników, otworzyłem oczy na zupełnie nowe perspektywy.
Dyplom uczelni wyższej jest oczywiście cennym dokumentem w Polsce, niemal obowiązkowym w przypadku stanowisk technicznych w Tajlandii, jednak w Nowej Zelandii zderzyłem się z kulturą, gdzie ludzie z różnych ścieżek edukacyjnych, choćby absolwenci szkół muzycznych czy miłośnicy meteorologii z umiejętnościami programowania, mogą być zatrudniani w branży IT. Tutaj pasja, zaangażowanie i entuzjazm często przeważają nad samym dyplomem. To doświadczenie otworzyło mi oczy na różnorodność kwalifikacji i podejść do pracy, co okazało się niezwykle wartościowe dla mojego rozwoju zawodowego.
Michał Mikołajczyk. Head of QA w Manatal. Posiada ponad 15-letnie doświadczenie w zapewnianiu jakości systemu w różnych międzynarodowych firmach. Pracował w Niemczech, UK, Nowej Zelandii i Tajlandii, zdobywając wszechstronne doświadczenie zawodowe na przestrzeni lat. Jego ekspertyza obejmuje szeroki zakres dziedzin, a prace przyczyniły się do doskonalenia procesów QA na różnych rynkach globalnych.