W historii każdego developera następuje przełomowy moment. Często jest nim pierwsze komercyjne zlecenie, za które dostaje się pieniądze, ale też ogromną dawkę wiedzy. W przypadku naszego dzisiejszego rozmówcy — moment przełomowy nastąpił, gdy Jakub Wieczorek został CTO startupu Selesto. Zdaniem Jakuba, stworzenie własnego projektu daje najwięcej satysfakcji. Zaprosiliśmy go do rozmowy na temat ścieżki kariery, którą przebył. 

Z Twojego profilu na LinkedIn dowiemy się, że swoją przygodę z programowaniem zacząłeś od pracy jako QA. A jak ona wyglądała naprawdę? Zaczęła się od podręczników i pasji do samorozwoju?

Właściwie moja historia jest dużo dłuższa i bardziej zawiła, niż opisałem ją na LinkedIn. Programowaniem interesuję się od dzieciństwa, ale na poważnie od 12-tego roku życia. Wtedy to zacząłem uczyć się Pascala. Pamiętam, że pierwszą książkę dostałem od mamy, miała zieloną okładkę. Był to podręcznik „Pascal dla początkujących”. Jakiś czas później w zaledwie kilka dni wchłonąłem pierwszy tom Symfonii C++ Grębosza — kultowa pozycja. Miałem wtedy starszego kolegę, który dużo kodził w Delphi i to była moja pierwsza styczność z innym podejściem. Chociaż wtedy ta obiektowość była dla mnie nie do końca przystępna, to na pewno dużo z tego wyniosłem. Moja przygoda z webdevelopmentem zaczęła się od pierwszego komercyjnego projektu.

Były to czasy gimnazjum/liceum. Dużo osób grało wtedy w przeglądarkowe, tekstowe gry RPG. Większość korzystała z tego samego silnika napisanego PHP. Udało mi się postawić taką grę na jednym z darmowych hostingów i wciągnąłem się na dobre. Zabawne, bo 3 lata spędzone przy administrowaniu i kodzeniu tej gry z perspektywy czasu uważam za najbardziej wartościowe doświadczenie. Później przyszedł okres przestoju jeśli chodzi o programowanie. Paradoksalnie idąc na studia nie myślałem, że mógłbym zająć się w życiu programowaniem. Zawsze traktowałem to jako pasję. Próbowałem studiować nanotechnologię, ale doszedłem do wniosku, że nie jest to coś, co chcę robić w życiu. I tutaj pojawił się wątek z QA.

Jak dowiedziałeś się o tym, że w firmach potrzebni są też testerzy i QA?

Tak naprawdę to był przypadek. Miałem wakacje i szukałem jakiegoś zajęcia. Kolega pracował jako programista i w jego firmie akurat szukali jakiejś osoby na to stanowisko. Było to testowanie gier napisanych w JS. Podsyłałem kolegom już zdebuggowane błędy, a najlepsze w tej pracy było to, że miałem dużo wolnego czasu, który poświęcałem nauce pierwszych frameworków SPA. Szukając wiedzy poszedłem na semestr na Polibudę, na informatykę. Zdarzały się jednak zajęcia, na których wykładowcy mówili, żebym nie przychodził, bo mój poziom przewyższa program.

W wakacje postanowiłem poszukać pracy. Zatrudniłem się na stanowisku ‚Angular Developer’. Miałem wracać na studia po 3 miesiącach, ale warunki jakie zaoferował Roche sprawiły, że w mojej ocenie studiowanie byłoby głupotą. Wolałem zdobywać doświadczenie i uczyć się przez praktykę, niż siedzieć w książkach. To i tak robiłem, ale przynajmniej w niewymuszony sposób.

Jak przygotowywałeś się do rozmowy rekrutacyjnej w Roche? Padło pytanie, dlaczego wybrałeś Angulara?

W tamtym okresie miałem kilka rekrutacji. Nie przypominam sobie żebym specjalnie przygotowywał się do rekrutacji w Roche. Natomiast stosuje zasadę, że gdy nie znam odpowiedzi na jakieś pytanie, pierwsze co robię wychodząc z rozmowy, to znajduje na nie odpowiedź. Drugą sprawą jest praktyka, pewność siebie ma duże znaczenie, a poza tym po kilku rozmowach pytania się powtarzają. Poza tym rozmowy kwalifikacyjne są bardzo rozwijające. Nie pamiętam dokładnie czy padło pytanie o Angulara, ale w tamtym okresie był to topowy framework, więc to bardzo możliwe.

Wielu początkujących developerów, żeby uatrakcyjnić swoją kandydaturę, pokazuje projekt stworzony po godzinach. Mógłbyś pokazać/opisać ten, który przekonał Roche do zatrudnienia właśnie Ciebie?

Nieszczególnie omawialiśmy któryś z moich projektów. Ewentualnie na samym początku omówienie czym do tej pory się zajmowałem, ale na pewno bez konkretów. Dalej już tylko techniczne pytania sprawdzające poziom wiedzy. Z punktu widzenia osoby rekrutującej, dużym pozytywem jest jeśli kandydat robi swoje projekty po godzinach. W końcu najlepsi pracownicy to pasjonaci. Myślę, że taki projekt może zdecydowanie uatrakcyjnić kandydaturę początkującego developera.

Ważne żeby był skończony w stopniu umożliwiającym prezentację. Niedokończony projekt wywoła raczej negatywne emocje. Dla większości managerów kluczowym aspektem jest to, czy nowy developer będzie „dowoził”, czyli doprowadzał do końca powierzone zadania.

Ciekawi mnie to, dlaczego wybrałeś właśnie pracę w Roche? Przekonały Cię warunki finansowe? Poleciłbyś juniorowi właśnie pracę w korporacji, a nie w software housie, czy startupie?

Finansowo to była dla mnie najkorzystniejsza oferta, dodatkowo 100% zdalnie — to przeważyło. Dobrze odnajduje się w pracy zdalnej, chodź w dużej mierze zależy to od profesjonalnego podejścia zespołu. Wiem, że niektórym mają problem z zarządzaniem czasem i odpowiednim zmobilizowaniem się do pracy. To było stosunkowo miękkie wejście w świat korporacji. Szczerze mówiąc dla mnie różnica nie jest tak diametralna. Do pewnych procesów w korporacjach trzeba się po prostu przyzwyczaić. Bardzo dużo zależy też od zespołu, w którym pracujemy. Z mojej obserwacji wynika, że mniejsze firmy mniej wymagają od początkujących, z tego powodu w korporacjach pracuje mało juniorów. Jest też duża różnica w oferowanych zarobkach, z reguły korporacje oferują dużo lepsze wynagrodzenie, ale na pewno zdarzają się wyjątki od tej reguły. Innym aspektem jest rozpoznawalność firmy w CV. Dla początkującej osoby znana firma w CV ułatwia dalszy rozwój kariery.

Dość szybko objąłeś stanowisko Senior Frontend Developer w Roche. Czym różni się praca seniora, od juniora?

Muszę przyznać, że odpowiedź na to pytanie nie jest dla mnie oczywista. W swojej komercyjnej karierze nigdy nie pracowałem z juniorem. Przez jakiś czas charytatywnie uczyłem dwie osoby, porzuciłem jednak ten pomysł ze względu na brak czasu. Wiem, że wielu ludzi definiuje różnice w juniorze i seniorze jako poziom niezależności. Zgadzam się z tym. Dodatkowo bardzo często jest tak, że senior rozwiąże problem w kilka minut, który juniorowi zająłby kilka dni. Jest też ewidentna różnica w jakości kodu. Senior pisze bardziej przemyślany i dokładny kod — wynika to z doświadczenia.

Dlaczego przestałeś pracować w Roche i zatrudniłeś się w irlandzkiej firmie?

W większości wypadków zmieniałem pracę ze względu na warunki finansowe. Tak też było z Roche. Wtedy dostałem ofertę z Dublina, finansowo wychodziło dużo lepiej, pewnie tak że miałem 100% większe zarobki.

Jak przebiegał sam proces rekrutacji do irlandzkiej firmy? W jakiś sposób różnił się od tych przeprowadzanych w Polsce?

Proces składał się z trzech rozmów na skype. To była najbardziej praktyczna rekrutacja jaką miałem. Dostałem za zadanie stworzyć w Angularze CRUD z widokiem tabeli z dość zaawansowanym filtrowaniem i paginacją. Później głównie mawianie kodu, miałem za zadanie wytłumaczyć dlaczego zastosowałem takie, a nie inne rozwiązanie. Było też trochę pytań technicznych. O dziwo cały proces był przeprowadzony zdalnie i nie musiałem lecieć na onsite interview.

W tzw. międzyczasie pracowałeś dla australijskiej firmie — na drugim etacie.

Kolega poprosił mnie o pomoc w budowaniu SPA dla jednego z tamtejszych startupów. Muszę przyznać, że był to trudny okres w moim życiu. Zdecydowanie za dużo pracy wziąłem na siebie, co odbiło się na moim zdrowiu. Teraz uważam, że mogłem trochę odpuścić.

Później pracowałeś w firmach z siedzibami w Dublinie. Jakie warunki Tobie zaproponowano? Firma pomogła w relokacji, znalazła mieszkanie?

To był kontrakt, stawka dzienna była około 4 razy wyższa niż na poprzednim kontrakcie. Trzeba jednak pamiętać, że koszty życia w Dublinie czy Londynie przewyższają kilkakrotnie Warszawę czy inne polskie miasta. System podatkowy jest inny, więc przed podjęciem jakichkolwiek decyzji należy brać to pod uwagę. Cała relokacja była na mojej głowie, z tego co pamiętam rekruter doradził mi tylko, co do portali ogłoszeniowych, na których warto szukać ofert wynajmu. Wyjazd na ten kontrakt był dość ryzykownym posunięciem. Na pewno trzeba mieć spore oszczędności decydując się na taki krok.

Jak wyglądał ówczesny rynek pracy w Dublinie? Jakie technologie były najbardziej pożądane przez pracodawców?

Nie robiłem dużego rozeznania. Rekruter skontaktował się ze mną na LinkedIn, stawka była zachęcająca i na interview podobały mi się rzeczy, które miałbym robić. W internecie większość ofert dotyczyła angulara 1.x albo backbone’a.

Po latach pracy w Dublinie wróciłeś do Radomia i otworzyłeś Selesto — platformę do otwierania e-sklepów. Praca we własnym startupie jest trudniejsza? Dlaczego?

Zrobiłem sobie dłuższą przerwę od pracy i wtedy przypadkowo pojawił się pomysł na Selesto. Mój kolega odezwał się do mnie z pytaniem, czy nie mógłbym zakodzić sklepu internetowego. Później koleżanka przyszła z podobnym problemem. Ona miała już działający sklep na jednej z topowych platform, jednak jakość usług (sklep był offline przynajmniej 2 dni w miesiącu) i ilość błędów była zdumiewająca. Zrobiłem POC, zebraliśmy zespół i tak powstała platforma Selesto.

Jak długo pracowałeś nad MVP?

Kodzenie wymagało przeszło dwóch lat i dużych nakładów finansowych, ale przyznam szczerze, że w mojej dotychczasowej karierze nic nie dało mi takiej satysfakcji. Praca we własnym startupie to ogromne wyzwanie głównie dlatego, że trzeba panować nad masą rzeczy, o których nie miałem pojęcia. Musisz mieć biznesową wizję, a także pomysł jak sprzedać produkt.

Zaczynając myślałem, że jeżeli Selesto będzie najlepszą platformą to ludzie po prostu zaczną z niej korzystać. To był chyba największy błąd w moim myśleniu. Nawet najlepszy produkt zniknie z rynku jeśli nie uda się go wypromować i to w sumie smutne zjawisko. Na szczęście mamy w zespole kompetentnych ludzi i myślę, że niebawem Selesto będzie konkurować z największymi dostawcami tego rodzaju oprogramowania.

Jakbyś mógł podsumować dotychczasową ścieżkę twojej kariery, to jaki projekt opisałbyś jako taki, który sprawił Tobie najwięcej trudności, wyzwań?

Ciężko wskazać dokładnie, który projekt sprawił mi najwięcej trudności. Każde wyzwanie jest inne. Przeglądarkowa gra była wyzwaniem, bo wszystko było dla mnie nowe. Selesto jest na pewno ogromnym przedsięwzięciem. Obecnie jestem konsultantem dla Goldman Sachs i praca tutaj też jest bardzo wymagająca. Myślę, że w naszej pracy wyzwania są na każdym kroku i nie da się ich uniknąć. Szczególnie w nowoczesnym f/e, gdzie jest naprawdę masa rzeczy do ogarnięcia.

Wcześniej wspominałeś, że pomagałeś dwóm developerom w nauce. Z perspektywy Twojego doświadczenia, od czego dzisiaj zacząłbyś ścieżkę zostania frontend developerem?

Uważam, że bez pasji nie da się być dobrym w tej branży. Tym też kieruje się prowadząc rekrutacje. Dużo osób, które mają imponujący skillset zaczynało jeszcze będąc dzieckiem. Jeśli jednak ktoś pyta mnie jak zacząć, zazwyczaj pytam czy jest gotowy poświęcić rok lub dwa ciężko pracując po 12 godzin dziennie. Na pewno na początek warto nauczyć się solidnych podstaw z książek, a później już tylko praktyka. Żeby zarabiać większe pieniądze, jest spory próg wejścia, gdyż większe/bogatsze firmy wolą zatrudniać bardziej doświadczonych programistów. Dlatego przez pierwsze 3 lata nie zwracał bym raczej uwagi na zarobki — bardziej koncentrował bym się na rozwoju, bo to z pewnością zaprocentuje.

Teraz trochę przewrotnie: co zdecydowanie odradziłbyś juniorom, początkującym developerom albo nawet wanna be devom? Zaczęcie od swojego mini-projektu? Kursy online? A może bootcamp? Dlaczego?

Ciężko odnieść się do bootcampów, bo nigdy nie brałem w żadnym udziału. Z wszystkich wymienionych przez Ciebie metod nauki można dużo wynieść, zależy od zaangażowania. Na pewno odradzałbym wchodzenie do IT z powodów finansowych. Komuś kogo to nie kręci, praca deva okaże się żmudną i nudną, a topowe stawki należą i tak do pasjonatów. Jeśli chodzi o naukę, to zdecydowanie odradzam koncentrowanie się na frameworkach (React, Angular etc.), na to na pewno przyjdzie czas, a podstawy JS i całego FE to zdecydowanie najważniejszy punkt.


Jakub Wieczorek. Senior Javascript Developer w Goldman Sachs w Londynie. Współzałożyciel platformy sklepowej Selesto, pasjonat podróży, wspinaczek górskich i sportu kartingowego. Swoją przygodę z programowaniem rozpoczął już w wieku 12 lat , niedługo potem stworzył grę komputerową, którą sprzedawał przez SMS.

Zapraszamy do dyskusji
Nie ma więcej wpisów

Send this to a friend