Częsta zmiana pracy rozwija programistę. Historia Sławomira Mazgaja
Czy siedem i pół roku w jednej firmie to dla programisty za długo? – To nie koniec świata, ale z perspektywy czasu myślę, że częstsza zmiana wyszła by mi na dobre – powiedział nam w rozmowie Sławek Mazgaj, Frontend Developer w Yoti Ltd., który od ponad ośmiu lat mieszka i pracuje w Londynie. Poznajcie jego ścieżkę kariery.
Spis treści
W podstawówce zapisałeś się na kurs komputerowy w Młodzieżowym Domu Kultury. Jak przebiegały zajęcia?
Hah, to było jakieś ćwierć wieku temu, więc dokładnie nie pamiętam. Na początku napisano na tablicy, co właściwie będziemy robić i wtedy albo rozmawialiśmy jak zacząć daną część, albo był też napisany fragment kodu, od którego można zacząć i trzeba było kombinować jak go jakoś ulepszyć.
Kto i za pomocą jakich materiałów pomocniczych przekazywał Tobie wiedzę na temat GW-BASIC i TurboPascala?
Jeśli dobrze pamiętam, to nasz nauczyciel zwał się Piotr Płaneta. Na pewno miał jakąś książkę, bo pamiętam, że korzystał z listy wszystkich znaków ASCII razem z kodami. Pamiętam też, że używał rzutnika z foliami, na których były schematy blokowe.
Opowiedz o pierwszej grze, którą stworzyłeś.
Labirynt. Ekrany wyświetlały wtedy 80×60 znaków i w kodzie mieliśmy osobną zmienną na każdy wiersz ekranu. Zmienna to była tablica z kodami ASCII dla każdego wiersza i z palca trzeba było wpisywać, w którym miejscu ma coś być a gdzie nie. Oprócz tego była taka mordka poruszająca się po tym labiryncie. Teraz wydaje się to mega prostackie, ale wtedy to była magia. No i fakt, że definiujesz jakieś reguły, które później mają odzwierciedlenie.
Czego nauczyło Cię to doświadczenie?
Że gry to jednak przede wszystkim kreatywność. Wszyscy początek mieliśmy jednakowy (mordka chodząca po ekranie i tablice z kodami), ale jak każdy dostał później trochę czasu żeby samemu grę rozwinąć, to okazało się, że efekt końcowy jest różny i prawie każdy skupił się na innych aspektach. Niektórzy robili bardzo skomplikowane labirynty, tak że ciężko było znaleźć wyjście, niektórzy dodawali jakieś kolorki czy elementy UI, a ja dodawałem ukryte przejścia, teleporty, klucze do otwierania drzwi, itp.
Dlaczego zdecydowałeś się na studia informatyczne na Politechnice Szczecińskiej?
Z dwóch powodów. Pierwszy to specjalizacja z grafiki i multimediów, która wydawała się bardzo ciekawa, a drugi to chciałem wyjechać z dala od domu, żeby mieć święty spokój. (To się jak najbardziej udało, dalej to chyba tylko Świnoujscie było albo gdzieś za granicą).
Czego nauczyłeś się podczas studiów? Poszedłbyś na nie jeszcze raz?
Na studiach z jednej strony było sporo przestarzałego materiału i jakieś abstrakcyjne wzorce, czy postacie normalne baz danych, których nie spotyka się w prawdziwym życiu. Z drugiej strony było trochę rzeczy, które później się przydały, jak np. struktury danych (i ich implementacja w C), algorytmy sortowania, filtry do obrazów… Co do tego, czy poszedłbym jeszcze raz, ciężko powiedzieć. Znam sporo świetnych deweloperów, którzy nigdy na uczelni nie byli, więc na pewno nie jest to niezbędny krok.
Poza tym jak dotąd przy szukaniu pracy nikt nigdy nie pytał mnie czy skończyłem jakąś uczelnię, tylko zawsze przy jakich projektach pracowałem poprzednio. Myślę, że największym plusem pójścia na studia było poznanie całej masy świetnych osób. Dlatego uważam, że mimo wszystko warto było pójść na nie.
Jak znalazłeś pierwszą pracę?
Na uczelni była tablica z ogłoszeniami i wisiała na niej karteczka z Game Factory. Okazało się, że od nas z roku ktoś tam już zaaplikował i mówił, że jest całkiem ok, więc z nadejściem wakacji chciałem również spróbować. I faktycznie, przyszedłem w wakacje, rozmowa rekrutacyjna poszła całkiem OK, na koniec szef powiedział: “Pan pewnie i tak tylko przyszedł odbębnić obowiązkowe praktyki?”. Na co ja “obowiązkowe praktyki mieliśmy w zeszłe wakacje.” I powitali mnie na pokładzie.
Pamiętasz pierwszy projekt, nad którym pracowałeś?
“Dress-up”. Pamiętam dobrze, bo kilka moich pierwszych projektów to były właśnie dress upy. Bardzo proste gierki, gdzie wyklikiwało się postacie a później drag n’ dropem wybierało się im ciuszki. Niby nic wielkiego, ale pamiętam, że dopiero wtedy “kliknęło mi” jak działa OOP. Że nie tylko growe obiekty są obiektami, ale dosłownie wszystko może być obiektem.
W jaki sposób dbano o to, abyś rozwijał się w tej firmie?
Firma miała dużo małych projektów (takich których zrobienie zajmowało kilka tyg. max miesiąc), przy których zwykle wystarczał tylko jeden developer. Projekty te były za to bardzo różne, od prostych dress-upów, przez zręcznościówki, platformówki, karcianki, bilard, puzzle bobble, po bardziej skomplikowane z rzutem izometrycznym i wykrywaniem ścieżek. Już sam ten fakt sprawiał, że co chwile były nowe wyzwania. Poza tym firma wysłała nas na konferencje (np. Flash on the Beach).
W Game Factory nauczyłeś się tworzenia gier na facebooka. Jakimi radami z tej dziedziny mógłbyś się podzielić?
Fail Fast, Fail Often. Zamiast czekać wieki i wypuścić grę dopiero jak będzie perfect, warto wypuścić wczesną wersję (nawet jako beta) i patrzeć co się sprawdza, a co nie (np. przez A/B testy) i ciągle ulepszać. Co prawda boom na facebookowie gierki już chyba minął, ale myślę, że to samo doskonale sprawdza się w startupach.
Opowiedz o wyjeździe do Londynu. Pracy szukałeś jeszcze przed wyjazdem?
Tak. W tym czasie dużo firm próbowało wejść z grami na FB, więc było sporo ofert. Przypadkiem też dowiedziałem się, że kolega, który wcześniej pracował w Game Factory też właśnie niedawno przeprowadził się do Lądka i jego firma szukała ludzi. Porozsyłałem CV, miałem kilka rozmów przez Skype, później zaprosili na rozmowę do biura i dostałem ofertę. Sam wyjazd w sumie bez szału. W pracy dam znać miesiąc wcześniej, że wyjeżdżam i gdy nadszedł dzień spakowałem tylko mały plecak i w drogę.
Dziś pracujesz na kontrakcie czy odpowiedniku umowy o pracę – skąd ten wybór?
Na tą chwilę pracuje na odpowiedniku umowy o pracę. Głównym powodem jest to, że można łatwiej kredyt dostać. Druga sprawa – jakieś zmiany miały wchodzić odnośnie rozliczania podatku dla kontraktorów.
Ile kosztuje życie w Londynie? Co różni tamtejszą kulturę pracy, podejście do życia od tego znanego z Polski?
Z niezbędnych rzeczy: można wynajmować pokój za £400 na miesiąc i dzielić mieszkanie/dom z innymi, a można samemu wynajmować mieszkanie za £1000, £1500 (zależy w jakiej dzielnicy, jak daleko od centrum, komunikacji miejskiej). Do poruszania się po mieście można kupić travel kartę ~£160/msc (zależy między którymi strefami), a można jeździć rowerem. No i jedzenie. Można codziennie chodzić gdzieś na lunche £5-10, a można samemu gotować w domu i wtedy wychodzi taniej. Poza tym to już zależy kto co lubi, częste wycieczki do pubu, siłownie, koncerty, inne hobby.
Co do kultury pracy, to też zależy od tego, gdzie się pracuje. Jeśli w sektorze związanym z bankowością, to można oczekiwać, że będą chcieli żeby do pracy przychodzić w gajerkach. Spotkałem się też z firmami, które mają “flexible working hours”, co w praktyce sprowadzało się do tego, że można zacząć miedzy 9 a 9:30. Dodatkowo ludzie w pracy będą z każdego zakątka świata i może się okazać, że w twoim zespole nie ma ani jednego Anglika. Tak czy siak, z dotychczasowych doświadczeń wynika, że w każdej pracy, każdego dnia można znaleźć kogoś, kto będzie chciał wybrać się z Tobą do pubu.
Jak w Londynie podchodzi się do pracy zdalnej?
To dużo zależy od firmy. Do tej pory większość wolała mieć jednak ludzi u siebie, czasami pozwalając na dzień czy dwa pracy z domu. Po pandemii sporo się zmieniło, bo firmy zmuszone były wysłać ludzi do domu i jak się okazało, że ludzie nadal pracują, to teraz pytanie czemu wszyscy musieliby wracać, skoro jakoś się przez ten czas dawało radę.
Jak firma, w której pracujesz zareagowała na pandemię koronawirusa?
Na początku trochę zwlekali (jak może wiesz, całe UK niezbyt szybko zareagowało), później powiedzieli, że kto chce może pracować z domu, a jeszcze później już wszystkich wysłali do pracy z domu.
Pandemia dotknęła branżę, w której pracujesz? Były zwolnienia, mieliście mniej projektów?
Trochę tak, w firmie przez pandemię zwolnili jakieś 10 osób, ale samych “nietechnicznych”. Niektóre projekty, jak np. pilot szacowania wieku przy kasach samoobsługowych, całkiem stanęły, a niektóre dostały nieoczekiwanie znacznie większe zainteresowanie. Mój aktualny zespół pracuje przy platformie do elektronicznego podpisywania dokumentów, więc widzieliśmy zwiększone zainteresowanie.
Co Twoim zdaniem przyniosło Tobie największy boost w karierze?
Praca z ludźmi bardziej ogarniętymi ode mnie. Do tej pory miałem szczęście do ludzi w pracy. Zawsze nieopodal siedział ktoś, kto był zafascynowany jakaś technologią albo robił jakieś nietypowe rzeczy i chętnie dzielił się wiedzą. Dobry mentor, lub osoba która rozumie temat i może go prosto wytłumaczyć jest na wagę złota.
Bez bardziej doświadczonych kolegów w firmie trudno byłoby rozwinąć Twoje umiejętności?
Pewnie nie, ale na pewno trwało by to dużo dłużej. Jestem uparty, więc w domu nie raz siedziałem do nocy, bo jeszcze coś chciałem skończyć. Często wydawało mi się, że jestem na ogródku, już witam się z gąską, a tu jeszcze coś nie działa. To oczywiście też rozwija, ale trwa znacznie dłużej, a bardziej doświadczeni koledzy mogli już kiedyś poświęcić na to sporo czasu, dlatego zadając pytania można zaoszczędzić sporo czasu. Oczywiście nie mówię tu, żeby pytać o każdą pierdołę, ale są takie momenty, że nic nie działa i myślisz sobie WTF?!?!
Zmieniłbyś coś w swojej ścieżce kariery?
Częściej zmieniałbym pracę. Po przyjeździe do Lądka trochę zasiedziałem się w jednej firmie (jakieś 7,5 roku). To nie koniec świata, ale z perspektywy czasu myślę, że częstsza zmiana wyszła by mi na dobre.
Co planujesz pod kątem kariery w ciągu najbliższych lat?
W sumie to niedawno “przebranżowiłem się” z robienia gier na frontend deva i robię Reacta, więc pewnie jakiś czas jeszcze tu się pobawię + zacząłem trochę backendu żeby być samowystarczalny. Zawsze chciałem zrobić coś mobilnie, ale mega długie czasy kompilacji odstraszały. A może wrócę do gier, bo to jednak mega frajda była. Zobaczymy.
Sławomir Mazgaj. Frontend Developer w Yoti Ltd. Miłośnik gier i developer. Ciekawy świata i nowych technologii. Nie jest fan-boyem jednego systemu operacyjnego ani języka. Aktualnie mieszka w Londynie. W wolnych chwilach turla się (BJJ).