Dariusz Mozgowoj przez lata pracował jako geofizyk, a jego jedyna styczność z programowaniem wiązała się z napisaniem małych skryptów w bashu. Gdy wrócił do kraju, postanowił sprawdzić się w nowej dziedzinie. Przeszedł kilka darmowych kursów programowania, ale zawsze brakowało w nich czegoś. Zmieniło się to, gdy znalazł ofertę kodilla.com i postanowił z niej skorzystać. Po ukończonym kursie szybko znalazł pracę na stanowisku Junior Java Developera.

Przez lata pracowałeś jako geofizyk — to zawód raczej nie kojarzący się z programowaniem. Powiedz, kiedy i dlaczego zainteresowałeś się nauką programowania?

Praca geofizyka, którą wykonywałem miała na celu przetwarzanie dużej ilości danych sejsmiki morskiej. Programowania tam nie było, ale jakieś małe skrypty w bash trzeba było czasem napisać. Gdy podjąłem decyzję o powrocie do Polski, wiedziałem już, że nie mam co liczyć na pracę w tym zawodzie. Pierwotnie myślałem o analizie danych (mając nadzieję, że niektóre umiejętności nabyte podczas dziesięciu lat pracy, będą wartością dodaną). W tym celu rozpocząłem samodzielną naukę “języka” R. Wkręciłem się w kodowanie i zauważyłem, że sprawia mi to przyjemność.

W tamtym czasie trudno mi było znaleźć pracę jako analityk danych. Głównym czynnikiem odrzucanych ofert był brak doświadczenia w tym zawodzie. Do stanowisk juniorskich albo nie mogłem się dokopać, albo takich nie było za wiele na rynku pracy. Wtedy zaczęła mi w głowie kiełkować myśl, że może jednak pójść na całość w kodowanie. Dodatkowo w moim najbliższym otoczeniu, (mówię o rodzinie i przyjaciołach) jest całkiem sporo programistów, którzy wspierali mnie w tej decyzji.

Co utwierdzało Ciebie w przekonaniu, że nadajesz się na programistę? Myślałeś o sobie w kontekście konkretnych cech charakteru?

Jestem umysłem technicznym i analitycznym. W swojej poprzedniej pracy często musiałem rozwiązywać problemy na podstawie logów pochodzących od dedykowanego oprogramowania. Ponadto im więcej pisałem, na początku w R, później w Java, tym bardziej mnie to fascynowało. Musiałem tylko zebrać się na odwagę i zrobić ten ostatni krok — zapisać się na profesjonalny bootcamp.

Większość osób zafascynowanych programowaniem zaczyna od darmowych kursów. Też je przeszedłeś? Czego Ci w nich brakowało?

Coś tam próbowałem, ale nigdy, żadnego kursu nie skończyłem. Brakowało mi kogoś, kto odpowiadałby na moje pytania i rozwiewał narastające wątpliwości. Responsywność twórców takich kursów jest znikoma lub jej nie ma. Zapewne dałoby się nauczyć programowania samemu, jednak jestem przekonany, że moja droga do dobrego kodowania byłaby znacznie dłuższa.

Podczas tego szukania darmowych materiałów, na pewno pojawiła się gdzieś informacja o płatnych bootcampach. W jaki sposób szukałeś odpowiedniego dla siebie kursu, szkolenia, szkoły? Jakie wymagania musiał spełniać? Czego oczekiwałeś od autorów kursu?

Długo przeglądałem oferty popularnych bootcamp’ów. Natknąłem się w tym czasie na bloga bootcampy.pl. Tam znalazłem dość dużo ciekawych informacji dotyczących tego, jak wygląda rynek bootcamp’ów w Polsce. Najbardziej obawiałem się, że chcąc brać udział w takim kursie, będę musiał przyswoić w np. 3-4 tygodnie tak duży przekrój wiedzy. Znam siebie na tyle, że wiedziałem, że nie nauczę się zagadnień wystarczająco dokładnie w tak krótkim czasie.

Ucieszyłem się na wieść, że można uczyć się online i to w ciągu pół roku, a nie miesiąca. Udało mi się dzięki temu logistycznie tak rozplanować swój dzień, że nie cierpiała na tym ani moja rodzina, ani ja (ze zmęczenia). Dodatkowo chciałem mieć jakąś pewność, że płacąc (dość sporo) otrzymuję wiedzę z najlepszych i najaktualniejszych technologii dostępnych na rynku. Po konsultacji z moim “programistycznym” otoczeniem, utwierdziłem się w przekonaniu, że bootcamp Kodilla spełnia najwięcej z moich wymagań i wybór stał się prosty.

Czyli w grę nie wchodziły stacjonarne kursy programowania, wymagające porzucenia pracy i poświęcenia ośmiu godzin dziennie na naukę?

Kurs stacjonarny nie wchodził w grę. Po pierwsze były one dla mnie za krótkie. Próbowały przekazać większość tej wiedzy upakowanej w 3-4 tygodnie. Po drugie, nie chciałem obciążać rodziny i spędzać z nią tyle samo czasu, co wcześniej. Z rzucaniem pracy nie byłoby problemu, ponieważ miałem ten luksus, że nie pracowałem podczas trwania kursu.

Zdecydowałeś się na Kodillę, powiedz jak wyglądała nauka. Ile czasu w ciągu tygodnia poświęcałeś na nią?

Po pierwsze, założyłem sobie, że nie robię tzw. “pleców” i nie zostawię materiału z jednego modułu (moduł=tydzień) na “kiedyś”. Każdy z modułów ukończyłem w założonym czasie. Nauka zajmowała mi od 15 do 40 godzin tygodniowo. Początkowe moduły były bardzo proste i zajmowały najmniej czasu. Po drodze były 2-3 takie, które zajęły ok. 40 godzin i tylko przy nich pracowałem/uczyłem się również w weekend.

Pamiętasz jakieś najtrudniejsze momenty? Jak sobie z nimi poradziłeś?

Najtrudniejszymi elementami było zrozumienie pewnego poziomu abstrakcji jaki był przedstawiany w niektórych przykładach, czy to w czystej Javie, czy na poziomie framewok’u Spring. Musiałem przestawić umysł na trochę inny rodzaj myślenia, niż to w jaki myślałem na co dzień. Zazwyczaj pomagała pętla [czytanie materiałów -> analizowanie kodu -> pisanie swojego przykładu -> jeżeli dalej nie rozumiesz, wróć na początek].

Zdarzyło się, że nadal nie mogłeś zrozumieć o co chodzi i wtedy zwracałeś się o pomoc do mentora/opiekuna w Kodilla? Pamiętasz o co dokładnie pytałeś?

Zazwyczaj przesyłałem kod do sprawdzenia i zaznaczałem, co mnie blokuje. Mentor nigdy wprost nie podał rozwiązania, tylko nakierowywał mnie poprzez podanie dodatkowej literatury czy przykładu. Ponadto w Kodilla istnieje super społeczność uczniów i komunikując się na czacie można szybko, wspólnymi siłami zrozumieć najtrudniejsze zagadnienia.

Mógłbyś w skrócie opowiedzieć, czego dowiedziałeś się na szkoleniu z Javy?

Dowiedziałem się jak funkcjonują obecne serwisy webowe pisane w formie mikroserwisów, jak wiele technologii współtworzy skuteczny projekt aplikacji webowej. A tak naprawdę dowiedziałem się, jak niewiele umiem i jak wiele będę musiał się jeszcze nauczyć i że czuję się dobrze z tą myślą.

Trudno na kursie nauczyć się wszystkiego. W jaki sposób samodzielnie rozwijałeś swoje umiejętności?

Podczas kursu rozpocząłem naukę dodatkowego pakietu — Vaadin i napisałem w nim prosty program. Ponadto bardzo dużo czytałem i szukałem informacji na stackoverflow czy innych serwisach poświęconych kodowaniu.

Jak skończył się cały kurs programowania? Otrzymałeś jakiś feedback od opiekuna, końcowe porady dotyczące dalszej ścieżki rozwoju?

Cały kurs skończył się płynnie poprzez oddanie projektów, rozmowy ze specjalistką HR oraz rozwijanie CV, jak i profilu na LinkedIn. Jeżeli chodzi o feedback to mentor ocenił mnie i dał temu świadectwo na profilu LinkedIn. Co do kolejnych kroków w karierze to praktycznie w każdej cotygodniowej sesji poruszaliśmy takie tematy jak, czego warto się uczyć, jak wygląda praca itp. Tutaj trzeba podkreślić, że mentorzy najczęściej są aktywnie pracującymi programistami z dużym bagażem doświadczeń zawodowych.

Dość szybko znalazłeś pierwszą pracę. Kodilla załatwiła Ci rozmowy z pracodawcami. Jak pracodawca sprawdzał to, co potrafisz?

Tak, po ok. 3-4 tygodniach rozpocząłem miesięczny staż u pracodawcy, z którym teraz jestem związany. Proces rekrutacji był wieloetapowy. Najpierw rozmowa ze specjalistą HR, następnie zadanie do wykonania (dość obszerne). Po kilku dniach dostałem duży dokument analizujący jakość kodu, który zawierał pozytywne i negatywne w odczuciu doświadczonego programisty opinie na temat napisanego przeze mnie kodu. Kolejnym etapem było spotkanie i rozmowa w siedzibie firmy. Rozmowa dwuczęściowa, techniczna z doświadczonymi programistami i rozmowa ze Scrum Masterem na tematy związane z metodologią Scrum (część tej rozmowy po angielsku).

Kolejnym krokiem była propozycja miesięcznego stażu (wsparcie QA, trochę Java backend). Na koniec miesiąca pracodawca zasięgnął informacji o mnie u kolegów, z którymi pracowałem i na podstawie całości zdecydował się o przedstawieniu mi oferty pracy.

W nowej pracy zacząłeś od prostych rzeczy, czy rzucili Cię na głęboką wodę?

Podczas stażu oprócz kilku epizodów z Javą pracowałem z nowymi dla mnie technologiami, tj TypeScript, Protractor, rozwijanie testów e2e, Angular 5. Dużo musiałem dowiedzieć się też o infrastrukturze (AWS, Jenkins itp). Ponadto złożoność i kodu tworzącego back-end była wielokrotnie większa niż ta, z jaką miałem styczność podczas kursu. Z tym musiałem sobie poradzić, przeglądając kod i ucząc się wieczorami. Niemały wpływ miały też na mnie wskazówki moich kolegów z pracy.

Powiedziałeś ważną rzecz, o której może nie wiedzą wszyscy zainteresowani nauką programowania. Mimo znalezienia pierwszej pracy w zawodzie, nadal po godzinach uczysz się. Ile czasu dzisiaj poświęcasz na naukę?

Praca programisty wymaga ciągłego doszkalania się. Prędkość zmian na rynku technologii jest olbrzymia. Niedostosowanie się do tych zmian może zakończyć się boleśnie — utratą wartości rynkowej prezentowanych przez programistę umiejętności. W pracy programisty podoba mi się to, że nauka jest też częścią każdego dnia pracy. Ponadto staram się dodatkowo czytać oraz kodować w domowym zaciszu. Myślę, że jest to ok. 10 godzin tygodniowo.

Coś jeszcze warto przekazać początkującym, by wiedzieli na czym polega praca programisty?

Nie strasząc nikogo, trzeba jasno powiedzieć, że ilość wiedzy jest olbrzymia. Kompletnie nie zdawałem sobie z tego sprawy. Jednak, nikt nie wymaga od początkujących programistów posiadania takiej wiedzy na starcie. Trzeba chcieć, założyć sobie plan na rok dwa, co musimy i potrzebujemy się nauczyć i konsekwentnie go realizować. Satysfakcja na końcu jest niesamowita!

Wróćmy jeszcze do tematu szukania pracy. Czego Ty, jako początkujący programista, szukałeś w propozycjach pracodawców? Na czym Tobie zależało?

Przede wszystkim nie patrzyłem na wysokość zarobków, wiedziałem, że najpierw muszę nauczyć się wielu rzeczy i pokazać, że jestem wartościowym członkiem zespołu. Najważniejsze było dla mnie pracowanie z technologiami takimi jak Java, Spring, których uczyłem się podczas bootcamp’u. Bardzo ważna była dla mnie również możliwość rozwoju.

Co chciałbyś osiągnąć jako programista w przyszłości? Z czego byłbyś najbardziej dumny?

Chciałbym kiedyś być na poziomie jaki prezentują moi koledzy. Codziennie imponują mi zaangażowaniem i olbrzymią wiedzą jaką dysponują. Najbardziej byłbym dumny, gdybym potrafił nauczyć programowania i mentorować kogoś innego.


Dariusz Mozgowoj. Junior Java Developer w Pragmatic Coder, firmie specjalizującej się w rozwoju oprogramowania fintech. W 2007 roku ukończył studia na Wydziale Geologii, Geofizyki I Ochrony Środowiska, AGH w Krakowie. Od 2007 do 2017 roku pracował dla norweskiej firmy, PGS z siedzibą w Oslo. Jako geofizyk, uczestniczył w procesie poszukiwania złóż węglowodorów na szelfie norweskim. W 2018 roku ukończył bootcamp Java Developer prowadzony przez Kodilla.

Zdjęcie główne artykułu pochodzi z picjumbo.com.

Zapraszamy do dyskusji
Nie ma więcej wpisów

Send this to a friend