fbpx
ArtykułBack-endHistorie AbsolwentówJavaKariera w ITPoczątki programowania

Azymut na IT: Grafik, który został programistą Java

Programowaniem zainteresował się już w szkole średniej, ale w dorosłym życiu zajął się grafiką. Dlaczego wrócił do pisania kodu, jak wyglądała nauka i szukanie pierwszej pracy? Zapraszamy na rozmowę z absolwentem bootcampu Java + Spring w infoShare Academy, Michałem Szymakiem.

Czym zajmowałeś się, zanim zainteresowałeś się programowaniem?

Na „dzień dobry” rzucę frazesem, który świetnie się nadaje jako początek odpowiedzi na wiele pytań związanych z programowaniem: „To zależy…”. Mianowicie „to zależy” czy mówimy o etapie, kiedy programowaniem zainteresowałem się po raz pierwszy, czy też kiedy postanowiłem wrócić do niego po dłuższej przerwie i się przebranżowić.

Ten pierwszy kontakt był w szkole średniej, wtedy uczyliśmy się podstaw C++. Spodobało mi się na tyle, że poszedłem na studia informatyczne. Z kolei w trakcie studiów podjąłem decyzję – z perspektywy czasu błędną – żeby zająć się grafiką komputerową, a programowanie porzucić. Kilka lat po studiach grafiką zajmowałem się już tylko dorywczo, zaś na co dzień pracowałem w biurze zamówień publicznych. I wtedy doszedłem do wniosku, że to właśnie programowanie jest dla mnie właściwym kierunkiem, chociaż droga do przebranżowienia się była jeszcze daleka.

Dlaczego zainteresowałeś się programowaniem?

Ciężko powiedzieć, dlaczego się tym zainteresowałem. Po prostu spodobało mi się już przy pierwszym kontakcie, w szkole średniej. Mam wrażenie, że ta praca pasuje do moich predyspozycji. Niestety w trakcie studiów zabrakło mi zapału i wytrwałości, żeby trzymać się tej drogi również wtedy, kiedy było trudniej i coś nie wychodziło. Zamiast tego wybrałem inną specjalność, która zdecydowanie gorzej do mnie pasowała. Potrzebowałem czasu, żeby to zrozumieć i naprawić swoje błędy.

O jakich predyspozycjach mówisz? Jakie cechy, według Ciebie, powinien posiadać programista?

Wydaje mi się, że programista powinien być nastawiony na rozwiązywanie problemów, umieć logicznie myśleć i analizować. Krótko mówiąc, najlepiej być tzw. umysłem ścisłym, do których ja również się zaliczam. Zawsze bardzo dobrze radziłem sobie z matematyką, lubiłem rozwiązywać zadania i łamigłówki. Do tego raczej szybko się uczę, a to wiąże się z kolejną ważną – przynajmniej według mnie – cechą w tym zawodzie. Trzeba być gotowym i chętnym do ciągłej nauki nowych rzeczy bo branża stale ewoluuje.

Od początku wiedziałeś, że będziesz się uczył Javy?

Na Javę zdecydowałem się już po kilku latach pracy, kiedy postanowiłem się przebranżowić. Pod koniec studiów – jeśli już programowałem – to głównie w C#. 

Javę wybrałem na podstawie opinii, jakie do mnie docierały: że jest spore zapotrzebowanie na specjalistów od tego języka, i to, że są dobrze opłacani.

Nie bałeś się ryzyka?

Oczywiście, że tak. Przerażała mnie świadomość, że czeka mnie mnóstwo pracy, ale przede wszystkim – brak konkretnego, zdefiniowanego punktu końcowego, do którego bym dążył. Wiedziałem, że chcę być gotowy do znalezienia i podjęcia pierwszej pracy, a potem zdobywać doświadczenie i dalej się rozwijać. Ale jaki jest ten próg wejścia? Co tak naprawdę powinienem wiedzieć i umieć? Kiedy będę mógł uznać, że jestem gotowy? Na te pytania dość długo nie znałem odpowiedzi i trochę mnie to paraliżowało.

Co sprawiło, że uznałeś, że to jest ten moment?

Zdecydowany na to, żeby się przebranżowić byłem przez kilka lat, ale ciągle to odwlekałem – z powodów, o których mówiłem przed chwilą. Poza tym całkiem lubiłem swoją poprzednią pracę, nawet jeśli wiedziałem, że nigdy nie będę nią do końca usatysfakcjonowany – ani finansowo, ani zawodowo.

Jednak przyszedł taki moment, kiedy wyczerpały mi się możliwości awansu czy podwyżki zarobków i uznałem, że trzeba się poważniej zabrać do tematu zmiany pracy.

Nad jakimi formami nauki zastanawiałeś się przed rozpoczęciem nauki w infoShare Academy? (nauka samodzielna, książki, youtube, udemy, studia?)

Studia miałem już za sobą, chociaż w praktyce bardzo dużo tej wiedzy już uleciało. Bardzo długo byłem nastawiony na samodzielną naukę (z wykorzystaniem kursów na Udemy) i trwałem w przekonaniu, że dam radę przygotować się właśnie w ten sposób. No bo skoro tyle wiedzy i materiałów jest dostępnych za darmo albo do kupienia tanio na promocjach, to po co mi bootcamp?

Skąd więc decyzja o bootcampie?

Z kilku powodów. 

Przede wszystkim samodzielne przygotowania trwały zdecydowanie zbyt długo. Nie miałem dość samodyscypliny, żeby regularnie i niezależnie od innych obowiązków poświęcać czas na naukę i rozwój. A każda dłuższa przerwa prowadziła do frustracji spowodowanej tym, że zamiast iść do przodu, muszę się na nowo wdrożyć. Przypomnieć sobie gdzie skończyłem, odświeżyć tematy, które przerabiałem jako ostatnie. Często na samą myśl o tym podświadomie szukałem innego zajęcia, pretekstu żeby ten „powrót” przesunąć na później. Błędne koło. 

Do tego dochodził problem, o którym wspominałem wcześniej – brak konkretnego planu nauki i zdefiniowanego celu. W przypadku bootcampu byłem spokojny, że osoby doświadczone i kompetentne wykonają pracę za mnie i dobiorą odpowiedni zakres materiału. 

No i ostatnia kluczowa kwestia – bezpośredni kontakt z doświadczonymi praktykami. Czyli coś, czego nie dadzą książki ani tutoriale – możliwość dopytania na bieżąco, regularny feedback i sporo wiedzy o samej pracy programisty podanej tak przy okazji, mimochodem.

Mogłeś cały swój wolny czas poświęcić na naukę?

W tamtym okresie pracowałem dorywczo jako grafik komputerowy. Zdarzały się dni, kiedy pilne zlecenia zabierały mi czas na naukę, ale ogólnie nie mogłem narzekać. Uważam, że miałem spory komfort.

Jak wyglądało przygotowanie do kursu i sama nauka?

Najpierw dostaliśmy materiały do przerobienia przed kursem, czyli tzw. prework, który obejmował sporo różnorodnych zagadnień i na pewno stanowił niezłe przygotowanie do kursu. Ten etap przypominał mi wcześniejszą naukę, bo forma była podobna, a niektóre tematy miałem już opanowane.

Sam bootcamp to już oczywiście inna sprawa. Zajęcia z trenerami na żywo, duże nastawienie na praktyczne korzystanie z omawianych technologii i wykonywanie ćwiczeń w trakcie zajęć, pod nadzorem prowadzącego. Czas trwania zajęć był tak dobrany, żebyśmy codziennie dostali solidną dawkę wiedzy, ale nie byli znużeni czy przemęczeni, a jednocześnie mogli popracować z tym materiałem we własnym zakresie.

Od trenera wspierającego dostawaliśmy zadania domowe, które pozwalały jeszcze raz przećwiczyć wiele zagadnień omawianych na kursie i zastosować je w praktyce tworząc osobną, małą aplikację. 

Dużo czasu przeznaczono też na zajęcia projektowe. Po około dwóch tygodniach, kiedy przerobiliśmy najbardziej podstawowy materiał, podzielono nas na grupy po 3-4 osoby. Wybieraliśmy temat i aż do końca bootcampu poświęcaliśmy 3 z 10 zajęć w tygodniu właśnie na pracę w grupach i rozwijanie projektu. Oczywiście we własnym zakresie, po zajęciach, też się tym zajmowaliśmy.

Pamiętasz jakieś trudne momenty, które miałeś podczas kursu?

W zasadzie to nie przypominam sobie jakichś kryzysowych momentów w czasie bootcampu, cały czas miałem poczucie, że się rozwijam i idę w dobrym kierunku. Poza tym, w razie problemów nie byliśmy pozostawieni sami sobie i mogliśmy kontaktować się między sobą czy prosić o wsparcie instruktorów. 

To dziwne, ale chyba studia, które kiedyś skończyłem, teraz pomogły mi uniknąć większych kryzysów. Nie chodzi o wiedzę czy umiejętności, bo większość zdążyła wyparować z głowy, ale miałem już świadomość, że mniejsze lub większe problemy podczas nauki programowania to norma, a nie znak, że się nie nadaję. Po prostu trzeba szukać rozwiązań, bo to, czego się wtedy nauczymy najbardziej się utrwala. Ja już kiedyś popełniłem ten błąd, że zwątpiłem i odpuściłem, więc powtórka nie wchodziła w grę.

A nauka w trybie zdalnym? Nie przysparzała problemów?

Wydaje mi się, że mieliśmy dość dobrze odwzorowane warunki „tradycyjnego” bootcampu, ale w nowej sytuacji. Codzienne spotkania na żywo, w grupie – był ten kontakt „na bieżąco” z trenerami czy innymi kursantami. Domyślam się, że w formie stacjonarnej grupa integruje się bardziej, ale takie mamy czasy, że już normalna praca w tej branży coraz częściej odbywa się na odległość, przynajmniej w pewnym zakresie. Mogliśmy się więc przyzwyczaić do trybu, w jakim każdy z nas przepracuje przynajmniej część swojej kariery zawodowej.

Poza tym forma zdalna czasami dodawała zajęciom element humorystyczny, na przykład jeśli ktoś zapomniał wyłączyć mikrofon.

Opowiesz o jakiejś gafie? 🙂 

Akcji z niewyłączonym mikrofonem było sporo, ale jedna konkretna nie przychodzi mi do głowy. Poza tym był to raczej humor sytuacyjny, coś co trudno opowiedzieć.

Bardziej zapadła mi w pamięć prezentacja projektu w jednym z zespołów. Kolega napisał do swojej grupy wiadomość na Slacku i chyba zapomniał, że u odbiorców mogą się wyświetlać powiadomienia. Również u osoby, która właśnie prezentowała projekt i udostępniała ekran, więc wiadomość przez chwilę widzieli wszyscy. A biorąc pod uwagę jej treść, chyba nie taki był zamysł.  

Dobrze wspominasz pracę w grupie?

Bardzo dobrze to wspominam. Na zajęciach panowała dobra atmosfera do pracy, ale na pewno nie było sztywno ani nudno. Rozmawiając z innymi kursantami – na przykład na zajęciach projektowych albo w trakcie ćwiczeń wykonywanych w mniejszych grupach – cały czas miałem poczucie, że przebywam z fajnymi i ciekawymi ludźmi.

A trenerzy? Jak oceniasz ich pracę?

Trenerzy byli świetnie przygotowani merytorycznie, poza tym wielu z nich naprawdę miało dar do przekazywania tej wiedzy, rozwiewania wątpliwości które się pojawiały. Często starali się nas angażować w czasie zajęć, można też było liczyć, że odpowiedzą na ewentualne pytania już po zajęciach.

Pamiętasz, jak wyglądał ostatni dzień kursu?

Pierwsza połowa dnia to był tzw. hacker’s day. Zostaliśmy podzieleni na dwuosobowe zespoły, dostaliśmy przygotowaną wcześniej prostą grę, w której mierzą się ze sobą dwie drużyny. Każdy zespół miał napisać kod odpowiadający za to, w jaki sposób będzie grała jego drużyna, a później konfrontowaliśmy się na zasadzie „każdy z każdym”. Fajna rozrywka na zakończenie kursu.

Potem mieliśmy prezentację końcową projektów oraz tzw. retro. Dzieliliśmy się odczuciami i przemyśleniami na temat całego bootcampu. Jeden z kolegów powiedział wtedy, że w sumie to wystarczyłby kolejny tydzień przerwy (mieliśmy takie w trakcie kursu, mniej więcej co 4 tygodnie) i możemy lecieć dalej. Miałem podobne odczucia. Po prostu szkoda mi było, że to już koniec.

Co z Twojej perspektywy jest najważniejsze w trakcie nauki? Jak to robić najefektywniej?

Jest tak, jak z nauką czegokolwiek innego – im więcej czasu i uwagi poświęcimy, tym lepsze efekty. Poza tym ćwiczenia praktyczne są dużo lepsze niż próba zanotowania czy nauczenia się na pamięć wszystkiego co usłyszymy. Według mnie praca we własnym zakresie po zajęciach to podstawa. Po prostu trzeba kodować – im więcej, tym lepiej. A możliwości jest sporo, bo są zadania domowe, projekty grupowe, do tego poszczególni prowadzący często sami podsuwają zadania, którymi można się zająć we własnym zakresie jeśli czas nam pozwoli.

Tak powstawał projekt zaliczeniowy podczas bootcampu Java – zobacz wideo z prezentacji >>

Jak wyglądał proces szukania pracy po zakończeniu kursu?

Przeglądałem ogłoszenia dostępne na różnych portalach, jak noFluffJobs, BulldogJob, JustJoinIT, Praca.pl, Pracuj.pl i aplikowałem na stanowiska, które wydawały mi się ciekawe, a jednocześnie pasowały do mojego poziomu zaawansowania. 

Czułem się nieźle przygotowany do tego procesu, bo w trakcie kursu pomagano nam w napisaniu dobrego CV czy stworzeniu profilu na LinkedIn. Mieliśmy też próbne rozmowy techniczne czy HR-owe, które symulowały jak może to wyglądać już podczas prawdziwej rekrutacji.

Kiedy znalazłeś pierwszą pracę?

Poszukiwania zacząłem w marcu. Pierwsze oficjalne oferty, już po przejściu rekrutacji, dostałem pod koniec kwietnia. Jedną z nich przyjąłem i zacząłem pracę od czerwca.

Gdzie teraz pracujesz i na czym polega Twoja praca? 

Pracuję w firmie Sollers Consulting, która zajmuje się wdrożeniami oprogramowania dla firm z branży finansowej, przede wszystkim ubezpieczycieli. Obecnie biorę udział w projekcie, którego celem jest modernizacja systemu ratingowego dla firmy ubezpieczeniowej ze Stanów Zjednoczonych. To ciekawe doświadczenie, bo mam okazję poznać od środka duży system, znacznie bardziej rozbudowany i skomplikowany niż cokolwiek, z czym pracowałem wcześniej. Poza tym już w pierwszych kilku tygodniach zajmowałem się bardzo zróżnicowanymi zadaniami, więc nie ma czasu na nudę.

Masz już sprecyzowane plany co do dalszego rozwoju?

Po prostu chciałbym dalej się rozwijać i zdobywać doświadczenie, stawać się coraz bardziej samodzielnym w pracy przy dużym projekcie. Jeśli chodzi o konkretne technologie, frameworki czy branże dla których miałbym pracować, to jestem raczej otwarty. Chętnie próbuję nowych rzeczy i poszerzam horyzonty.

Czy poleciłbyś naukę w infoShare Academy? 

Zdecydowanie tak. Wydaje mi się, że w moim przypadku jedynym plusem opóźniania decyzji o wzięciu udziału w jakimś bootcampie był fakt, że wreszcie pojawiły się kursy zdalne i mogłem skorzystać z usług właśnie infoShare Academy nawet mieszkając daleko od Gdańska.

Jak z perspektywy czasu oceniasz decyzję o przebranżowieniu? Czy zrobiłbyś coś inaczej?

Na pewno była to słuszna decyzja, chociaż po drodze wiele razy miałem wątpliwości czy dam sobie radę. Żałuję tylko, że nie miałem okazji trafić do infoShare Academy wcześniej.

Jakie rady mógłbyś dać świeżo upieczonym programistom?

Tak naprawdę sam dopiero zaczynam i czuję się świeżo upieczonym programistą, ale spróbuję coś podpowiedzieć. 

Pierwsza i podstawowa rada będzie banalna, w dodatku się powtórzę. Według mnie najważniejsze jest, żeby dużo i regularnie kodować. Pisanie kodu, napotykanie problemów i ich rozwiązywanie to chyba najlepsza i najbardziej trwała metoda nauki. 

Poza tym warto odpowiednio nastawić się mentalnie. Zawsze przychodzi moment, w którym nie wiadomo jak coś napisać, dlaczego mój kod działa inaczej niż powinien lub nie działa wcale. Trzeba zaakceptować fakt, że to normalny etap nauki. Nastawić się na pokonywanie przeszkód, które będą się regularnie pojawiać.

Dziękuję Michale za rozmowę. Na zakończenie powiedz, proszę, co jest Twoją pasją? Co lubisz robić jeśli nie programujesz?

Interesuję się między innymi sportem, a w zasadzie dwiema dyscyplinami – MMA oraz piłką nożną. W czasach, kiedy gale mieszanych sztuk walki częściej odbywały się z udziałem publiczności zdarzało mi się jeździć po kraju czy Europie, żeby zobaczyć ulubionych zawodników na żywo. Tyle od strony fanowskiej. A od strony bardziej praktycznej interesuję się tańcem – głównie chodzi o street dance, w szczególności hip hop.

Do tego dochodzą takie bardzo standardowe sposoby spędzania wolnego czasu – spotkania ze znajomymi, filmy, książki, gry komputerowe.

Dziękuję za rozmowę.
rozmawiała Magdalena Makowska

Java + Spring

Java to od wielu lat jeden z najpopularniejszych języków programowania. Dojrzałość Javy powoduje, że cały czas jest to jedna z najchętniej stosowanych technologii. Z badań StackOverflow wynika, że z tego języka korzysta na co dzień ponad 40% programistów na całym świecie. Wynika to w dużej mierze z tego, że kilkanaście lat temu wiele dużych systemów napisano właśnie w Javie, więc do dziś są one rozwijane i wspierane właśnie w tym języku. Jest to więc nadal niezwykle pożądany język programowania na rynku IT.

Dla kogo? W przypadku Javy bariera wejścia jest nieco wyższa niż np. w przypadku technologii front-endowych. To dobra ścieżka dla osób ambitnych, których nie przeraża ciężka praca, chcących pracować przy dużych i zaawansowanych projektach. Idealnym przykładem zastosowania Javy są systemy bankowe, oparte o dużą ilość zależności biznesowych i logiki. To droga pełna wyzwań, ale też satysfakcji – zarówno zawodowej jak i finansowej.

👉 Weekendowy Bootcamp Java ze Springiem (przebranżowienie)

Przeczytaj: Czy Java jest dla ciebie? »

Back to top button