W Nowej Zelandii rozwiązania Microsoftu są popularne. Historia Tomka Kolasy
Tomek Kolasa jeszcze na studiach był członkiem JavaTech Research Group, by nabyć pierwsze doświadczenia projektowe. Pomogły one później w znalezieniu pierwszej pracy. Na stypendium doktoranckie pojechał do Nowej Zelandii, by później znaleźć pracę na stanowisku Java Developera. Dziś mieszka w Tokio i zdalnie pracuje dla firmy z Nowej Zelandii. Zobaczcie, jak krok po kroku wygląda ścieżka kariery Tomka, którego zaprosiliśmy do wywiadu.
Spis treści
Prześledźmy Twoją ścieżkę kariery web developera. Od 2008 roku przez dwa lata byłeś członkiem JavaTech Research Group. Czym zajmowała się ta grupa?
Koło naukowe JavaTech zrzeszało grupę studentów, która pod okiem doświadczonego mentora i wykładowcy na Politechnice Wrocławskiej zajmowała się tworzeniem oprogramowania oraz zagadnieniami ze sztucznej inteligencji. Udział w niej dał nam możliwość zmierzenia się z projektami, które miały prawdziwą szansę na wdrożenie. W ciągu tych dwóch lat wdrożyliśmy dwa systemy webowe: jeden do obsługi wniosków o dofinansowanie dla działu studenckiego Politechniki Wrocławskiej, drugi do obsługi konferencji dla Konferencji Naukowej Studentów oraz czasopisma “e-Informatica Software Engineering Journal”.
Co jeszcze dał udział w tej grupie studenckiej?
Przede wszystkim dodatkowe doświadczenie pracy w zespole, przy projekcie, który miał zostać wdrożony i dostępny dla użytkowników. Nie było więc mowy o typowych uproszczeniach jak przy projektach na zaliczenie. Było to ciekawe i ekscytujące doświadczenie, kiedy oba produkty, nad którymi pracowaliśmy my, studenciaki, zostały de facto wykorzystane w praktyce.
Myślę, że te dodatkowe godziny, które spędziliśmy nad tymi projektami, znacząco dołożyły się do naszych umiejętności jako początkujących programistów. Godzin tych nie było wcale mało. Pamiętam, że pracowaliśmy nad projektem z JavaTech również w wakacje, spotykając się na stancji u jednego kolegi z grupy, gdzie przy piwku i głupich tekstach pisaliśmy kod. Fajne wspomnienia. Doświadczenie z JavaTech nie wyglądało też źle na papierze, co na pewno pomogło przy szukaniu pierwszej pracy, szczególnie że wielu kolegów z roku mogło się również pochwalić ciekawymi praktykami czy nawet doświadczeniem w zawodzie pracując już podczas studiów.
Dwa lata później znalazłeś pracę Java Developera. Pamiętasz jakie pierwsze zadanie dostałeś w tej firmie, a z którego byłeś najbardziej dumny?
Nie pamiętam pierwszego zadania, ale pamiętam, że zanim zacząłem pisać kod, to wszyscy nowi pracownicy odbyli dwutygodniowe szkolenie z platformy Hybris. Jest to zamknięta platforma enterprise, więc próżno szukać było kursów czy dokumentacji w sieci. Coś, co nigdy już mi się nie przydarzyło w późniejszej karierze, jako że nie pracowałem już z zamkniętymi technologiami.
Nie powiedziałbym, że obecnie jestem z czegoś konkretnie dumny, to było dawno. Pamiętam, że starałem się pisać jak najlepszy kod, korzystać ze wzorców projektowych i generalnie dopracować co tylko się dało. Zapewne znacznie przegiąłem z czasem spędzanym nad jednym zdaniem, ale sam zespół również był nastawiony na jakość kodu, więc to nigdy nie było problemem. W każdym razie wiele się w tym czasie nauczyłem, szczególnie od starszych członków zespołu.
Jak dużo wtedy spędzałeś czasu na zdobywaniu wiedzy po godzinach? Z jakich materiałów korzystałeś?
Pewnie niezbyt dużo. Myślę, że od jakiegoś czasu zaczynałem się skupiać nad poprawą swojego angielskiego w związku z potencjalnym wyjazdem do Nowej Zelandii i obowiązku zdania egzaminu językowego, a w późniejszym terminie już nad przygotowaniami do samego wyjazdu. Niemniej to chyba wtedy przeczytałem parę książek, które zapadły mi w pamięć i które czasem polecam początkującym programistom. Były to “Clean Code” i “Code Complete”, obie w zasadzie traktują o tym, jak pisać dobry kod i dlaczego jest to ważne.
Czego zazwyczaj nie mówi się o pracy początkującego web developera?
Mnie zaskoczyło to, że w pracy było dużo mniejsze ciśnienie niż na studiach. W późniejszej karierze zdarzył mi się tylko jeden wyjątek od tej reguły. Pracowałem nad projektem, który jak wszedł w fazę szalonych nadgodzin, to już nigdy nie wrócił do normy. Ten projekt miał też inne problemy, więc generalnie wielu programistów zdecydowało się na zmianę pracy.
W odniesieniu do początków kariery to mógłbym jeszcze dodać, że jednak za mało mówi się o tym, jak szukać pracy i jak ważne jest to, by się dobrze zaprezentować. Może i mówi się, że “trzeba umieć się sprzedać”, ale za mało w tym konkretów. Jak zaczynałem karierę, to brakowało mi wiedzy w takich kwestiach jak negocjowanie wypłaty czy udzielanie się w społecznościach i networking. Bo często, to trzeba znać ludzi, by chociażby dowiedzieć się o naprawdę fajnych ofertach pracy i projektach.
We wrześniu 2011 roku zostałeś zatrudniony w firmie z Nowej Zelandii. Jak przebiegała rekrutacja od pierwszego kontaktu do podpisania kontraktu?
Zgadza się, ale może zacznę od początku. Przeprowadziłem się do Nowej Zelandii, ponieważ udało mi się dostać na stypendium doktoranckie na Uniwersytecie Otago w Dunedin. Doktorat rozpocząłem w czerwcu 2011 roku, ale z biegiem czasu zaangażowałem się w różne kontrakty, pracę na pół etatu oraz startupy. W rezultacie swoimi zainteresowaniami, oddalałem się coraz bardziej od pracy doktorskiej, i po dwóch latach przerwałem studia.
W tym czasie zdecydowaliśmy się z żoną, że chcemy zostać w Nowej Zelandii na dłużej i w kwietniu 2013 roku zacząłem szukać stałej pracy na pełny etat, co umożliwiło nam późniejsze aplikowanie o pobyt stały w Nowej Zelandii. Pracę udało mi się dostać relatywnie szybko, mimo że w Dunedin w zasadzie nie ma dużych firm programistycznych, które zatrudniają na bieżąco, oferty pojawiają się więc sporadycznie.
Nawiązując do tego, co powiedziałem wcześniej, z pomocą w szukaniu pracy przyszły kontakty. Ktoś wiedział po prostu, że ktoś inny szuka programisty i że ja szukam pracy, i tak po kilku e-mailach zostałem zaproszony na rozmowę. Podobnie wyglądało to w przypadku pracy na pół etatu z września 2011 i innych pomniejszych zleceń.
Wraz z ofertą pracy otrzymałeś zapewnienie pokrycia wszelkich kosztów związanych z przeprowadzką?
Oferta stypendium nie pokrywała niestety żadnych kosztów, które w tamtym czasie były dość spore. Poza biletami lotniczymi czekała na nas na miejscu kaucja za mieszkanie, 1 miesiąc czynszu z góry oraz pomniejsze wydatki, zanim mogliśmy sięgnąć po pieniądze ze stypendium. Na szczęście nasze oszczędności i wsparcie od rodziców wystarczyły w zupełności na pokrycie tych kosztów.
Jakie miałeś pierwsze wrażenie po przyjeździe do NW?
Pierwsze dni spędziliśmy w Auckland u brata kolegi ze studiów. Pamiętam, że zaskoczyło mnie, jak bardzo zielona jest zieleń w Nowej Zelandii, nie wiem, czy to przez czystsze powietrze, czy mocniejsze słońce. Nie za wiele wiedziałem wtedy o Nowej Zelandii, zawsze wyobrażałem sobie, że jest tutaj dość ciepło, nawet zimą. Do Auckland dotarliśmy właśnie na początku zimy i pogoda była taka, jak sobie wyobrażałem, czyli taka jak w Polsce wczesną jesienią w słoneczny dzień.
Po przylocie do Dunedin przywitała nas mgła i zimnica. Lotnisko w Dunedin znajduje się jakieś 30 km za miastem i przez sporą część drogi z lotniska widać tylko pola, krowy i owce. Zastanawialiśmy się, czy ten uniwersytet to też gdzieś w polu stoi. Zdecydowanie poczuliśmy się jak na końcu świata.
Jak wówczas wyglądała społeczność programistów w Dunedin?
Myślę, że centralnym punktem społeczności programistów w Dunedin była i jest grupa Codecraft. Są to comiesięczne spotkania, na których członkowie grupy wygłaszają krótkie prezentacje na temat swojej pracy, nowych technologii czy innych tematów luźno związanych z zagadnieniami IT. Świetne miejsce, by poznać ludzi z branży. Lista mailingowa tej grupy była też dla mnie wspaniałym źródłem informacji o nowych projektach czy ofertach pracy. Jeśli ktoś jest zainteresowany szukaniem pracy jako JavaScript developer, to polecam również Slackową grupę JavaScript New Zealand.
Swego czasu odbywały się również regularne i mniej formalne spotkania okrzyknięte mianem “Distiller Drinks”, gdzie w dość kameralnym gronie, przy piwku, można było poznać ciekawe osoby związane głównie ze sceną startupową. Udało mi się tam między innymi porozmawiać z Derek’iem Sivers’em, założycielem CD Baby, który później osiedlił się w Nowej Zelandii.
Distiller był przede wszystkim inkubatorem, takim malutkim i trochę nieformalnym, ale w miarę możliwości oferowali każdemu biurko do pracy oraz taką grupę wsparcia “anonimowych startupowców”. Spotykaliśmy się co dwa tygodnie i rozliczaliśmy się wzajemnie z ustalonych przez siebie celów w naszych projektach. Podczas tych spotkań poznałem swojego przyszłego pracodawcę. Wtedy zatrudniał dwie osoby, teraz jego firma zatrudnia ponad 100 pracowników i niedawno otworzyli biura w Australii, Holandii i Singapurze.
Wydaje mi się, że w Dunedin, jak na miasto o populacji niewiele ponad 100 000 to społeczność programistów, jak i ta bardziej biznesowa, jest dość prężna. Znacznie przyczynia się to tego moim zdaniem obecność studentów. W Dunedin znajdują się bowiem dwa uniwersytety oferujące w sumie aż trzy kierunki informatyczne.
Ponadto Dunedin zdaje się przyciągać ludzi zainteresowanych outdoorem i szukających lepszego work-life balance, nie brakuje więc tutaj również doświadczonych specjalistów pracujących zdalnie dla firm w Stanach i Europie. Na przykład znajduje się w Dunedin grupa osób pracujących dla Canonical i swego czasu główny team AVOS Systems (firma Steve’a Chen’a i Chad’a Hurley’a — założycieli YouTube’a), który pracował nad Deliciuos i Mixbit.
Jak drogie jest życie w tym kraju, na co może sobie pozwolić junior, regular czy senior?
To bardzo trudne pytanie, nie mieszkałem też od wielu lat w Polsce, więc trudno mi jest porównać. Pamiętam jednak, że na samym początku Dunedin wydawało się znacznie tańsze do życia niż Wrocław. Nasze stypendia doktoranckie równe były w zasadzie minimalnej krajowej, a nie mieliśmy problemu, by wynająć pokój z łazienką i kupić samochód. Utrzymanie samochodu swoją drogą (szczególnie japońskich marek) jest dość tanie, benzyna tania, a OC (oraz AC) nie są obowiązkowe.
Pracując jako początkujący programista, można się spodziewać prawie podwojenia minimalnej krajowej. Myślę więc, że bardziej doświadczona osoba nie miałaby problemów, by utrzymać rodzinę z dzieckiem i wynająć dom lub spłacać kredyt. Nie spodziewałbym się jednak luksusów, do których jesteśmy przyzwyczajeni, czyli np. nowszych mieszkań. Domy w Dunedin są nieszczelne, zimne i mają problemy z wilgocią. Różnice w kosztach życia między miastami w Nowej Zelandii są jednak dość znaczące, i tak na przykład Auckland jest zdecydowanie bardzo drogim miastem. Nawet na skalę światową. Wynika to przede wszystkim z wysokich cen zakwaterowania.
Która z technologii jest najbardziej pożądana?
Jeśli chodzi o web development to oczywiście Javascript oraz… chyba PHP. Zważywszy na dużą liczbę małych firm świadczących usługi tworzenia stron internetowych, marketingu oraz e-commerce programiści dobrze znający frontend oraz platformy takie jak Magento, WordPress czy Drupal znajdą coś dla siebie. W przypadku aplikacji webowych od strony backendu to myślę, że znowu mamy Javascript (NodeJS) oraz Java i C#. Java i C# są pożądane szczególnie w większych firmach, takich jak Datacom. W Nowej Zelandii rozwiązania Microsoftu są dość popularne, wśród ofert pracy często pojawiają się technologie .Net oraz MS SQL Server.
W Nowej Zelandii króluje także small business, nie ma nic dziwnego w tym, że wspomniane przeze mnie wcześniej firmy marketingowe zatrudniają jednego lub dwóch programistów oraz grafika. Firmy, które zatrudniają ponad 10 osób, są klasyfikowane jako firmy średnie. Podobnie oczywiście wygląda to w przypadku firm tworzących aplikacje mobilne, gdzie dominuje iOS. iPhone jest tutaj popularniejszy niż smartfony z Androidem, więc programiści iOS są bardziej poszukiwani.
O pozostałych technologiach ciężko mi coś konkretnego powiedzieć. Jako ciekawostkę mogę dodać, że grupa z Dunedin pracująca zdalnie dla Canonical, pracuje nad Juju (narzędzie dla DevOps). Jest to największy projekt napisany w GO znajdujący się na Githubie.
Kiedy przeprowadziłeś się do Tokio i dlaczego?
Do Tokio przeprowadziliśmy się w listopadzie 2018 roku. Zawsze chcieliśmy z żoną spróbować życia w Japonii. Oboje kiedyś uczyliśmy się języka japońskiego, no i oczywiście kto nie oglądał Tsubasy czy tam Pokemonów za dzieciaka? Postanowiliśmy więc spróbować życia w Japonii, no i udało się. Żona pracuje na uniwersytecie, ja natomiast ciągle kontynuuje pracę zdalną dla firmy w Nowej Zelandii.
Jak wygląda społeczność programistów w tym kraju?
To są jeszcze bardzo wczesne obserwacje, ale na pewno więcej się tutaj dzieje niż w Dunedin. Wystarczy spojrzeć na ilość spotkań w Tokio na meetup.com. Większa część tych grup jest zdecydowanie międzynarodowa, nie trzeba więc się martwić o nieznajomość japońskiego. Do tej pory udało mi się odwiedzić tylko meetupy Dev Japan i Tokyo Tech Startups. Forma Dev Japan jest dość prosta, coworking space jest dostępny na kilka godzin i można sobie coś pokodować oraz poznać innych programistów. Na ostatnie spotkanie przybyło ponad 50 osób. Tokyo Tech Startups jest również całkiem sporym meetupem. Mimo że tematyka prezentacji głównie startupowa, to można tam poznać innych programistów.
Dużym wydarzeniem w społeczności w Tokio jest coroczna konferencja Rakuten Technology Conference. Pokaźnych rozmiarów impreza z kilkoma sesjami. Jest jeszcze grupa Hacker News Tokyo. Jeśli ktoś chce się odnaleźć w społeczności w Tokio, poznać ludzi czy nawet znaleźć pracę, to polecam zacząć właśnie od Hacker News Tokyo i dołączyć do ich grupy na Slack’u.
Przez to, że i w Nowej Zelandii gdzie mieszkałeś i w Tokio nie jest tak rozbudowana, jak np. w Polsce, czujesz, że trudniej Ci rozwijać się? Co w ogóle oznacza dla Ciebie rozwój?
Społeczność w Nowej Zelandii była dla mnie wystarczająca. Cieszyłbym się z większego wyboru, ale i tak nie mógłbym uczestniczyć we wszystkich wydarzeniach. Myślę, że największą korzyścią z tych spotkań było to, że poznawałem ludzi, którzy robią coś fajnego i czułem się potem naładowany energią, by również zrobić coś fajnego albo czegoś nowego się nauczyć.
Myślę, że rozwój to dla mnie konieczność. Bywały momenty w mojej karierze, kiedy czułem, że to nad czym pracuję, staje się dość rutynowe i monotonne.
Dlatego, kiedy brakuje mi wyzwań, staram się coś zmienić, zacząć nowy projekt w innej technologii czy nawet zmienić pracę. Może nawet się jakoś specjalnie nie staram, po prostu przychodzi czas, gdy muszę zacząć coś nowego, bo nie czuję się komfortowo. Nie zawsze musi to mieć związek z zawodem, ostatnio zainteresowałem się na przykład fotografią. No i oczywiście japońskim jedzeniem.
Czym zajmujesz się w firmie, w której pracujesz?
Jestem jedną z osób pracujących nad migracją istniejącego produktu SaaS z monolitu na architekturę mikroserwisową. Zajmuję się projektowaniem i implementacją API w NodeJS oraz DevOps na platformie AWS. Ostatnio mój typowy dzień schodzi głównie na pisaniu skryptów CloudFormation.
Poza migracją, jednym z ciekawszych wyzwań dla mnie w tej pracy była implementacja bitemporalnych struktur danych w grafowej bazie danych (ArangoDB). Mogliśmy dzięki temu uzyskać pełną historię zmian dla naszych danych.
Jakie masz plany na przyszłość? Gdzie chciałbyś dotrzeć na swojej drodze kariery za kilka lat?
Jestem otwarty na wszelkie możliwości, ale zastanawiam się poważnie nad otworzeniem firmy programistycznej. Jest to jedna z rzeczy, które chciałbym w życiu zrealizować. Ciągle ciągnie mnie też w świat startupów. Pracuję nad kilkoma projektami, którym chciałbym poświęcić więcej uwagi.
Wracając do rozwoju personalnego, to obecnie staram się skupić na swoim zdrowiu i produktywności. Gdy dobrze śpię, jem i trenuję, to lepiej funkcjonuję w pracy. Chciałbym sprawniej wykorzystywać swój czas, aby być w stanie pracować nad tym wszystkim, co sobie zaplanowałem.
Tomasz Kolasa. Programista z wykształcenia i zamiłowania. Studia informatyczne ukończył na Politechnice Wrocławskiej. W roku 2011 przeprowadził się do Nowej Zelandii gdzie dalej studiował i pracował jako mobile oraz web developer. Od kilku lat pracował zdalnie dla firm z Nowej Zelandii i Stanów Zjednoczonych jako full-stack developer oraz team leader. Od roku 2018 mieszka w Tokyo. Interesuje się fotografią, przedsiębiorczością i podnoszeniem ciężarów.