22.08.20226 min

Olexiy KapustnikSenior Java Developer / mentorCodeGym Java University

Jak zostać programistą Java: błędy, spostrzeżenia i sekrety

Dowiedz się, w jaki sposób można rozpocząć karierę Java Developera i poznaj tajniki pracy na tym stanowisku.

Jak zostać programistą Java: błędy, spostrzeżenia i sekrety

Język programowania Java jest jednym z najpopularniejszych na świecie. Dlatego właśnie tak wiele osób marzy o tym, aby zostać programistą Java. Ile czasu potrzeba, aby to osiągnąć? Czego musisz się nauczyć i jakich błędów powinieneś unikać? W tym artykule Olexiy Kapustnik, Senior Java Developer i mentor programowania dzieli się swoim doświadczeniem i lifehackami dla początkujących.

 

Pragnienie i wybór, porażka i przełom

Droga każdego programisty zaczyna się identycznie - od chęci. Dla jednych wiąże się to z zainteresowaniem informatyką, a inni uważają, że ten zawód to doskonała okazja do zarobienia dużych pieniędzy. Myślę, że wszystkie te siły napędowe są całkowicie normalne i mają sens.

Pierwszym krokiem jest wybór języka programowania. Aby to zrobić, musisz zrozumieć, co chcesz tworzyć w przyszłości: aplikacje mobilne, "zewnętrzną" stronę witryn internetowych, z którą użytkownicy wchodzą w interakcje (front-end development) czy "wewnętrzny silnik" programów (back-end development).

Ja wybrałem back-end i zacząłem uczyć się Javy. Dokładniej mówiąc, do tego wyboru popchnęły mnie okoliczności. Na drugim roku studiów nauczyciel zaproponował mi udział w pewnym projekcie. Do jego realizacji potrzebna była Java. Miałem zerową wiedzę na ten temat, ale znałem C++, Pascala i Basic. Pomogły mi one w szybszej nauce, więc w ciągu dwóch miesięcy opanowałem podstawy Javy.

Następnie zacząłem chodzić na rozmowy kwalifikacyjne. Jedna firma zaoferowała mi darmowy program szkoleniowy. Uczyłem się tam przez kilka miesięcy, ale nie zatrudnili mnie na pełny etat. Teraz rozumiem, że wtedy nie wiedziałem zbyt wiele.

Jak więc widać, ja nie miałem szybkiego startu do swojej kariery. Przez kolejne 1,5 roku "błądziłem" - skończyłem studia, wysyłałem CV do wielu firm i wielokrotnie byłem odrzucany. W końcu szczęście mi dopisało: najpierw zostałem polecony jako programista do projektu freelancerskiego, a potem jego autor założył małą firmę i mnie zatrudnił. To była moja pierwsza praca.

Od tego czasu minęło prawie 6 lat. Zmieniłem kilka miejsc pracy, a obecnie jestem Senior Developerem. Ponadto jestem również mentorem w CodeGym University, gdzie pomagam innym w nauce Javy.


Co na pewno trzeba wiedzieć, aby zostać programistą Java?

Ukończyłem szkołę techniczną i uniwersytet. Myślę, że edukacja techniczna jest pomocna dla programisty, ponieważ daje podstawowe pojęcie o ważnych rzeczach: jak działa komputer, jak zorganizowane są sieci itp. Niemniej jednak, jeśli mam być szczery, nie uważam, że jest to konieczność. Można zostać zatrudnionym nawet bez tej wiedzy.

To, czego naprawdę potrzebuje programista, to język angielski. Jest to jedna z podstawowych umiejętności twardych. Wszystkie moje doświadczenia dowodzą, że powinienem był zainwestować znacznie więcej czasu w naukę tego języka od samego początku. Bardzo by mi to pomogło, zwłaszcza na rozmowach kwalifikacyjnych, gdzie sprawdzają poziom angielskiego.

No i oczywiście trzeba znać Core Java, frameworki, Hibernate i bazy danych. Wszystkiego innego można nauczyć się po zdobyciu zatrudnienia. Nie zaszkodzi również nauczyć się metodologii rozwoju, aby zrozumieć, jak działają procesy.

Polecam ciągłe czytanie literatury fachowej (książki, artykuły) i robienie kursów. Na przykład ostatnio przeczytałem "Czysty Kod" i "Czysty Agile" autorstwa Roberta Martina i bardzo mi się podobały. Obecnie jestem w trakcie czytania "Kanban" autorstwa Davida Andersona.

Jeśli chodzi o umiejętności miękkie, kluczowa dla developera jest zdolność do adaptacji. Twoja wiedza może szybko stać się nieaktualna, więc musisz być przygotowany i zdolny do szybkiej nauki. Oto mój osobisty lifehack na poprawę umiejętności miękkich: zorganizuj swój harmonogram pracy, ale jednocześnie naucz się go szybko zmieniać. Musisz nauczyć swój mózg, że nic nie jest stałe i wszystko może się zmienić w każdej chwili.

Pomocna jest też praca nad umiejętnością zarządzania czasem i czytanie książek o produktywności. Ostatnio kupiłem książkę Reguła 80/20 autorstwa Richarda Kocha i wkrótce zacznę ją czytać.

Na pierwszy rzut oka dyscyplina wydaje się być przeciwieństwem zdolności adaptacyjnych, ale to złudzenie. Bez dyscypliny niczego nie osiągniesz, więc w tym miejscu musisz włożyć trochę wysiłku. Dla mnie nie było to łatwe. Wytrenowałam sobie wstawanie o konkretnej godzinie i stworzyłem rytuały (na przykład czytanie książki po porannej kawie). A zdolność do adaptacji polega na tym, że w razie potrzeby szybko zmieniasz kolejność działań, nie niszcząc przy tym swojego dnia. Czyli zachowujesz harmonogram, ale elastycznie bawisz się jego treścią.


Jak zostać Junior Developerem z zerowym doświadczeniem? Czy Javy można nauczyć się samodzielnie?

Zacznę od końca. Tak, Javy można nauczyć się samodzielnie, ale nie będzie to łatwe, jeśli jest to Twój pierwszy język programowania. Zasady stojące za programowaniem mogą wydać Ci się trudne. Nauka sama w sobie będzie wymagała dużo silnej woli, dyscypliny i wiele wysiłku. Musisz też wziąć pod uwagę tempo nauki w takim systemie. Jest szansa, że w ciągu kilku lat uda Ci się nauczyć języka całkowicie samodzielnie. Ale czy Twoja wiedza będzie do tego czasu aktualna? Warto zatem rozważyć uczestnictwo w kursie grupowym online lub nawiązać kontakt z przyjaciółmi, którzy programują. Wraz z moimi znajomymi na początku naszej kariery wymienialiśmy się doświadczeniami i pomagaliśmy sobie nawzajem. Teraz pracuję w tej samej firmie co niektórzy z moich znajomych i wszyscy jesteśmy już Senior Developerami.

Jeśli chodzi o rozpoczęcie kariery, masz dwie możliwości. Pierwsza z nich to stanowisko stażysty, a druga to praca na stanowisku Junior Developera. Obie opcje są dostępne nawet jeśli nie masz żadnego doświadczenia zebranego w innej firmie. Możesz wziąć udział w kursach, napisać programy, wykonać kilka projektów freelancerskich po czym dostać posadę Juniora. Studenci CodeGym University tworzą na przykład prawdziwe projekty, po których mogą stać się całkiem mocnymi Junior Developerami. Firma nie musi ich uczyć, wystarczy, że wytłumaczy im, jak zorganizowane są procesy.

Często widzę oferty pracy dla Juniorów, które wymagają co najmniej rocznego doświadczenia zawodowego. Nie wydaje się to słuszne - z takim doświadczeniem można już ubiegać się o stanowisko Middle Developera. Jeśli jakakolwiek firma proponuje Ci zatrudnienie na stanowisko Juniora w momencie gdy masz już roczne doświadczenie w programowaniu, może to oznaczać, że niestety nie programujesz jeszcze zbyt dobrze. 


Czy wśród developerów występuje zjawisko dyskryminacji z powodu wieku?

Jako nauczyciel i mentor pracowałem już z 8 grupami. Uczestnikami były różne osoby: od studentów po osoby po 40-tce. Na przykład jeden dorosły mężczyzna uczył się Javy od podstaw. Ukończył kurs w sierpniu, a w marcu już pracował w EPAM jako Junior Developer.

Zazwyczaj duże firmy nie przejmują się wiekiem kandydatów, ale małe organizacje mogą mieć inną perspektywę.

Osobom zmieniającym karierę zawodową znacznie trudniej jest się przekwalifikować. Muszą wywrócić swój świat do góry nogami, począwszy od zrozumienia, że bycie developerem równa się uczeniu się przez całe życie. Dlatego osoby, które dokonały zmiany i które odnoszą sukces, są bardzo silnymi ludźmi.


I wreszcie: czy warto podjąć cały ten trud?

Zawód programisty Java naprawdę wymaga ciągłej nauki i rozwoju, więc nie można go nazwać łatwym. Niemniej jest ekscytujący i nie pozwala stać w miejscu.

Najtrudniejszą częścią zostania programistą Java jest rozpoczęcie pracy. Im dalej się posuwasz, tym łatwiej jest pracować i przechodzić rozmowy kwalifikacyjne. Wiesz już, czego chcą od Ciebie pracodawcy. Nie zadają Ci już pytań technicznych (jak wtedy, gdy byłeś Juniorem). Zamiast tego pytają, czy pracowałeś z konkretnymi technologiami.

Ponadto Juniorzy biegają za pracą, ale z kolei praca biega za Seniorami. W dzisiejszych czasach wszyscy potrzebują programistów. Dla przykładu, prawie codziennie otrzymuję wiadomości od rekruterów na LinkedIn. Wszystko potoczyło się dość szybko: rekruterzy zaczęli kontaktować się ze mną po 1,5-2 latach od rozpoczęcia kariery. Rok później kontaktowali się ze mną jeszcze częściej, a w czasie pandemii ich próby zatrudnienia mnie stały się wyjątkowo intensywne. Czasami dostaję 6 ofert pracy jednego dnia i każda firma stara się mnie jakoś zachęcić.

Ci, którzy teraz zaczynają jako Juniorzy, za kilka lat doświadczą tego samego. Teraz jednak najważniejsze jest to, aby nie popaść w rozpacz na pierwszym roku studiów, przy chodzeniu na rozmowy kwalifikacyjne i podczas kolekcjonowania odmów. Ja przeszedłem tę drogę i osiągnąłem swoje cele. Ty też możesz.

<p>Loading...</p>