Portugalczycy są bardzo pracowici, ale cieszą się życiem. Historia Marty Gajowczyk
Marta pół roku spędziła nad platformami Climate Watch, których zadaniem jest pokazanie w jaki sposób kraje realizują postanowienia porozumienia paryskiego na temat zmian klimatycznych. W zeszłym tygodniu jedna z platform, nad którą pracowała — southafricaclimateexplorer.org, była prezentowana na szczycie klimatycznym w Katowicach. Z rozmowy dowiecie się, jak wyglądała droga Marty do zostania frontendowcem i znalezienia pracy w Portugalii.
Spis treści
Zanim przejdziemy do tego, jak trafiłaś z Wrocławia do Porto, opowiedz o tym, jak zainteresowałaś się frontendem.
Na studiach frontend dla mnie nie istniał. Mieliśmy zajęcia z Javy, C++, Ocamla, w których frontendu praktycznie nie było. Jakakolwiek prezentacja danych lub interakcja z użytkownikiem była wykonywana za pomocą metody System.out.println (nie wierzę, że to jeszcze pamiętam!). Pierwsze GUI, jakie robiliśmy na studiach to była Java + AWT API, które wydawało mi się kompletnie nieatrakcyjne. Przez pierwsze 1,5 roku studiów informatycznych nie mogłam znaleźć dla siebie miejsca. Na czwartym semestrze zainteresowałam się frameworkiem Ruby on Rails, o którym powiedział mi kolega. Mówił: w Rubym wszystko jest obiektem, nawet liczby, a ja myślałam, o rany, nawet liczby są obiektem. Najpierw zaczęłam uczyć się sama z książek z serii Head First i stronki railscasts.com. To była dla mnie eureka; zakochałam się w Rubym i we wzorcu MVC.
Szybko jednak okazało się, że żeby zrobić coś bardziej skomplikowanego na frontendzie, railsowe widoki nie wystarczą. W tym czasie chyba jeszcze nie znałam koncepcji frontendowego frameworka, dopiero na moim pierwszym stażu poznałam Angulara 1.
Dlaczego frontend a nie backend?
Z tym wiąże się ciekawa historia. Frontend zawsze mi się podobał, ale ja zawsze czułam się bardziej backendowcem. Teraz już sama nie wiem, w czym się lepiej czuję! W każdym razie do mojej pierwszej poważnej pracy, czyli do firmy Monterail, zarekrutowałam na stanowisko frontendowca tylko dlatego, że nie było otwartej rekrutacji na backendowca. Wtedy było mi wszystko jedno, jakie to będzie stanowisko, po prostu bardzo chciałam tam pracować.
Monterail znałam jeszcze z Politechniki Wrocławskiej, gdzie prowadzili kółko informatyczne o aplikacjach webowych; przyciągnęło mnie do nich oczywiście środowisko Rails (wtedy to chyba była jedna albo jedna z niewielu firm we Wrocławiu, które programowały w Railsach), ale także kultura firmy. Przyjęli mnie i moje oficjalne stanowisko pracy brzmiało „Programista Frontend”, ale już po kilku miesiącach, programowałam także na backendzie. W końcu stałam się fullstackiem.
Śmieję się, że za każdym razem idę na frontendowca, ale kończę na backendzie; w mojej obecnej firmie też tak się stało. Na kilka tygodni przeszłam na backend, ponieważ frontend nie mógł się ruszyć bez backendu. Takim jestem sobie sterem, żaglem i okrętem, brakuje jeszcze tylko żebym wyszkoliła się w designie. Co właściwie nie jest żartem, bo myślę o tym, żeby w przyszłym roku iść na studia zaoczne z Web Design.
Wspomniałaś o studiach. Wielu narzeka na przestarzały program na uczelniach. Jak było w przypadku Politechniki Wrocławskiej?
Według mnie to niestety prawda. Są wyjątki, czyli profesorowie, którzy się starają i co roku modyfikują program nauczania, slajdy i dają z siebie więcej, niż inni, ale jest ich znakomita mniejszość. Mówiąc zupełnie bez ogródek, mało wyniosłam ze studiów. Brakuje praktycznej wiedzy, projektów w grupach, których chyba był tylko jeden, ale akurat na trzecim roku, który spędziłam na Erasmusie. Godzin laboratoryjnych było zadziwiająco mało. Dla porównania; 1,5 godziny co dwa tygodnie z jednego przedmiotu, podczas gdy we Francji mieliśmy 3 do 4 godzin tygodniowo.
Absurdalne też było dla mnie, że na laboratoriach nie można było się konsultować; promowało się pracę samodzielną i dostawało się po przysłowiowych łapach, kiedy się dyskutowało z kolegą obok. A wszyscy wiemy, że kiedy tylko wchodzimy na rynek pracy, praca w grupie to podstawa podstaw. Można mieć mniej doświadczenia, mniejszą wiedzę, ale jeżeli nie potrafimy pracować razem, to mało która firma będzie nas chciała zatrudnić. Efekt jest taki, że to firmy i panująca w nich kultura muszą nas nauczyć, że to nic złego się o coś zapytać albo uskutecznić pair-programming.
Pamiętam, jak na samym początku w mojej pierwszej pracy musiałam się niejako od nowa nauczyć przyznawania do błędów i pytania się — było mi strasznie głupio, że czegoś nie wiedziałam. I poniekąd winię za to właśnie system edukacji.
W czasie studiów dołączyłaś do programu ERASMUS, w trakcie którego wyjechałaś na roczne studia do Paryża. Program nauczania dot. programowania różnił się od tego w Polsce?
Tak! Jak już wcześniej wspomniałam, mieliśmy dwa razy więcej laboratoriów niż na Politechnice Wrocławskiej. Dłużej też się przebywało na uczelni; na Politechnice na czwartym semestrze byłam w stanie pogodzić ze sobą studia i staż na pół etatu, a do tego intensywną naukę francuskiego. W Paryżu zajęcia zazwyczaj trwały od 9 do 17, więc nie było mowy o jakiejkolwiek pracy. Promowało się pracę w grupach, na zajęciach, nauczyciel w tym czasie przechadzał się i pomagał lub wyjaśniał materiał, kiedy zachodziła taka potrzeba. Prawie z każdego przedmiotu mieliśmy też projekt semestralny, który realizowaliśmy również w grupach. To był stresujący rok dla mnie, głównie ze względu na nawał pracy i obcy język, z którym dopiero się oswajałam, ale dużo się wtedy nauczyłam.
W Marsylii odbyłaś pięciomiesięczny staż. Jak dowiedziałaś się, że nabór jest jeszcze otwarty, jak przebiegał proces rekrutacji?
Staż był częścią mojego programu studiów, musiałam go odbyć, żeby zdobyć 5 ECTS i zaliczyć przedmiot. Na szczęście miałam wolną rękę, gdzie go odbędę. Kiedy w maju zdałam egzaminy i skończyły się zajęcia (we Francji rok akademicki zaczyna się wcześniej, bo już pod koniec sierpnia), miałam do wyboru powrót do Polski lub odbycie stażu we Francji. Ze względu na to, że większość przyjaciół, jakich poznałam podczas Erasmusa wracało już do swoich krajów, nie chciałam zostać sama w Paryżu, bo wydawało mi się to przygnębiające. Zaczęłam więc rozsyłać CV i listy motywacyjne po całej Francji; najwięcej wysłałam do Bordeaux i do Marsylii. Odezwali się z Marsylii i zbiegło się to z tym, że mój znajomy się tam przeprowadził, wiedziałam więc, że będę miała tam choć jedną znajomą twarz.
Odezwała się do mnie firma Watchever; pierwszą rozmowę odbyliśmy na skypie, ja i CTO. Głównie CTO opowiadał o tym, czym się zajmują i jaka byłaby moja rola na stażu. Dowiedziałam się, że miałabym napisać Slackbota, który zbierałby informacje z ichniejszego bug trackera i wysyłał szczegóły na Slacka. Do tego przyjazny, zrozumiały interfejs na Slacku. Wykorzystywane technologie obejmowałyby NodeJS, PHP, Socket.io. Brzmiało ciekawie, więc zgodziłam się na drugą rozmowę, która już odbywała się w Marsylii i na tej drugiej rozmowie podpisałam umowę. Proces rekrutacyjny był więc relatywnie łatwy, nie pamiętam, żebym musiała odpowiadać na jakiekolwiek techniczne pytania. Aż sama byłam zdziwiona, że przyjmują studentkę z Polski ot tak, prawie nic o niej nie wiedząc.
Czego nauczyłaś się podczas stażu?
Ten staż to był dla mnie przełomowy moment, bo nauczyłam się Javascriptu! A właściwie liznęłam góry lodowej. Pamiętam, że wykorzystywałam Promise’y, po raz pierwszy chyba świadomie użyłam javascriptowej biblioteki; lodasha, starałam się pisać w sposób funkcyjny, używając takich funkcji jak map, filter, reduce… Miałam fioła na punkcie refactorowania kodu, mniej więcej w tym czasie zaczęłam czytać o wzorcach projektowych i architektonicznych. Podobało mi się, że piszę w Node.js i mogę wymyślić swoją strukturę folderów, które będą miały sens. Na tym stażu też napisałam swoje pierwsze frontendowe testy. Przede wszystkim jednak, nauczyłam się planowania kodu i jakiejś takiej developerskiej wyobraźni; gdzie co włożyć, w jaki folder, jak backend komunikuje się z frontendem (bez magicznej Railsowej otoczki), co się nadaje do bazy, jak podzielić odpowiedzialności między frontendem a backendem.
W jaki sposób podnosiłaś swoje umiejętności?
Zawsze uważałam, że bezmyślne robienie tutoriali z internetu dużo cię nie nauczy. Wolałam wymyślić sobie realny problem, coś co dotyczyło mnie, co mnie interesowało i to napisać. Tak więc się uczyłam; wymyślałam sobie małe aplikacje, po czym je pisałam. Po drodze natykałam się na mnóstwo trudności, które musiałam rozwiązać, szukając odpowiedzi na stackoverflow albo na github issues. Do tego czytałam artykuły, żeby zrozumieć problem. To daje o wiele więcej, niż robienie kolejnych kursów na Udemy czy robienie kolejnej Todo aplikacji. Chociaż, nie powiem, Todo aplikacja ma wiele use-case’ów, więc początkujący powinni chociaż jedną napisać.
Później wróciłaś do Wrocławia. Czego podczas roku pracy w Monterail nauczyłaś się?
Chciałabym powiedzieć — wszystkiego! — ale chyba coś tam już wcześniej potrafiłam. W Monterail na pewno stałam się pewną siebie, odpowiedzialną programistką. Pracowałam ze świetnymi, utalentowanymi ludźmi, którym zawdzięczam dojrzałość programistyczną. W Monterail po raz pierwszy zetknęłam się z praktyką code review, a także peer review, czyli regularny feedback zbierany od wszystkich członków zespołu. Nauczyłam się pracy w scrumie, kanbanie i kanbano-scrumie. W Monterail głównie pracowałam w technologiach Ember i Rails, ale także w Vue i w Node.js. Po niecałym roku zostałam tech-leadem i to właśnie wtedy najwięcej się nauczyłam. Musiałam poznać całą aplikację od podszewki, od rozwiązań frontendowych, przez backend po deployment. Na porządku dziennym rozmawiałam z klientem i razem z PM-em podejmowaliśmy najrozmaitsze decyzje. Wprowadzałam nowych członków do projektu. Tak, to z pewnością było ogromne wyzwanie, ale dzięki niemu wyszłam ze swojej strefy komfortu i nauczyłam się o wiele więcej, niż tylko programowania.
Od lipca 2018 roku pracujesz w firmie z siedzibą w Porto. Opowiedz o procesie rekrutacyjnym.
Proces był podzielony na trzy etapy. Pierwsza rozmowa była rozmową na rozgrzewkę, rozmawialiśmy o firmie, o moim backgroundzie, opowiadałam o tym, czym zajmowałam się w Monterail, czym miałabym się zajmować w Vizzuality. Czyli docieraliśmy się wzajemnie. Następnym etapem był frontendowy code challenge i lista wymogów; należało użyć state managementu, rozwiązania css-in-js, grida i innych, o których już nie pamiętam. Kolejny i ostatni etap to była rozmowa o podjętych rozwiązaniach w code challenge, pytania techniczne oraz wywiad z umiejętności miękkich, np. pytano mnie w jaki sposób rozwiązuję konflikty w zespole, gdzie się widzę za pięć lat i tym podobne. Cały proces rekrutacyjny wspominam bardzo dobrze, ale trzeba przyznać, że trochę czasu zajął, bo chyba aż półtora miesiąca.
Zaproponowano Tobie pakiet relokacyjny? Co się na niego składało?
Tak, dostałam pakiet relokacyjny w postaci kwoty 500 euro przez okres 6 miesięcy.
Czym zajmujesz się w Vizzuality?
Głównie pracuję na frontendzie, ale zdarza się, że także wskakuję na backend. W Vizzuality cenimy sobie fullstacków! Praca w Vizzuality niesamowicie mi się podoba; po raz pierwszy bezpośrednio pracuję z wizualizacją danych, najczęściej w postaci map i różnego rodzaju wykresów. Ostatnie pół roku pracuję nad platformami Climate Watch, których zadaniem jest pokazanie w jaki sposób kraje realizują postanowienia porozumienia paryskiego na temat zmian klimatycznych, a także przewidywane emisje gazów cieplarnianych w kolejnych latach. W zeszłym tygodniu jedna z platform (dostępna pod adresem http://southafricaclimateexplorer.org/), nad którymi pracuję była prezentowana na szczycie klimatycznym w Katowicach! To naprawdę wielka satysfakcja, jak aplikacja, nad którą pracujesz, ma realne zastosowanie.
W obecnej firmie od razu zostałaś wrzucona na głęboką wodę?
Hmm, myślę że tak. Nie zaczęłam od naprawiania bugów dla wprowadzenia, od razu zajęłam się tworzeniem tzw. showcase’u reużywalnych komponentów dla platform Climate Watch’a; kiedy dołączyłam była tylko jedna, globalna platforma (Climate Watch Flagships Programme), teraz są już cztery; doszła South Africa, Indonesia i India, platformy-satelity tej globalnej. W tych platformach wiele komponentów powtarza się, trzeba było więc wymyślić w jaki sposób wykorzystać napisane już komponenty na globalnej platformie unikając metody kopiuj-wklej i pozwalając na ich modyfikację/poszerzanie z zewnątrz. To było moje pierwsze zadanie.
Jakie jest ogólne nastawienie do życia młodych Portugalczyków? Widać wyścig szczurów, czy współpracę, zaangażowanie?
Wyścig szczurów? Nie wiem jak w stolicy, ale na pewno nie w Porto. Portugalczycy są bardzo pracowici, ale jednocześnie zrelaksowani, cieszą się życiem. Nie są wiecznie zabiegani, potrafią przystanąć i zastanowić się na chwilę. Masz problem? Wyjdźmy na kawę, opowiesz mi o nim. Wydaje mi się, że miejsce zamieszkania ma ogromny wpływ na człowieka; nie bez powodu mówi się, że ludzie z południa są bardziej otwarci i cieplejsi. A tam, gdzie człowiek ogólnie lepiej się czuje, tam i praca dostarcza większej przyjemności.
Możesz powiedzieć, na jakie wynagrodzenie może liczyć osoba z Twoim doświadczeniem? Tak, żeby inni dowiedzieli się, ile mogliby zarobić podejmując decyzję o wyjeździe.
Wbrew pozorom zarobki w Portugalii są podobne do tych w Polsce, jednak trzeba pamiętać, że koszty życia i utrzymania są nieco wyższe, o około 10-20%. Z tego, co wiem, osoba o podobnym, 2-3 letnim doświadczeniu, co ja, może liczyć na wynagrodzenie brutto średnio do 35 tysięcy euro rocznie.
Jak z perspektywy czasu oceniasz swoją decyzję o wyjeździe z kraju?
Mnie zawsze ciągnęło za granicę! Lubię poznawać nowe miejsca od kuchni, to coś innego niż podróżowanie, wolę się gdzieś przeprowadzić, przesiąknąć kulturą miejsca, poznać lokalną społeczność, język. W Portugalii już czuję się jak w domu. I prywatnie, i profesjonalnie, to była świetna decyzja.
Marta Gajowczyk. Front-end Engineer w Vizzuality. Programistka frontendu romansująca z backendem. Podróże łączy z karierą zawodową. Stara się wywrzeć pozytywny wpływ na świat, pracując dla Vizzuality, gdzie zajmuje się przekształcaniem surowych danych na temat zmian klimatycznych w przemawiające do ludzi wizualizacje i interaktywne mapy. W wolnym czasie pochłania literaturę piękną, słucha muzyki elektronicznej i ogląda thrillery psychologiczne.
Zdjęcie główne artykułu pochodzi z pexels.com.