Wywiady

Poprzednik zostawił w zipie spaghetti code. Historia Michała Pasierbskiego

Michał swoją przygodę z programowaniem zaczął wcześnie, od samodzielnej nauki z książki pt. „Thinking in Java”. Znalazł pracę we Wrocławiu, a później pracował zdalnie dla klienta ze Szwajcarii. Przeniósł się do tego kraju wraz z dziewczyną, a później zmienił pracodawcę. W tzw. międzyczasie otrzymał ofertę pracy m.in. od Amazona. O ścieżce kariery Michała dowiecie się więcej z poniższej rozmowy.

Spis treści

Twoje początki w nauce programowania są dość nietypowe. Po rzuceniu studiów z zoologii, a później archeologii, podjąłeś zaoczne studia informatyczne. Dlaczego i te rzuciłeś?

Już w szkole średniej bawiłem się z HTML i JavaScript, także to też nie jest tak, że byłem kompletnie zielony idąc na studia informatyczne. Zdarzyło mi się też popełnić jakieś proste strony, ale nie nazwałbym tego poważnym programowaniem. Studia informatyczne rzuciłem na drugim roku, głównie dlatego, że czułem, że uczę się przestarzałych technologii, że więcej mogę się nauczyć pracując.

Na własną rękę uczyłeś się Javy. Nie brakowało Ci kontaktu z ludźmi? Możliwości zapytania starszego kolegi/koleżanki o to, jak poradzić sobie w danej sytuacji?

Miałem jakieś tam podstawy, więc postanowiłem “zamknąć się” w domu i praktycznie wkułem “Thinking in Java”, żeby przygotować się do rozmów o pracę. Wtedy uczyłem się języka a nie programowania. Brzmi to dziwnie, ale wtedy rozmowy o pracę (przynajmniej z mojego doświadczenia) to był właściwie quiz ze specyfikacji języka.

Jak znalazłeś pierwszą pracę i czego się w niej nauczyłeś?

Ogłoszenie online. Nie miałem żadnego doświadczenia, ale “Thinking in Java” miałem w małym palcu. Nie nauczyłem się tam za dużo, pracowaliśmy na “in-house built” frameworku, HTML generowany był z XML/XSLT, od JavaScript i CSS mieliśmy jednego chłopaka i nikt inny nie mógł dotykać frontendu. Krótko mówiąc, wszystko to nad czym pracowałem nie miało przełożenia na świat zewnętrzny. Firma była nastawiona na zysk (to zrozumiałe) i nie chciała inwestować czasu czy pieniędzy w rozwój pracowników, dlatego szybko chciałem zmienić otoczenie.

W drugiej pracy poznałeś świetnych mentorów. W jaki sposób przekazywali Tobie wiedzę?

Moją drugą pracę, jako Ruby on Rails developer, dostałem trochę na kredyt. Pamiętam rozmowę z Markiem (moim szefem i mentorem), grillował mnie z Ruby, JavaScript, PostgreSQL i zagadnień okołowebowych. Nie poszło mi dobrze i dostałem odpowiedź żebym wrócił jak się trochę podszkolę (Marek jest dość bezpośrednim gościem :D).

Wróciłem więc do domu, znalazłem odpowiedzi na pytania, które mi zadał i wysłałem mu odpowiedzi tego samego dnia na maila. Miałem trochę szczęścia, że potrzebował kogoś “na teraz” a ja pokazałem, że szybko się uczę i jestem zmotywowany.

Było oczywiste, że chcę się uczyć (i mam dużo do nadrobienia), więc Marek sparował mnie z bardzo dobrym i doświadczonym Michałem. Pracowaliśmy na miejscu u klienta, który budował polski odpowiednik Groupons. Klient chciał dwóch seniorów, dostał bardzo dobrego seniora i mnie. Michał w zasadzie uczył mnie Ruby i Rails’ów na żywym organizmie, mówiąc klientowi, że to pair-programming. Poza pracą spotykaliśmy się na DRUG’ach (Dolnośląski Ruby User Group), mieliśmy cotygodniowe prezentacje i niezliczone rozmowy przy kawie/piwie. Marek i Michał mieli skrystalizowane poglądy i lubili się nimi dzielić, a ja lubiłem słuchać.

Widać zatem spory wpływ mentorów na Twoje umiejętności. Jak dalej potoczyła się Twoja ścieżka kariery?

Kiedy poczułem, że już się nie rozwijam, zdecydowałem się coś zmienić. Zacząłem interesować się bardziej JavaScript i frontendem. Miałem krótki epizod jako JavaScript developer w dużej wrocławskiej firmie – PGS Software. W tym czasie skontaktował się ze mną rekruter, szukający Ruby on Rails/JavaScript developera do małej szwajcarskiej firmy, która budowała aplikacje “Industry 4.0”. To była oferta pracy zdalnej.

Na podstawie jakich czynników podjąłeś, wraz z dziewczyną, decyzję o wyjeździe za granicę? Jakie były argumenty za, a jakie przeciw?

Tak jak wspominałem, pracowałem zdalnie. Rozwijałem się zawodowo, ale czułem, że osobiście stoję w miejscu. Oboje chcieliśmy czegoś więcej od życia. To była dość spontaniczna decyzja – wybraliśmy miejsce (Alicante w Hiszpanii), policzyliśmy czy damy radę finansowo, mieszkanie znaleźliśmy online, spakowaliśmy samochód, psa i pojechaliśmy.

Jak pracodawca wspierał Cię w relokacji?

Co zrozumiałe, do Hiszpanii przenieśliśmy się bez pomocy mojego pracodawcy, ale jak przeprowadzaliśmy się rok później do Szwajcarii to pomógł nam w znalezieniu mieszkania i załatwieniu pozwolenia.

Na czym polegała Twoja praca w Szwajcarii i ile spędzałeś w niej czasu?

Początek miałem dość niefortunny. Programista i architekt systemu, który mieliśmy razem rozwijać zwolnił się zanim zdążyłem dołączyć, także zostałem sam ze spaghetti, które po sobie zostawił (jako zip na mailu…) i deadlinem za pasem. Przez 4 lata jakie spędziłem w tej firmie byłem programistą, architektem, DevOps’em i designerem w jednym.

Moja pierwsza praca na miejscu w Szwajcarii to była kontynuacja pracy zdalnej przy budowaniu aplikacji do monitorowania linii produkcyjnych (“Industry 4.0”). Przez 4 lata jakie spędziłem w tej firmie (2 zdalnie, 2 na miejscu) byłem programistą, architektem, DevOps’em i “customer support” w jednym.

Potem dołączyłem do EF Education First w Luzern jako frontend developer. Zespół, w którym pracowałem – Central Creative Studio – to taka wewnętrzna “digital agency”. Mieliśmy sporo fajnych projektów, dużo wolności i niesamowity widok z biura.

Z EF pożegnałem się po około roku, trochę z nudów, trochę z braku perspektyw na rozwój. Pojawiła się ciekawa oferta z Zurychu, żeby przejąć zespół frontendowy w firmie zajmującej się “research and development” dla spółki-matki z branży samochodowej.

Po roku EF skontaktowało się ze mną z ofertą dołączenia do nowo formowanego zespołu jako lead developer. Zespół miał za zadanie zastąpić przestarzały system, nowym opartym o chmurę.


Czego nauczyłeś się podczas budowania aplikacji do monitorowania linii produkcyjnych?

Jako że pracowałem sam nad tą aplikacją to musiałem szybko nauczyć się całego cyklu życia aplikacji. Najwięcej mi brakowało wiedzy i doświadczenia z DevOps i w tej dziedzinie nauczyłem się chyba najwięcej. Aplikacja zbierała dane z maszyn pracujących w fabryce co minutę, także musiałem też szybko nauczyć się optymalizacji danych i zapytań do SQL.

Mój szef zabierał mnie na wszystkie rozmowy z klientami, które były już na bardziej technicznym poziomie. Miałem okazję zwiedzić trochę świata, ale też uczyć się jak rozmawiać z klientami. Szybko zyskałem jego zaufanie i pozwalał mi na dużo. Na spotkaniach pozwalał mi przejmować inicjatywę (w kwestiach technicznych) i popełniać głupie błędy, które później mi wytykał i tłumaczył z uśmiechem na twarzy przy piwie.

Po czterech latach ciężkiej pracy po raz pierwszy poczułeś wypalenie zawodowe. Powiedziałeś o tym komuś w firmie?

Tak naprawdę nie zdawałem sobie sprawy, że jestem wypalony do momentu, kiedy odszedłem. Dopiero jak urodził się mój syn zacząłem zauważać, że zabieram dużo pracy do domu, że jak jak jedziemy do Polski to zabieram laptopa i pracuje. Zrozumiałem także, że nie byłem na prawdziwych wakacjach od paru lat i że przestałem się cieszyć pracą, co do tej pory mi się nie zdarzało.

Jedynym sposobem na poradzenie sobie z wypaleniem była w Twoim przypadku zmiana pracy?

Zdecydowanie tak. Nie miałem ochoty patrzeć już na kod aplikacji, którą sam napisałem. Na samą myśl o telekonferencji z partnerem biznesowym, z którym blisko współpracowaliśmy podnosiło mi się ciśnienie. Potrafiłem nie sprawdzać maila przez parę dni, bo wiedziałem, że znajdę tam coś co mnie zirytuje. Potrzebowałem zupełnie nowego otoczenia.

Gdzie znalazłeś pracę i dlaczego wybrałeś właśnie tę, a nie inną firmę?

W Szwajcarii przez 5 lat zmieniałem pracę 3 razy. Trochę wynikło to z tego, że staram się przechodzić przez techniczną część rozmów rekrutacyjnych przynajmniej dwa razy do roku, żeby nie wypaść z wprawy. I tak pojawiały się lepsze finansowo oferty, większa odpowiedzialność, ciekawsze projekty. W tzw. międzyczasie skontaktował się ze mną rekruter z Amazon w Dublinie, było to dla mnie zaskakujące, że taka firma mogłaby być mną zainteresowana.

Udało mi się przejść cały proces rekrutacyjny i dostałem ofertę. Moja żona nie była jednak przekonana do wyjazdu z małym dzieckiem jeszcze dalej od dziadków niż już byliśmy i nie przyjąłem tej oferty. Koniec końców wylądowałem w EF Education First (najpierw w Luzern, potem w Zurychu), gdzie miałem bardzo dobre warunki, dużo samodzielności w decyzjach, własny zespół i duży wpływ na kierunek rozwoju.

Brzmi jak praca marzeń – mimo zatrudnienia, nadal szukałeś ciekawych ofert. Dlaczego?

Trochę nie mogłem odżałować tego Amazona. Po tamtej rozmowie próbowałem się jeszcze dostać do Google w Zurychu, wysyłałem aplikacje do Microsoft, miałem też rozmowy z Elasticsearch. Praca w “FAANG” (Facebook, Apple, Amazon, Netflix, Google) stała się dla mnie celem, dzięki któremu miałem motywację do dalszej nauki. W lutym tego roku Amazon się znowu do mnie odezwał, tym razem z ofertą pracy w Berlinie i tym razem po pomyślnym procesie rekrutacji przyjąłem ofertę, od sierpnia zaczynam jak Software Engineer (backend).

Moja żona jest zadowolona, bo będzie bliżej rodziny, a synek będzie mógł częściej odwiedzać dziadków.

Muszę tu dodać, że pomoc przy relokacji jaką oferuje Amazon jest niesamowita. Począwszy od firmy przeprowadzkowej, tymczasowego zakwaterowania, pomocy przy podatkach w kraju, z którego się przeprowadzasz, i w kraju do którego się przeprowadzasz, opłaty za mieszkanie, które zostawiasz, pomoc w znalezieniu mieszkania, szkoły dla dzieci, do pieniędzy na niespodziewane wydatki.

To rzeczywiście spore wsparcie. To chyba jedna z przewag w pracy w dużej, a w małej firmie?

Zdecydowanie tak. Możesz sobie wyobrazić jak skomplikowaną i pracochłonną operacją jest przeniesienie całej rodziny do innego kraju. Gdyby nie pakiet relokacyjny jaki oferuje Amazon, ciężko byłoby nam się zdecydować na przeprowadzkę.

W jakim miejscu swojej kariery jesteś dzisiaj?

Ciężko powiedzieć w jakim miejscu jestem. Wszystkie cele, które sobie postawiłem do tej pory udało mi się zrealizować, także zawodowo czuję się spełniony. Muszę przyznać, że jest to dla mnie dość niekomfortowe uczucie, przyzwyczaiłem się do gonienia za czymś, także jestem pewien, że coś sobie wkrótce znajdę do dążenia.

Co byś w zmienił w swojej ścieżce? Co pomogłoby szybciej dotrzeć do miejsca/etapu, w którym dzisiaj jesteś?

Parę lat temu odpowiedziałbym, że to wszystko za mało, za późno, że mając 30 lat musisz już mieć 7 lat doświadczenia w największych firmach na świecie. Dziś mogę powiedzieć, że jestem zadowolony z miejsca, w którym jestem. Miałem okazję pracować z ludźmi z całego świata, dzięki pracy zwiedziłem wiele miejsc, jak Rio de Janeiro, Helsinki, Barcelona, Las Vegas, Kiev, Ankara i wiele innych. Miałem okazję pracować nad mini projektami, które wylądowały w koszu, jak i nad takimi które obsługują dziesiątki milionów requestów dziennie.

Może to czas na swój produkt/startup? Jakie ma perspektywy programista z Twoim doświadczeniem?

Heh, jak tylko wpadnę na swój “million dollar idea” to na pewno spróbuję, póki co zostawiam biznes ludziom, którzy się na tym znają.

Na koniec, myślisz, że w kraju rozwinąłbyś swoje umiejętności równie szybko?

Myślę, że wyjazd za granicę dał mi więcej motywacji do pracy i pewność siebie. W Polsce czułem, że jestem w “comfort zone” i ciężko mi będzie w pełni się rozwinąć. Taki wyjazd za granicę to jest jednak wyzwanie – jesteś sam, jak ci się powinie noga to nie możesz wrócić do mamusi, musisz się szybko nauczyć języka, żeby załatwić najprostsze sprawy w urzędzie, wyjście do restauracji potrafi być stresujące jeżeli kelner nie mówi po angielsku. Po pewnym czasie te wszystkie stresujące stają się normą i czujesz, że czegoś się nauczyłeś. Życie smakuje lepiej jak musisz na nie zapracować.


Michał Pasierbski. Sofware engineer/architect w EF Education First. Jego zainteresowanie „programowaniem” zaczęło się gdzieś w liceum, gdzie razem z kolegą bawił się HTML-em, co skończyło się prowadzeniem zajęć dla koleżanek i kolegów z HTML’a. Studiował zoologię, archeologię, które rzucił dla studiów informatycznych. Z nich także zrezygnował. Dziś mieszka i pracuje w Szwajcarii.

Redaktor naczelny w Just Geek IT

Od pięciu lat rozwija jeden z największych polskich portali contentowych dot. branży IT. Jest autorem formatu devdebat, w którym zderza opinie kilku ekspertów na temat wybranego zagadnienia. Od 10 lat pracuje zdalnie.

Podobne artykuły

[wpdevart_facebook_comment curent_url="https://geek.justjoin.it/spaghetti-code/" order_type="social" width="100%" count_of_comments="8" ]