programista Berlin

Jak wielu młodych ludzi wątpiłem w swoje umiejętności. Historia Tomasza Elendt

– Wątpliwości te na szczęście z czasem zniknęły. Być może wynikało to z faktu, że trzy pierwsze firmy, w których pracowałem w Berlinie były i są dość znane do dnia dzisiejszego. Na pewno szukałem też środowiska, w którym mógłbym się rozwijać i mieć realny wpływ na sukces produktu – powiedział w rozmowie z nami Tomasz Elendt, Senior Software Engineer w OLX Group.

programista Berlin

Gdzie poleca pracować: w startupie, software housie czy w korpo? – W trakcie mojej pracy w Nokii wyrobiłem sobie przekonanie, że startupy będą lepszym miejscem na mój dalszy rozwój – dodaje. Poznajcie Tomka i jego historię.

Pracowałeś w wielu firmach, i w startupie, i w korporacji. Opowiedz o zaletach i wadach pracy w tego typu firmach.

Stereotypowy pogląd jest taki, że startupy są innowacyjne i zwinne a korporacje mają skostniałe struktury i ciężko w nich mieć wpływ na cokolwiek. Zapewne jest w tym trochę prawdy, choć nie każda organizacja wpisuje się w ten stereotyp. Niewątpliwie istnieją innowacyjne korporacje i startupy z hierarchicznymi strukturami.

Nie chciałbym uogólniać na podstawie własnych doświadczeń. Myślę, że praca w dobrze rozwijającym się i dobrze finansowanym startupie nie powinna wiele się różnić od pracy we wciąż rozwijającej się, zdrowej korporacji. O wiele bardziej istotne w moim przekonaniu jest to, w jakiej fazie znajduje się firma – czy jest to moment silnego wzrostu, stagnacji czy utraty pozycji względem konkurencji. W przypadku korporacji łatwiej niż w startupie ustalić, w którym momencie się znajduje.

Dziś wiem, że preferuję firmy z jasno określonym produktem i ze spokojną tendencją wzrostową. Bardzo szybki wzrost popularności jest często źródłem wielu problemów.

Czego szukałeś w każdej z firm, w których pracowałeś?

W różnych etapach kariery szukałem innych rzeczy. Na początku na pewno szukałem walidacji, ponieważ jak wiele młodych ludzi wątpiłem w swoje umiejętności. Wątpliwości te na szczęście z czasem zniknęły. Być może wynikało to z faktu, że trzy pierwsze firmy, w których pracowałem w Berlinie były i są dość znane do dnia dzisiejszego.

Na pewno szukałem też środowiska, w którym mógłbym się rozwijać i mieć realny wpływ na sukces produktu. Zazwyczaj decydowałem się opuścić daną organizację, gdy uświadamiałem sobie, że warunki te nie są dłużej możliwe do zrealizowania.

W trakcie mojej pracy w Nokii wyrobiłem sobie przekonanie, że startupy będą lepszym miejscem na mój dalszy rozwój. Ciężko obiektywnie to zweryfikować – na pewno wiele się nauczyłem w kolejnych latach, choć nie wiem jak dziś wyglądałoby moje życie, gdybym kontynuował karierę w korporacjach.

Co ciekawiło Cię w pracy w Nokii, w siedzibie w Berlinie?

Na pewno ciekawiła mnie praca w dużej, międzynarodowej firmie. Wcześniej pracowałem w mniejszych firmach w Polsce. Ciekawił mnie też Berlin, o którym wtedy jeszcze za dużo nie wiedziałem, a który bardzo pozytywnie mnie zaskoczył już na pierwszych rozmowach rekrutacyjnych.

Zaciekawiła mnie też wizja, która została mi przedstawiona na rozmowie rekrutacyjnej – zgodnie z tą wizją aplikacje w nowych telefonach Nokii miały być oparte niemal w całości na technologiach webowych. Wtedy uważałem to za świetny pomysł (myślę, że to przekonanie podsycone było szumem związanym z wypuszczeniem przez Palma ich webOS-a mniej więcej w tym samym czasie). Rzeczywistość brutalnie ten pomysł później zweryfikowała. Ówczesne urządzenia były o wiele mniej wydajne od dzisiejszych; podobnie technologie webowe i przeglądarki nie były jeszcze tak rozwinięte.

Co było najciekawszym zadaniem, które udało Ci się zrealizować w Nokii?

W Nokii pracowałem nad wieloma ciekawymi projektami, jednak niewiele z nich “ujrzało światła dziennego”. Część wykorzystana była jedynie na potrzeby wewnętrzne, część nigdy nie została wdrożona do produkcji. Niewątpliwie projektem, który odniósł największy sukces były mobilne webowe mapy Nokii, dziś znane pod nazwą HERE Maps.

Ciekawym konceptem, który nigdy jednak nie trafił w ręce końcowych użytkowników była aplikacja rejestrująca podróże. Rejestrowała trasę i prezentowała ją na mapie w interesującej formie, wzbogaconej o zdjęcia, statystyki i adnotacje użytkowników.

Nie pamiętam dobrze konkretnych zadań z tamtego okresu, ale ciekawym doświadczeniem była praca z zestawem narzędzi Qt i praca nad komponentami QML. Było to moje pierwsze zetknięcie z aplikacjami natywnymi, choć dziś do produkcji aplikacji mobilnych używa się w większości innych technologii.

Frustrujące za to były ciągłe zmiany strategii firmy i częste porzucanie technologii (jak porzucenie własnych systemów Symbian i MeeGo na rzecz Windows Phone) a także konkurencja z innymi zespołami wewnątrz firmy tworzącymi niemalże identyczne projekty. Te czynniki sprawiły, że ostatecznie podjąłem decyzję o zmianie pracy.

programista Berlin

Zalando było kolejnym miejscem pracy. Potrafiłbyś określić najtrudniejsze wyzwanie, które napotkałeś właśnie w Zalando?

Zalando w tamtym okresie było na etapie szybkiego wzrostu i ten fakt był przyczyną wielu wyzwań. Razem z kolegą z Nokii dołączyliśmy do Zalando do zespołu pracującego nad ich platformą, gdzie zmagaliśmy się problemami skalowania i ułatwiania pracy innym zespołom. Osobiście byłem odpowiedzialny za rozwój i utrzymanie głównego narzędzia do deploymentu kodu. Do moich zadań należało rozwiązywanie problemów innych developerów i edukowanie ich w zakresie najlepszych praktyk deployowania kodu.

W praktyce było to zajęcie bardzo niewdzięczne – różne zespoły miały różne wymagania i potrzeby. Potrzeby te niełatwo było zaspokoić, zwłaszcza że firma w tamtym okresie była oporna na rozwiązania chmurowe. Zespoły słusznie domagały się większej autonomii a ich frustracja rosła z czasem. Ta sytuacja stawała się dla mnie coraz bardziej stresująca aż pewnego dnia stwierdziłem, że mam tego dosyć i przyjąłem ofertę najbardziej popularnego w tamtym czasie berlińskiego startupu – SoundClouda.

Sytuacja w Zalando poprawiła się krótko po moim odejściu. Nowo zatrudniony wiceprezes inżynierii wprowadził organizację pracy zakładającą m.in. większą autonomię zespołów. Zasady będące podstawą tej transformacji zostały zresztą upublicznione w formie manifestu “Radical Agility”. Firma zmieniła też swoje podejście w kwestii rozwiązań chmurowych i rozpoczęto migrację na chmurę AWS.

W ostatnim miesiącu mojej pracy Zalando złożyło pierwszą ofertę publiczną więc z technicznego punktu widzenia przestało być startupem, ale nawet we wcześniejszym okresie firma ta nie przypominała startupu, bo posiadała hierarchiczną struktura i ściśle określony zakres obowiązków. Moim pierwszym startupem z prawdziwego zdarzenia był właśnie SoundCloud, w którym też zmagaliśmy się z problemami skalowania wynikającymi z rosnącej popularności, lecz mieliśmy większą swobodę działania od samego początku. To tam właśnie zaznajomiłem się z tematem systemów wyszukiwania treści. Tą domeną zajmuję się do dnia dzisiejszego.

Na swojej drodze spotkałeś zapewne wielu rekruterów – opowiedz o najgorszym, ale i o najlepszym kontakcie z rekruterem.

Kontakty od rekruterów nasiliły się wraz z czasem. Wynika to pewnie z faktu, że wraz z doświadczeniem stałem się bardziej atrakcyjny dla pracodawców. Po części jest to po prostu oznaka czasów – branża IT jest znacznie bardziej rozwinięta, jest zwyczajnie więcej rekruterów i mamy więcej kanałów komunikacji.

Osobiście nie korzystam z usług rekruterów zewnętrznych, rekrutujących pracowników zazwyczaj dla wielu firm jednocześnie. Z mojego doświadczenia takie osoby rzadko mają wiedzę odnośnie danej firmy pozwalającą odpowiedzieć na nurtujące mnie pytania a ich głównym celem jest często “sprzedać” mnie pracodawcy (i vice versa), nawet w przypadku kiepskiego dopasowania. Takie przynajmniej były moje odczucia w tych niewielu przypadkach, gdy zdecydowałem się na rozmowę z rekruterem.

Raz np. rekruter przekonywał mnie, że ma dla mnie pracę w Berlinie, gdzie wymagane są jedynie sporadyczne podróże do Argentyny. Później jednak przekonałem się, że praca wymaga jednak relokacji do Argentyny, czego zupełnie nie brałem pod uwagę.

Wiem, że doświadczenia wielu osób są w tej kwestii odmienne. Znam osoby, które zawdzięczają pracę rekruterom.

Z moich doświadczeń najlepsi rekruterzy rzetelnie informują o procesie rekrutacji i stanowisku pracy, są w stanie odpowiedzieć na większość pytań (bądź skontaktować z osobą, która takich informacji udzieli) i na bieżąco informują o postępach w procesie rekrutacji. Ważny jest dla mnie również moment końcowych negocjacji – nikt nie lubi być naciskany przez drugą stronę i obie strony powinny czuć, że zawarły dobry interes.

W jaki sposób zazwyczaj szukałeś pracy? Ile średnio zajmowało Ci proces rekrutacji do kolejnej firmy?

Wyglądało to różnie. Pierwsze ogłoszenia o pracę znajdowałem na grupach usenetowych i forach internetowych. Dziś z reguły opieram się na LinkedIn i znajomych. Czasem, gdy pisze do mnie rekruter z interesującej firmy lecz nie jestem gotowy na zmianę pracy uprzejmie odmawiam. Odnotowuję to jednak i wracam do rozmowy, gdy sytuacja ulega zmianie. Obserwuję też firmy, które robią ciekawe moim zdaniem rzeczy. Gdy jestem na etapie poszukiwania pracy zaglądam na ich strony i jeśli mają otwarte stanowisko aplikuję. Jestem dobrze zaznajomiony z berlińskim rynkiem pracy, przez ostatnie dziesięć lat zdołałem zbudować tu dość pokaźną sieć kontaktów i o ciekawych ofertach pracy często dowiaduję się od znajomych. Czasem zaglądam też z ciekawości na ogłoszenia pracy publikowane w LinkedIn i StackOverflow.

Z mojego doświadczenia proces rekrutacji do większości berlińskich firm zajmuje od 2 tygodni do 2 miesięcy, średnio około miesiąca. W mniejszych firmach proces ten jest zazwyczaj prostszy a w większych bardziej złożony i czasochłonny.

Co zawsze sprawiało, że podejmowałeś decyzję o zmianie pracy? Z perspektywy czasu uważasz, że to dobry sposób? Jakie korzyści przynosi częsta zmiana pracy?

Powody były różne. Czasem podejmowałem decyzje o zmianie pracy mając nadzieję na pracę w miejscu, gdzie mógłbym mieć większy wpływ na sukces produktu lub lepsze możliwości rozwoju. Czasem firma przeżywała kryzys i sprawy nie szły najlepiej a ja nie chciałem być częścią załogi tonącego statku.

Czy zmiana pracy dobry to pomysł? To zależy. Są przypadki, gdzie zmiana pracy pozwala uniknąć stagnacji lub innych problemów, choć czasem problemy te można rozwiązać w inny sposób.

Osobiście nie żałuję specjalnie żadnej z moich decyzji o zmianie pracy – w kilku miejscach chętnie spędziłbym więcej czasu, gdyby sytuacja wyglądałaby inaczej, gdybym dołączył do firmy w innym okresie. Uważam, że idealne miejsce pracy nie istnieje. Są tylko miejsca pracy, które są dla nas odpowiednie w określonym czasie. Firmy, jak i ludzie zmieniają swoje priorytety.

Częsta zmiana pracy, zwłaszcza u młodych osób, może znacząco przyspieszyć wzrost wynagrodzenia, zwłaszcza w przypadku specjalizacji o dużym zapotrzebowaniu. Należy jednak pamiętać, że praca w wielu miejscach pracy nie oznacza automatycznie lepszego doświadczenia – wynika to z faktu, że nowy pracownik potrzebuje zazwyczaj kilka miesięcy na zapoznanie się w nowym miejscem pracy. Znaczna część tej wiedzy jest specyficzna dla tego konkretnego miejsca pracy i nie ma większego zastosowania poza nim. Wreszcie – częsta zmiana miejsca pracy jest zwyczajnie męcząca.

Jakie masz podejście do rozwoju programisty? Powinien o to zabiegać pracodawca czy sam programista?

Moim zdaniem to pracownik powinien zabiegać o swój rozwój, zadaniem pracodawcy z kolei jest mu możliwość takiego rozwoju zapewnić. Możliwości jest wiele – najpopularniejsze są kursy, szkolenia i konferencje. Niektórzy pracodawcy pozwalają przeznaczyć część czasu pracy na dowolne zagadnienia (np. rozwój projektu open-source), inni organizują cykliczne wewnętrzne hackatony, które trwają z reguły kilka dni. Wiele firm oferuje także bonus pieniężny na rozwój osobisty. Nic jednak nie rozwija moim zdaniem jak praca w odpowiednim środowisku, gdzie mamy możliwość pracy z osobami bardziej doświadczonymi i chętnymi do dzielenia się wiedzą. Niezwykle istotna jest rola menedżera, który dostrzeże potrzebę rozwoju i podnoszenia kwalifikacji pracowników. Bardziej skomplikowane nowe zadania powinny zawierać czas na eksplorację tematu, zaś po ich wykonaniu programista powinien spędzić nieco czasu na retrospekcję i autorefleksję.

Brak możliwości rozwoju w danym miejscu nie oznacza, że musimy zmieniać miejsce pracy. Czasem wystarczy poprosić o przeniesienie do innego zespołu – w większych firmach jest to na ogół możliwe.

Jakie masz plany na siebie? W jakim miejscu chciałbyś być za kilka lat? 

Chciałbym dalej pracować w domenie systemów wyszukiwania treści i naturalnie chciałbym pracować w miejscu, które traktuje tę funkcjonalność priorytetowo. Chciałbym pogłębić swoją wiedzę z zakresu inżynierii danych. Nie mam nic przeciwko prowadzeniu projektów i kierowaniem małymi zespołami ale wciąż lubię programować i pracować nad architekturą systemów. Chciałbym, aby te właśnie aktywności dominowały większość mojego czasu pracy przez kolejne kilka lat.

Nie planuję opuszczać Berlina.

Pragnę też, aby pandemia koronawirusa wreszcie się skończyła, żeby móc w spokoju pojechać z rodziną na wakacje i odwiedzić rodzinę w Polsce bez ciągłych obaw o zdrowie.


Tomasz Elendt. Senior Software Engineer w OLX specjalizujący się w architekturze systemów wyszukiwania treści. Doświadczenie zdobywał w polskich software house’ach i niemieckich startupach i korporacjach. Od 2010 roku mieszka i pracuje w Berlinie. Prywatnie mąż, ojciec.

Zapraszamy do dyskusji

Patronujemy

 
 
More Stories
System Linux zagrożony. Pojawił się nowy niewykrywalny trojan