Mentionsy Mentionsy
JavaReady.pl - jak zostać programistą Javy? (Junior/Mid)
JavaReady.pl - jak zostać programistą Javy? (Junior/Mid)

#35 Kluczowe Narzędzia Dla Junior Java Developera! Szymon Pawlikowski: Hackerrank, Codegym i Spring

16.09.2022 ·1 godz 2 min · 14 rozdziałów · 2 sponsorów

Linki z tego odcinka znajdziesz na https://javaready.pl/35 Bartek Kalka | javaready.pl

0:03 · Wprowadzenie i przedstawienie gościa 1

Witajcie w podcaście Junior Java Ready, w którym rozmawiamy o tym, jak inni zdobyli pierwszą pracę w Javie i ogólnie o tym, jak zdobyć pierwszą pracę w Javie. A dzisiaj moim gościem jest Szymon Pawlikowski, który niedawno dostał swoją pierwszą pracę jako Java Developer, Junior Java Developer. I dzisiaj chciałby się z nami podzielić właśnie tą historią i o swoich zmaganiach. Więc cześć, Szymon. Szymon Pawlikowski Cześć. Cześć, Bartek. Tak, no to tak jak już Mnie przedstawiłeś. Też jestem programistą od dwóch i pół miesiąca tak naprawdę. Zmieniłem branżę. Właściwie szkoliłem się przez około 8-9 miesięcy, żeby w ogóle spróbować pójść na rozmowy i zobaczyć, czy ktoś będzie chciał osobę, która tak naprawdę nie jest po studiach informatycznych, zatrudnić jako programistę.

0:27 · Historia Szymona i jego doświadczenia 7

Ona zajmuje się generalnie licencjonowaniem danych. Ja jestem tam programistą takim bardziej od strony backendowej, czyli żadnego frontendu tam przynajmniej ja za niego w ogóle nie jestem odpowiedzialny, raczej to jest praca na ogromnych plikach danych. I tak wygląda w skrócie mój taki powiedzmy wstęp, jak tutaj można powiedzieć się znalazłem w tym podcaście z Bartkiem i rozmawiamy sobie o mojej historii. Dotarcia do tej wymarzonej pierwszej pracy jako programista Javy. Tak naprawdę mogę wspomnieć, że aplikowałem i uczyłem się jako programista Javy, czyli uczyłem się języka Javy.

Natomiast finalnie stanowisko, na które się dostałem, wymagało ode mnie nauki, a przynajmniej chęci nauki Kotlina, czyli można powiedzieć takiej ulepszonej wersji Javy, jak to niektórzy nazywają. I jestem bardzo z tego faktu zadowolony, że uczę się Kotlina, bo to jest taki dosyć przyszłościowy język i naprawdę to jest taka Java plus plus, jak to też niektórzy nazywają. Tak, też mam super doświadczenia z Kotlinem. Czyli przed pracą nie był wymagany Kotlin, tak? Nie był wymagany Kotlin. Zadano mi tylko pytanie na rozmowie rekrutacyjnej, Jestem chętny do nauki tego języka, dlatego że on nie jest tak popularny jak... Można sprawdzić nawet tak naprawdę na ofertach pracy, wpisać sobie Kotlin, wpisać sobie Java i zobaczyć, ile tych ofert jest, więc przypuszczam, że po prostu u mnie w firmie było takie podejście, że jeżeli osoba umie Java, to nie będzie dla niej problemu, żeby się przerzucić na Kotlina.

I to nie jest jakaś taka, powiem szczerze, już z perspektywy tych tam dwóch, prawie trzech miesięcy nie była jakaś filozofia, Super, moim zdaniem Kotlin to przyszłość, jeżeli chodzi o Javę i jej istnienie. Ok, no dobra, no to wspomniałeś, że byłeś programistą PLC. To jest bardzo ciekawe, bo jaki to miał wpływ właśnie na naukę później przez te 8 miesięcy, czy 9, Javy? Czy to była jakaś duża pomoc?

Jak się wcześniej uczyłeś przed w ogóle zaczęciem pracy nad językiem Java, że tak powiem? Tak, generalnie programowanie sterowników PLC Przedtem, zanim dostałem się do firmy, która zajmuje się automatyką przemysłową jako programista PC, robiłem takie szkolenie w certyfikowanym centrum, które trwało dwa tygodnie po 8 godzin dziennie, tak że takie dosyć było naprawdę konkretne. Jak mi to pomogło? Generalnie programowanie PLC polega na przetwarzaniu sygnałów, powiedzmy, czy odczytywaniu sygnałów, które docierają do nas, powiedzmy, z czujników różnego rodzaju, czy to cyfrowych, czy analogowych.

Pisanie w tym języku, a właściwie możliwości tego języka w porównaniu do języków wyższego rzędu, takim językiem, jakim jest na przykład Java czy Kotlin, ma dużo mniej możliwości, taki język PLC, co nie? Więc ja bym powiedział, że to mi dało takie solidne podstawy, czyli te dwa lata jak programowałem PLCki dało mi solidne podstawy do w ogóle myślenia, czy wyuczenia się pewnej kreatywności podczas rozwiązywania problemów, Szymon Pawlikowski.

Czy osoby, które programowały, czy w ogóle rozwiązywanie zadań wymaga od nas pewnego rodzaju wytrwałości, żeby się nie poddawać, jeżeli jakieś rozwiązanie, wpadliśmy na jakieś rozwiązanie czy na jakiś pomysł rozwiązania, ale ono nie działa, to musimy szukać dalej. Więc tego na pewno nauczyłem się w poprzedniej pracy jako programista i to myślę też zadecydowało w jakiejś tam części o tym, że Dostałem też kilka tych ofert pracy, bo sami mi to mówili rekruterzy, że mam to doświadczenie i zawsze odwoływali się do tego, że w CV mam wpisane, że pracowałem już wcześniej jako programista w PLC i jak to się ma do programowania w Javy i żebym po prostu to opisał różnicę.

To ciekawe bardzo. A masz jeszcze jakieś tipy, wskazówki dla osób, które tak jak Ty kiedyś były tylko programistami tych sterowników PLC i teraz chciałyby się przebranżowić na Java? Jakieś takie przemyślenie po tych kilku miesiącach? Przemyśleń jest bardzo dużo, dlatego że ten czas mojej nauki był długi. Z tego co wiem, różni ludzie różnie do tego podchodzą, natomiast spotkałem się z taką opinią, że jeżeli ktoś chce uczyć się programowania, to faktycznie trzeba sobie uzbroić się w cierpliwość i założyć sobie, że to nie potrwa miesiąc, tylko to potrwa powiedzmy od pół roku nawet do roku, w zależności od tempa przyswajania wiedzy danej osoby.

6:48 · Rekomendacje dla programistów PLC chętnych do przebranżowania się na Java 3

Co bym mógł polecić tak naprawdę osobie, której się urodził pomysł pójścia w tym kierunku, czyli w kierunku programowania, zdobycia swojej pierwszej pracy w IT itd. Na pewno solidne podstawy, czyli jeżeli chcemy się uczyć na przykład takiej Javy, to robić zadania, skorzystać już z Szymon Pawlikowski, Codegym i Spring.

Jako umiejętności nawet juniora to uczyć się Javy, przede wszystkim. Ja mogę osobiście ze swojej strony polecić taką książkę, która również mi została polecona, to jest Java Rozżgłową. Ona jest dosyć dawno wydana, z tego co pamiętam chyba 2009 rok jest wydany, nie wiem czy jakieś kolejne było wydanie, takie świeższe, natomiast ona jest dosyć taka powiedzmy stara, część rzeczy jest tam nieaktualnych albo nie wszystkie, są po prostu takie bieżące, to są bieżące, interesujące tematy, natomiast myślę, że 80-85% tej książki jest naprawdę godna polecenia. Forma, w jakiej ta wiedza jest przedstawiona, jest naprawdę bardzo przystępna. Przynajmniej mi się naprawdę spodobała, bo było to na rysunkach, żeby sobie zobrazować to, jak się zachowuje kod, czy zdefiniują jakąś funkcję, czy jak działa pamięć w JVM itd.

Bo im szybciej złapiemy tą pierwszą pracę, Tak naprawdę lepiej, dlatego że część rzeczy, których się będziemy uczyli, to jest oczywiste, że nie wszystko będziemy dosłownie wykorzystywać, czy wszystkie technologie, wszystkich technologii, których nie nauczymy, nie będziemy wykorzystywać w swojej przyszłej pracy. To jest po prostu logiczne, to zależy od projektu, to zależy od firmy, czym się dokładnie zajmuje, dlatego myślę, że im szybciej się zdobędzie tą pracę, tym lepiej dla rozwoju, dla nas samych. Super, super. Jeszcze chciałbym wrócić na przykład do tej książki Java róż głową. Słyszałem właśnie wielokrotnie, że to jest bardzo dobra książka, a jak Ty do niej podchodziłeś? Czyli jak dokładnie ją przerabiałeś?

10:49 · Praca nad książką Java Róż Gową 3

Czy tylko czytałeś, nie wiem, przed snem? Bo jednocześnie pracowałeś, tak? Nie miałeś jakoś super chyba dużo czasu, żeby i czytać tą książkę tak od dechy do dechy? Jak to u Ciebie wyglądało z tym przerobieniem? Tak, więc właściwie jak ja zaczynałem jakby studiować tą książkę, to faktycznie wtedy jeszcze pracowałem, dlatego że później już stwierdziłem, żeby się skupić mocniej na czy bardziej efektywnie na nauce Java, zrezygnowałem z pracy, akurat mogłem sobie na to pozwolić, żeby się po prostu przygotować naprawdę porządnie do tych rozmów i tak dalej. Natomiast jak ja studiowałem tą książkę? Przede wszystkim nie spieszyć się z nią, bo to wiadomo, to nie jest jakaś powieść.

Jedne strony się czyta szybciej, drugie się czyta wolniej, dlatego że musimy się zatrzymać, żeby coś zrozumieć, jak to z technicznymi książkami. Natomiast skupiłbym się po prostu na konkretnych tematach, na konkretnych rozdziałach, żeby je naprawdę dobrze zrozumieć i być pewnym, że się je dobrze rozumie. Tam w każdym rozdziale, z tego co dobrze pamiętam, są zadania też takie czy do rozwiązania, szczerze mówiąc, nawet tam na kartce w tej książce, czy można je rozwiązać również oczywiście otwierając jakieś środowisko IDE na komputerze i ruszyć z tym. Natomiast myślę, że to nawet jeżeli ktoś naprawdę jest na samym początku i jeszcze nie otworzył sobie nigdy jakiegoś środowiska do pisania Javy, Oczywiście możemy pisać nawet w notatniku, ale takiego wspomagającego nam te kodowanie, to nawet nie trzeba się tym martwić, bo w tej książce naprawdę są nawet takie zadania, które pozwalają nam rozwiązać te zadania na kartce, żeby zrozumieć faktycznie jak działa składnia Javy i co się dzieje po napisaniu każdej linijki kodu.

Także skupiłbym się naprawdę na przerobieniu postaw tej książki ze zrozumieniem. Jeżeli czegoś nie wiemy, no to właśnie konsultacja z jakimś mentorem, albo to żeby to był znajomy, albo to żeby był mentor jakiś, gdzie się zapiszemy na jakiś kurs. Ważne jest, żeby naprawdę nie zostawać z tymi tematami, których nie zrozumiemy sami. I po prostu iść dalej, etap po etapie, skrawek wiedzy po skrawku wiedzy, zbierać, zbierać i zdobywać te solidne fundamenty, jakim jest wiedza o programowaniu Java. Ok, super, super. To na pewno, jeżeli chciałbym zaczynać, to na pewno wziąłbym tą książkę teraz i zaczął przerabiać jak najwięcej zadań właśnie z niej i przerabiać te tematy. I w przypadku, gdybym czegoś nie rozumiał, to szukam gdzieś jakiegoś mentora, może na jakiejś grupie na Facebooku piszę, że potrzebuję pomocy albo mam jakieś kilka pytań, zbieram je, wrzucam nawet na tą grupę, żeby sobie rozjaśnić, jeżeli nie chcę, nie wiem, wynajmować mentora powiedzmy, a dopiero wtedy, gdy nikt mi nie odpisze, to dopiero gdzieś tam szukam płatnych mentorów, tak?

13:33 · Mentoring i planowanie czasu na naukę 4

Ok, jeszcze chciałbym wrócić do tej sytuacji, o której powiedziałeś, że na początku, Uczyłeś się pracując, w sensie musiałeś pracować i się uczyć, a później stwierdziłeś, że wszystko rzucasz na jedną strzalę i teraz rzucasz pracę, czy odkładasz pracę na jakiś czas i skupiasz się tylko na nauce Javy. Chciałem Cię zapytać o to, jaki był, ile czasu poświęcałeś przed tym rzuceniem i później po. Czyli nie rzuceniu pracy, tylko przełączeniu się na tryb, że cały czas się uczysz. Jak to wyglądało godzinowo, bo to też może być ciekawe. Tak, więc jak pracowałem i faktycznie gdzieś tam po pracy siadałem do tej nauki, to przyznam szczerze, że też ze względu na specyfikę mojej poprzedniej branży, czyli że zdarzało mi się, że musiałem jechać po prostu na delegację i tam pracowałem na tyle dużo godzin, że człowiek po prostu już po tej pracy nie miał ochoty nawet zaglądać do jakiejkolwiek książki,

Nawet te 8 godzin czasem było trudno mi usiedzieć, Zdarzało się, że miałem dni już faktycznie jak nie pracowałem na pełny etat, tylko miałem cały dzień na skupienie się na nauce Javy, to zdarzało się dni, że uczyłem się po 5-6 godzin, a zdarzało się dni, że siedziałem po 10-11 godzin. Natomiast zdarzały się też takie dni, które miałem mało wydajne i to było 2-3 godziny, dlatego że po prostu być może właśnie takie usystematyzowanie sobie, że uczymy się faktycznie 5-6 godzin codziennie byłoby nawet lepszym rozwiązaniem niż właśnie to, że ja czasem w jedną stronę za dużo godzin jednego dnia, a innego dnia już po prostu mój mózg był na tyle wymęczony, że nie byłem w stanie się tak mocno skupić i z taką przyjemnością tak naprawdę usiąść do tej nauki,

To też ma być przyjemne. To, że ja się przebranżowiałem, to też wynikało z tego, że miałem w tym konkretny cel, żeby moje prywatne życie Jakby nie cierpiało na tym wszystkim, dlatego postanowiłem się przebranżowić, nauczyć się Javy, zdobyć pracę na miejscu. Natomiast tak naprawdę też sam nie wiedziałem, co będzie. Do jakiej firmy się dostanę, a może faktycznie tam też mnie będą gdzieś na delegację wysyłali, może będzie dużo godzin pracy itd. Natomiast Tak to wygląda, jeżeli chodzi o czas pracy, czas właściwie tej nauki. Po pracy na początku było to niewiele godzin, natomiast jak już faktycznie porzuciłem pracę na rzecz przebranżowienia się, to było to dużo więcej godzin.

Myślę, że tygodniowo to wychodziło około 25 godzin, jak kiedyś chyba sobie nawet sprawdzałem, zapisywałem sobie te godziny mniej więcej, to wychodziło mi mniej więcej na tydzień około 25 godzin, tak policząc od poniedziałku do piątku. Bardzo ciekawe i bardzo to tak inspirująco brzmi. Z jednej strony byłeś bardzo wytrwały z tym, żeby do tego siadać cały czas, codziennie. No i teraz samo się nasuwa takie pytanie, czy miałeś jakiś moment zwątpienia, jakiś upadek, który powodował, że może trochę zwątpiłeś i już nie chciałeś kontynuować tej nauki, czy raczej nie było czegoś takiego? Było, wielokrotnie było, dlatego że tak jak mówiłem już jak porzuciłem pracę na pełny etat i skupiłem się na nauce Javy, tak wyznaczyłem sobie pewien plan i ten plan zakładał, że ja powiedzmy tam po około pół roku będę już próbował aplikować

19:34 · Rozmowy rekrutacyjne i wysyłanie CV 4

Że jest na to budżet bez problemu, nie wiem, dostanie taki junior wsparcie po sobie właśnie jakiegoś mentora w pracy i tak dalej. I tutaj bym się też nie ograniczał w takich przypadkach. Także wysyłajcie CV, jeżeli faktycznie szukacie pierwszej pracy w Javy. Ok, super, super. Właśnie to jest fajny tip z tym Midem, żeby też tam wysyłać. I tak z mojej perspektywy, jako osoba, która już tam prawie dwa lata siedzi w tym, że pomagam innym zrobić pierwszą pracę, to 40 CV to jest jeszcze taka dobra liczba, nie? W sensie to jest jak najbardziej w porządku liczba i nie ma co się wstydzić, ani nie wiadomo bać, czy czegoś. Ale chciałem jeszcze tylko powiedzieć, że Ty, pamiętam, że szukałeś pracy we Wrocławiu, nie? I Ty, wszystkie te CV były do firm z Wrocławia, prawda?

Ok, to po tych kilku miesiącach, jak już właśnie uczyłeś się tej Javy, po mentoringu itd., to co było właśnie takim triggerem, że ok, teraz zaczynam wysyłać CV, teraz już mogę wysyłać CV, teraz jestem pewny i wysyłam. Co to u Ciebie było takiego? No to przyznam szczerze, że spotkania z Tobą między innymi i konsultacje właśnie z jednym z kolegów, którzy mnie wspierali w nauce, czy też ich się radziłem Właśnie, kiedy wysłać CV, kiedy jest ten moment, bo niewątpliwie są takie myśli wątpiące, czy to jest ten moment, czy ja jeszcze się... Jeżeli faktycznie się uczymy, to na pewno też osoby, które już rozpoczęły naukę programowania, to im dalej w las, tym ciemniej tak naprawdę, okazuje się, że

Tej wiedzy jest naprawdę bardzo dużo i tych technologii jest naprawdę bardzo dużo i człowiek w pewnym momencie się zastanawia, czy ja już nie powinienem się zająć np. nauką jakiejś tam konkretnej technologii, czy porzucić już podstawy Javy, bo już na tyle, ile potrafię tam napisać kod podstawowy, jakieś klasy, funkcje, to mi wystarczy. Więc tak bym to widział po prostu, że... Że nabierasz pewności w tych mocnych podstawach i wtedy już mogę wysyłać CV. Dokładnie tak. Więc moment kiedy wysyłać CV to jest

No ja właśnie mam też takie przypadki osób, które boją się wysyłać CV cały czas, mimo że ja już mówię, okej, możesz wysyłać, nie bój się, to będzie wszystko dobrze, ale zawsze jest jakiś taki moment zawahania i to właśnie może też pomoże komuś zdecydować się jednak, żeby a, spróbuję, wyślę te 30-40 CV, zobaczymy, co się stanie, pójdę na te jakieś rozmowy może, albo w ogóle nikt się nie odezwie, no nie, to już zależy. Bo tak naprawdę z mojej perspektywy takie CV gotowe do wysyłania to jest właśnie CV osoby, która po pierwsze poznała te podstawy, czyli na pewno przerobiła jakieś takie wszystkie klasy, fory, ify, jakieś podstawy Javy mocne, czyli Jak w ogóle pisać w języku obiektowym? Jest taki fajny kurs na Udemy właśnie ze wzorcami projektowymi, to też podlinkujemy pod tym odcinkiem.

32:00 · Hackerrank.pl 1

Wiedzy o np. architekturze warstwowej, która gdzieś tam dzieli tą aplikację i ogólnie jak się pakietuje w Javy, no i dodatkowe jakieś testy jednostkowe, czyli coś, co też jest bardzo, bardzo mile widziane, jeżeli chodzi o juniorów, bo jeżeli ktoś to już umie, to wtedy ta firma mniej czasu musi poświęcić, żeby nauczyć testować, a testowanie to jest tak naprawdę drugie, to jest tak naprawdę coś, co jest programowaniem i nie wiem, czy się ze mną zgodzisz, bo teraz już jesteś kilka miesięcy pracy i jak to tam z tym testowaniem u Ciebie? Tak, ja jeszcze tylko odniosę się do tego, co powiedziałaś odnośnie tego projektu, to tak, też się zgadzam z tym, że faktycznie projekt do CV, dobrze by było, gdyby faktycznie zawierał dużo technologii, których pożądają pracodawcy, to można wejść sobie właśnie na oferty i zobaczyć, co jest najpopularniejsze.

33:19 · Testy jednostkowe i projekty do CV 1

Na dobry początek nauki, to wiadomo, że szkolimy się z Javy. Jeżeli chodzi o bazy danych, to przede wszystkim SQL, jak korzystać z podstawowych klauzul, co one robią itd. I jak najbardziej finalnie projekt do CV to powinien zawierać dużo technologii i właśnie między innymi testy jednostkowe. A jeżeli pytasz o testy jednostkowe jak u mnie w firmie, to powiem szczerze, że do tej pory nie spotkałem się akurat u mnie z tym, żeby były wykorzystywane testy jednostkowe. Natomiast z tego co wiem, to planują wprowadzić po prostu w nowych projektach tę metodologię powiedzmy. Szymon Pawlikowski, Hackerrank.pl

35:39 · Rozmowy rekrutacyjne i feedback 1

Może się okazać, że ten właśnie kod też nie jest w ogóle testowalny i to by było bardzo ciężkie, żeby napisać faktycznie te testy. Ok, a jeżeli chodzi o rozmowy rekrutacyjne u Ciebie, bo dostajesz właśnie kilka ofert pracy i co Twoim zdaniem było, oprócz tego, że, bo pamiętam, że o tym wspomniałeś, że ludzie patrzyli na Twoje doświadczenie w programowaniu PLC, no ale nie oszukujmy się, ktoś kto ma tylko doświadczenie W PLC-kach też nie dostanie pracy w Javy, więc co oprócz tego doświadczenia było tak Twoim zdaniem najważniejsze, żeby ktoś kto jeszcze zaczyna naukę albo chce się zacząć rekrutować, żeby na przykład się doszkolił z tego, doczytał albo na przykład masz jakieś sprawdzone materiały gdzieś w sieci, gdzie można znaleźć jakieś zadania, pytania czy w ogóle tematy jakie padają na rozmowach rekrutacyjnych.

Pokazano pierwszych 25 dopasowań — doprecyzuj frazę, aby zawęzić wyniki. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.