Programowanie to nie podróż w kosmos. Historia Bartka Nowaczyka
Aby znaleźć spełnienie w życiu zawodowym, musiał przebyć długą drogę. Na początku porównywał programistów do ludzi latających w kosmos. Parę lat później rozmawiamy ze spełnionym senior developerem, który opowiada o realiach pracy i życia w Niemczech. Czy Magento to przyszłość e-commerce? Czy Polakowi łatwo przebić się na niemieckim rynku? Na te i wiele innych pytań odpowiedział Bartek Nowaczyk, Senior Magento Developer w Amorelie.de.
Jak zaczęła się Twoja przygoda z programowaniem?
To była długa droga, ponieważ zanim zacząłem programować zajmowałem się całym mnóstwem różnych zajęć. Byłem i księgowym, i organizowałem imprezy sportowe, byłem człowiekiem-orkiestrą w organizacjach pozarządowych (prezes zarządu – księgowy – kierowca – przynieś, podaj, pozamiataj), doktorantem, edukatorem, wolontariuszem. Kilka razy współpracowałem z programistą, który wykonywał dla nas projekty i wówczas, patrząc na jego pracę, zastanawiałem się nad pójściem na informatykę, ale wówczas wydawało mi się to pomysłem równie możliwym jak podróż w kosmos. Sądziłem, że trzeba być geniuszem, żeby o tym w ogóle pomyśleć.
Musiało minąć kilka lat, żebym mógł przekonać się, że nie taki diabeł straszny. W pewnym momencie okazało się, że ówczesna PJWSTK otworzyła filię w Gdańsku i oferuje studia informatyczne. Opis był na tyle zachęcający, że postanowiłem spróbować i okazało się, że był to strzał w dziesiątkę. Bardzo szybko się wciągnąłem, a programowanie okazało się świetną zabawą intelektualną.
Co na początku, gdy obserwowałeś pracę wspomnianego programisty, wydawało Ci się aż takie trudne?
W tym wypadku nie chodziło o pracę tego konkretnego programisty (bo w sumie widziałem tylko efekty pracy). Było to dość dawno i ówczesny internet nie był jeszcze tak rozwinięty, jak obecnie, i samodzielne nauczenie się programowania wydawało się mi wówczas poza zasięgiem. Jedynym prawidłowym sposobem na zostanie programistą zdawało się ukończenie odpowiednich studiów. Koniecznie na politechnice (prywatne szkoły nie oferowały tego typu studiów), koniecznie dziennie i koniecznie z toną hiperzaawansowanej matematyki, która wówczas wydawała mi się barierą nie do przejścia. Z dzisiejszej perspektywy trudno ocenić, na ile te ówczesne obawy były jedynie barierami w głowie, a na ile reakcją na rzeczywistość.
A co najbardziej spodobało Ci się w owej “zabawie intelektualnej”?
Trudno to zdefiniować. Częściowo chodzi o możliwość sprawdzenia się, zmierzenia z wyzwaniem, znalezienia rozwiązania problemu. Tego typu zadania zdarzają się szczególnie często na etapie nauki nowego języka (“Znajdź najdłuższą wspólną część dwóch stringów”), ale i w późniejszym etapie zdarzają się różnego rodzaju zagadki. Zapewne chodzi też o ten moment euforii, gdy po kilku godzinach lub dniach bezowocnego debugowania, googlowania, debugowania i googlowania udaje się ostatecznie sprawić, że jakiś element zaczyna działać.
Jaki był Twój pierwszy projekt lub zlecenie za pieniądze?
Zdaje się, że było to niewielkie zlecenie od jednej ze spółek państwowych. Bardzo się cieszę, że nigdy nie zostało ono wykorzystane i nie weszło w życie, a tamten kod został zapomniany. Kod – koszmar.
Pamiętasz może, dlaczego nie wykorzystano tamtego kodu?
W jakiś sposób zmieniły się wymagania i pomysł firmy. No i sam efekt mojej pracy nie zachęcał raczej do intensywnego korzystania, a zarazem kwota wynagrodzenia była na tyle niewielka, że zamawiający nie widzieli sensu we wprowadzaniu poprawek.
Jak znalazłeś pracę w Berlinie?
W 2016 roku postanowiłem zakończyć współpracę z LPP i szukałem nowych wyzwań. Jedną z opcji, które rozważałem, był wyjazd zagraniczny, a ponieważ szukałem kraju o stabilnej gospodarce, o możliwie dużych zabezpieczeniach socjalnych i równościowej szkole dla dzieci, myślałem o Skandynawii. Rozglądałem się za pracą w Szwecji. Prowadziłem tam nawet wstępne rozmowy, ale oferta z Berlina była błyskawiczna i bardzo konkretna.
Cały proces rekrutacyjny składał się z jednej rozmowy przez Skype’a, po której oferta umowy przyszła po 2 godzinach. I chociaż wcześniej nie rozważałem tego kierunku, to postanowiłem spróbować i po trzech tygodniach byłem już w Berlinie, gdzie rozpocząłem pracę jako developer w Geschenkidee. Jest to jeden z licznych berlińskich startupów, który zajmuje się sprzedażą produktów i usług profilowanych na prezenty.
Rzeczywiście szybko poszło! Czy Niemcy jako kraj i Berlin jako miasto spełniły oczekiwania Twoje i Twojej rodziny? Jak przebiegła aklimatyzacja?
Berlin jest cudownym miejscem do życia. Jakość życia, komunikacja publiczna (samochód uruchamiamy mniej więcej raz na miesiąc, gdy chcemy pojechać do Polski lub na dalszą wycieczkę), oferta kulturalna, edukacja, ilość eventów dla dzieci… Wszystko to sprawia, że trudno wyobrazić sobie lepsze miejsce do życia. Jeśli ktoś zamierza przyjechać tylko na pewien czas, nie ma dzieci w wieku przedszkolno-szkolnym, to spokojnie może przeżyć wiele lat korzystając tylko ze znajomości angielskiego. Znajomość niemieckiego pozwala natomiast na pełne korzystanie z oferty miasta, więc warto się uczyć. Niektórzy ekspaci narzekają na problem ze znalezieniem miejsca w przedszkolu dla dzieci, ale my nie mieliśmy z tym problemu, więc dzieci od początku miały opiekę.
Problemem jest natomiast znalezienie wolnego mieszkania: Berlin cierpi na olbrzymie niedobory w tym zakresie, co jest potęgowane przez olbrzymią ilość osób osiedlających się tutaj (do 50 tys. nowych mieszkańców rocznie). Warto więc, negocjując ew. kontrakt, poprosić przyszłego pracodawcę o znalezienie mieszkania tymczasowego. Daje to czas na skompletowanie różnorodnych dokumentów, niezbędnych, by w ogóle marzyć o wynajęciu mieszkania na stałe. Jest to opcja możliwa do wynegocjowania, więc warto próbować.
Jak przebiegał proces rekrutacyjny w niemieckich firmach?
Jak wspomniałem powyżej, rekrutacja do Geschenkidee była ekspresowa. I tak się zdarza dość często, jeśli dobrze lub bardzo dobrze pasujemy do kryteriów albo kiedy nasze wymagania finansowe są atrakcyjne w stosunku do innych kandydatów. W mojej poprzedniej firmie proces był dłuższy: w sumie byłem na trzech rozmowach, z czego jedna była zapoznawcza, druga techniczna, a trzecia negocjacyjna w sprawie umowy. W obecnej wystarczyła zaledwie jedna rozmowa o charakterze zapoznawczo-technicznym. Dodatkowo zdarza się, że dostajemy zadanie domowe do wykonania (np. refaktoring starego kodu) lub analizowany jest nasz kod z publicznych repozytoriów. Praktykowane też jest sprawdzanie umiejętności poprzez pair-programming z developerem już pracujących w firmie i inne tego typu zadania. Wszystko zależy jednak od firmy.
Wspomniałeś o publicznych repozytoriach. Czy jako początkujący programista publikowałeś swoje projekty np. na GitHubie? To must-have w rekrutacji w Niemczech, czy raczej coś, co jest mile widziane?
Nie jest wymagane, ale jeśli repozytorium zawiera kod związany ze stanowiskiem, na które aplikujemy (np. przykładowy moduł Magento), może to wydatnie skrócić proces rekrutacyjny. Nie ma jednak tu żadnej reguły.
Czym zajmowałeś się na początku pracy na swoim stanowisku w firmach w Berlinie?
Od początku mojej kariery pracuję jako Magento developer i tak też było w Geschenkidee. Tam od samego początku byłem człowiekiem od długofalowych projektów na przyszłość. Dzięki temu nie musiałem się zajmować bieżącym utrzymaniem sklepu czy naprawą bugów, a rozwijałem produkty na przyszłość. Było to na przykład integracja naszego sklepu z jednym z większych marketplace’ów czy stworzenie REST API, które miało być udostępniane zewnętrznym partnerom. Praca była bardzo spokojna, idealna dla introwertyka lubiącego w spokoju rzeźbić jeden projekt w samotności przez długie tygodnie.
A co należy do Twoich zadań obecnie?
Trafiłem do nowej firmy w intensywnym momencie, bowiem jednocześnie toczą się dwa poważne projekty: migracja całego systemu z Magento 1 do Magento 2 oraz zmiana firmy świadczącej usługi magazynowe i spedycyjne. Tego typu zmiany to z jednej strony wielka przygoda i szansa na nowe otwarcie, refaktorinfg starego kodu i generalnie wielkie sprzątanie, ale jednocześnie chaos i próba zrozumienia, co się właściwie dzieje. W związku ze zbliżającymi się deadline’ami w obu projektach moim zadaniem jest wsparcie zarówno jednego, jak i drugiego zespołu. Stąd też aktualnie skaczę trochę między projektami, co z jednej strony bywa denerwujące, ale z drugiej daje większą dawkę różnorodności.
Czy Geschenkidee, Twój pierwszy niemiecki pracodawca, zadbało o proces relokacji lub pomagało w inny sposób?
Nie, czasem firmy oferują taką pomoc, ale ja nic takiego nie dostałem.Choć dziś już wiem, że mogłem o to powalczyć. Nie zrobiłem tego, więc pierwszy miesiąc przemieszkałem w hostelach i u znajomych. Dopiero po tym czasie udało mi się znaleźć tymczasowe mieszkanie, które było dobrym punktem wyjścia.
Na jakie średnie zarobki może liczyć senior developer w Berlinie? Czy w Berlinie są one znacznie wyższe niż w innych niemieckich miastach?
Oczywiście zależy to od technologii, ale w PHP jest to w granicach 60-75 tysięcy euro rocznie brutto co przekłada się na zarobki netto 3000-3500 euro miesięcznie. Z tego co wiem, to zarobki w innych dużych miastach (Monachium, Frankfurt) są wyższe (do 85K euro rocznie), podobnie jak wyższe są koszty życia.
Czy Berlin to drogie miasto? Jak oceniasz koszta utrzymania względem dużych miast w Polsce?
Koszty życia są trochę wyższe niż w Polsce. Nie jest to jednak dramatyczna różnica. Mieszkanie może kosztować nawet i 500 euro (małe, w dalszej dzielnicy), ale dla rodziny z dzieckiem lub dwójką dzieci przywykłej do wysokiego standardu w Polsce trzeba liczyć się z kosztem 1500 euro za miesiąc i więcej. Z drugiej stronie nie ma konieczności opłacania prywatnej lub społecznej szkoły (co w Polsce bywa nieuniknione), opieki zdrowotnej ani dentystycznej, leki są też za darmo (dzieci) lub prawie za darmo (dorośli)…
Nie jest też problemem nawet tak trudna dla pracownika sytuacja jak bankructwo firmy, a tak się właśnie stało z moją poprzednią firmą, która pod koniec roku ogłosiła upadłość…
Jak to?
To dość typowe w świecie startupów. Czasem cierpliwość inwestorów się kończy i nie chcą więcej dosypywać kolejnych milionów na bieżące funkcjonowanie firmy. To przykra sytuacja, trudna również dla nas jako dla pracowników.
Na szczęście niemiecki system jest gotowy na takie sytuacje i nasze pensje są przez trzy miesiące opłacane przez urząd pracy. W tym czasie syndyk próbuje sprzedać działającą nadal firmę w całości, a my mamy czas, żeby spokojnie poszukać pracy, na wypadek gdyby misja syndyka nie powiodła się. Dzięki temu nawet upadek firmy nie jest katastrofą dla pracowników. Nie ma zaległości w pensjach (zarząd odpowiadałby karnie, jeśli firma, która nie może opłacić pensji w terminie, nie ogłosiłaby niewypłacalności, a następnie ich opłacanie przejmuje urząd pracy) i jest czas na znalezienie nowej pracy.
Czy sądzisz, że Magento to przyszłość e-commerce?
To trudne pytanie. Z jednej strony Magento, które jest darmowe, pozostaje nadal najlepszą opcją dla nowych sklepów. Sklepy te wcześniej czy później potrzebują customizacji, co sprawia, że pracy dla Magento developerów w tej dziedzinie nie brakuje. Z drugiej strony, większość dużych sklepów na pewnym etapie swojego rozwoju zaczyna traktować Magento jako kłopot, próbuje odchodzić od niego na rzecz systemów rozproszonych, mikroserwisów itp.
Jak oceniasz scenę IT w Berlinie na tle innych dużych europejskich miast?
Nie mam doświadczenia w innych dużych miastach europejskich, ale tutejsza scena jest bardzo żywa. Olbrzymia ilość startupów sprawia, że lista otwartych rekrutacji na stanowiska developerskie jest wyjątkowo długa. Praktycznie codziennie odbywają się jakieś meetupy, choć akurat ja rzadko w nich biorę udział. Bardzo dużo się dzieje, dla każdego coś dobrego.
Niemieccy developerzy wolą korporacje czy startupy?
Nie ma jednej odpowiedzi. Korporacje są o wiele bardziej hierarchiczne, powolne w podejmowanych decyzjach. Oferują jednak stabilność, wyższe pensje, dodatkowe świadczenia (trzynasta pensja, dodatek wakacyjny itp). Startupy są mniejsze, dają większą odpowiedzialność poszczególnym pracownikom. No i w większości są anglojęzyczne, co sprawia, że dla obcokrajowców są nieraz jedyną opcją.
Czy jakaś technologia jest szczególnie mocna w Berlinie?
Trudno jest mi to określić, ponieważ każdy porusza się w swojej bańce technologicznej. Dużo się mówi oczywiście o analizie danych i sztucznej inteligencji. Ale praktycznie w każdej technologii da się znaleźć coś ciekawego, w szczególności możliwe jest takie połączenie ulubionej technologii i interesującego, nowatorskiego produktu.
A jakie jest podejście do testerów? Często mówi się, że jak trzeba gdzieś ciąć koszta albo coś przyspieszyć, to najpewniej ucierpią na tym testy. W Niemczech też tak jest, czy sławetne niemieckie zamiłowanie do porządku to wyklucza?
Nie, testerzy to dobro rzadkie. Nie wiem jak to wygląda w bardziej tradycyjnych firmach, ale te startupy, które miałem okazję poznać, obywają się bez pełnoetatowych testerów, których rolę pełnią raczej product managerowie.
Czy w swojej pracy napotykasz na wielu Polaków?
Nie. W mojej pierwszej firmie było kilka osób do obsługi polskiej wersji sklepu, w obecnej nie ma nikogo z Polski. Natomiast nie napotkałem na swojej drodze w Berlinie żadnego developera z Polski.
Jaką opinię mają polscy koderzy w środowisku?
Chyba dobrą, ja problemów ze znalezieniem pracy nie miałem. Ogólnie trzeba powiedzieć, że nawet jeśli jakieś opinie na temat osób pochodzących z danego kraju funkcjonują, to raczej nie są wyrażane głośno.
Jakie masz plany na najbliższy czas? Zostajesz w Berlinie?
Pewnie! Niemcy to nie jest raj na ziemi, ale trudno znaleźć lepsze miejsce do życia. Oczywiście nigdy nie wiadomo jak się potoczy życie, ale kiedy dzieci są w wieku szkolnym przeprowadzki (szczególnie do kraju z innego kręgu językowego) są bardzo trudne.
Bartosz Nowaczyk. Programista, działacz społeczny i polityczny. Swoje programistyczne życie zawodowe związał (przez przypadek oczywiście) z Magento, napisanym w PHP frameworkiem dla branży e-commerce. Pracował w LPP w Gdańsku, a od trzech lat mieszka w Berlinie. W tej chwili pracuje jako Senior Magento Developer w Amorelie.de – startupie należącym do dużej grupy kapitałowej PROSiebenSat.1.