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

#30 O Html, Css, Jsie Jako Programista Javy - Wywiad Z Marcinem Uzarkiem

20.07.2022 ·54 min 37 s · 9 rozdziałów

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

0:03 · Wprowadzenie i przedstawienie Marcina 1

Witamy w podcaście Junior Java Ready. Dzisiaj rozmawiamy o temacie wszystkim znanym i kochanym, czyli jak zostałeś Junior Java deweloperem. Moim gościem jest Marcin Uzarek, którego poznałem po tym, jak dołączył do mojego kursu Junior Java Ready. Trochę popisaliśmy na Messengerze, zrobiłem mu feedback CV i tak później się okazało, że udało mu się zdobyć pracę, ale o tym na pewno Marcin sam opowie, więc zapraszamy do przesłuchania i witam cię Marcin tutaj jako gościa u siebie. Cześć Bartek, cześć wszystkim. Możesz się przedstawić krótko, czym się zajmujesz teraz i co robiłeś wcześniej? Tak jak powiedziałem, jestem Marcin, mam 20 lat i w sumie skończyłem świeże technikum teleinformatyczne, więc jeszcze nie pracowałem zbytnio nigdzie. A już za kilka dni właśnie zaczynam moją wymarzoną pracę jako Junior Java Developer.

3:01 · Nauka programowania 1

Jakbyś teraz miał wybrać technikum albo liceum, to co byś polecił, żeby ta osoba zdobyła tą pierwszą pracę w Javy? Myślę, że przede wszystkim warto zrobić dobry research, czego też nie zrobiłem od razu po gimnazjum i byłem w ogóle zdziwiony. Co jest w tym gimnazjum, jakie są przedmioty, technikum. Więc warto zrobić dobry research i zapoznać się z tym, co się będziemy uczyć, żeby być po prostu świadomym i nie być zaskoczonym, tak jak ja na przykład byłem negatywnie akurat. Więc tak, dobrze się zapoznać z tematem i wtedy chyba też łatwiej będzie podjąć tą decyzję. Okej, a miałybyś jakieś takie miejsca, które właśnie pomogłyby zweryfikować, czy to jest dobry kierunek? Na przykład jakieś strony internetowe, nie wiem, blogi różne?

6:14 · Rekrutacja i pierwsza praca 5

On też jest bez studiów, twoją drogą. Więc podobało mi się to, wróciłem do domu, wklepałem w YouTube'a od razu Javę, akurat to mi polecił, bo też w tym robił troszkę. No i zacząłem sobie słuchać jakichś dłuższych podcastów, wypowiedzi, filmików o tym wszystkim. No i spodobało mi się to. Wsiadłem, pobrałem pierwsze programy i zacząłem pisać kod. O, a pamiętasz może, jakie to były właśnie strony, z których korzystałeś, albo konkretne jakieś portale? Kojarzysz najbardziej, byś polecił? Pamiętam nawet pierwszy filmik, który mi się wyświetlił kompletnie przypadkowo, bo wcześniej nie wpisywałem nic z YouTube'a związanego z programowaniem. Wróciłem właśnie do domu po tej rozmowie z kolegą i od razu na głównej miałem wyświetlony dwugodzinny filmik a propos programowania, co też było dla mnie ciekawe.

I był to filmik popularnego właśnie kanału Kamila Brzezińskiego. Około dwugodzinny, może półtorej godziny po tym, Jak wygląda ta przygoda, jak dostać pierwszą pracę i wszystko, co powinniśmy wiedzieć o programowaniu na samym starcie. Odpowiedź na takie pytania, które się pojawiają właśnie na początku kariery. Ok, ok. To jest chyba jak nauczyć się programowania kanał, tak? Dokładnie tak. To kojarzę, to tutaj pozdrawiamy, polecamy, podlinkujemy na pewno. Ok, no to zobaczyłeś ten filmik i co dalej? I jak to wyglądała ta droga aż do teraz, jeżeli chodzi o naukę? Tak jak mówię, spodobało mi się wszystko, co mówił Kamil w tym filmiku, więc odpalimy jego następny film, czyli już podstawy programowania w Javy.

No i potem już tak płynąłem. Leciałem kolejnymi tematami, znalazłem roadmapę, po której warto dążyć właśnie w drodze do tej pierwszej pracy. I tak starałem się po kolei robić te tematy, czyli Java, podstawy Javy, potem różne rzeczy poboczne, potem szukałem jakichś kursów dotyczących frameworków i tak po kolei po tematach do celu. Ok, ok. A jeszcze jedną taką ważną rzecz. Kiedy właściwie to... Jak dawno to było? W sensie, kiedy zdecydowałeś się, że pójdziesz w Javę? Zacząłem wszystko około, myślę, siedmiu, ośmiu miesięcy temu, równolegle, chwilkę po tym, jak rozpocząłem klasę maturalną, więc to też było pewne obciążenie, że miałem się uczyć do matury, a zamiast uczyć się do tej matury, to więcej tego programowania właśnie było.

Okej, okej. Czyli w sumie to też dobry wynik, jeżeli chodzi o 7-8 miesięcy. Bardzo, bardzo fajnie i tak motywująco to brzmi. Czyli zacząłeś od filmiku, później równolegle ucząc się do matury klepałeś jakieś zadania z Javy pewnie, z programowania, bardziej takie zaawansowane rzeczy. Jak długo uczyłeś się tych podstaw Javy? Jak duży wpływ mają właśnie takie znajomość podstaw samych Javy i programowania względem tego, jak później szukałeś pracy? Uczyłem się tego zdecydowanie za krótko, na czym potem też się przejechałem, bo od razu prawie przeszedłem na te frameworki. Przejechałem tam jakiś kurs bardzo szybko Javy, uznałem, że okej, douczę się tego w trakcie i zacząłem klepać frameworki Hibernate, Spring.

I tutaj właśnie był taki moment, gdzie miałem największy przestój, gdzie było najciężej, bo nie dość, że dochodziła kupa materiału ze Springa, z Hibernate'a, tego wszystko, jak to działa, to tak na dobrą sprawę nie rozumiałem jeszcze w ogóle Javy. O co tam chodzi, obiektowości kompletnie nie rozumiałem. I to był właśnie ten moment, gdzie zdałem sobie sprawę, że chyba za szybko wszystko próbowałem robić i mam taki duży blok. Więc warto tych podstaw naprawdę poświęcić sporo czasu. Nauczyć się tego porządnie, żeby wszystko rozumieć i wtedy też znacznie łatwiej będzie nam poznawać nowe technologie, które są de facto oparte o Javę. Kasia, czyli jak zrozumiałeś ten moment, jak miałeś blokadę, to co wtedy zrobiłeś? Cofnąłeś się do swoich materiałów, czy sięgnąłeś po coś innego na przykład?

10:26 · Projekt i technologie 4

Uznałem, że wtedy też widziałem na jednej z tych map, że warto też zrobić wzorce projektowe, które może w nietypowy sposób, ale bardzo pomogły mi w zrozumieniu w tej Javy. Robiłem taki kurs, w którym było kilkanaście wzorców. Najpierw robiło się je właśnie z prowadzącym, a potem było zadanie. I robiąc właśnie te kilkanaście, może nawet kilkadziesiąt przykładów, zrozumiałem, jak działa ta obiektowość, sporo się na to napatrzyłem, sam też napisałem bardzo dużą ilość kodu w tym czasie, to trochę też trwało, i wtedy właśnie zrozumiałem wiele spraw, z którymi jest związana Java i jej obiektowość, jak działa ten język,

I po tym już znacznie łatwiej, mimo że nie używałem tych wzorców, bo nie byłem jeszcze na tym etapie, to sama ich nauka pomogła mi w znacznym stopniu zrozumieć cały koncept tego. Tak, bo wzorce projektowe właśnie oparte są o te takie najlepsze praktyki obiektówki, gdzieś tam Solid na pewno jest wykorzystany, więc w sumie ciekawe podejście, a czy pamiętasz na przykład tą stronę, z której korzystałeś do nauki, z tego kursu, jak się nazywa? Tak, to był kurs na Udemy od Pawła Ćwika i jeszcze jednej osoby, chyba Dawida, chociaż nie pamiętam teraz nazwiska, Clockwork, tak się chyba nazywają chłopaki, i mają właśnie moim zdaniem bardzo fajny kurs. Wzorców projektowych, które fajnie jest przerobić właśnie, żeby nawet nauczyć się tej obiektówki Javy.

To pewnie też takie nietypowe podejście, natomiast mi się ciężko uczyć z książek, zawsze przy nich zasypiam, jest to dla mnie nudne, więc mimo że nawet znalazłem kiedyś w domu książkę, która nie wiedziałem, że tu jest, taka duża książka Javy, to nie otworzyłem jej ani razu. Mój brat też kiedyś się uczył programowania, właśnie kupił sobie tą książkę, ale tak jak mówię, nie otwierałem jej, bo to jest dla mnie. Wiem, że niektórzy uczą się z książek i jest to na pewno świetny sposób zdobywania wiedzy, natomiast kompletnie nie dla mnie, dlatego wszystkie właśnie materiały, jakie miałem, znajdowałem albo na YouTubie, darmowe, albo na Udemy, też płatne, ale w Internecie, tak, w zasadzie tam znajdowałem całą moją wiedzę.

Więc spoko. No dobra, a teraz już jesteśmy na etapie, że jesteś po technikum. Tutaj nie było programowania. Javy, zacząłeś się uczyć w ostatniej klasie maturalnej. I tutaj pytanie, jak to z tymi studiami? Dlaczego nie zdecydowałeś się jednak może pójść na te studia? Czy może było jakieś podejście? Może jakiś research robiłeś? Czy po prostu było definitywne nie i zrezygnowałeś z tego, żeby w ogóle próbować tam? Na studia myślałem, że pójdę, jeśli nie uda mi się dostać pierwszej pracy w Javy, więc akurat teraz chyba studia mi opadają, bo udał się ten główny cel. Natomiast studia zrzucałem troszkę też z tego względu, że nigdy nie podobał mi się zbytnio system edukacji. Wiem, że na studiach to wygląda troszkę indziej, natomiast cały proces, jaki przechodziłem w szkołach, czułem, że marnuje bardzo dużo swojego czasu.

23:33 · Nauka angielskiego i rekrutacja 1

Są linki, są zagadnienia, a to, o czym ja konkretnie mówiłem, to była baza pytań, około 120, jeśli się nie mylę, takich, które najczęściej pojawiają się na rozmowach rekrutacyjnych i faktycznie wszystkie pytania, które mi się pojawiły na tych dwóch, trzech rozmowach, znajdowały się w tej skarbnicy. No spoko, spoko. Skarbnica Wiedzy to jest właśnie też część kursu Junior JavaReady, więc zapraszamy, jakby ktoś chciał zerknąć, to można zobaczyć sobie na blogu, na javaredy.pl, tam jest skarbnica, można ją osobno kupić, nie trzeba całego kursu, inwestować w cały kurs, tylko skorzystać ze Skarbnicy Wiedzy, tak jak Marcin. I tak jak wspomniał Marcin, właśnie tam są zagadnienia rekrutacyjne, typowe zadania też można sobie poprzerabiać z odpowiedziami i z informacją, czy dane zadanie na przykład przeszło rekrutację czy nie, więc zachęcamy, żeby zerknąć, bo jak widać się przydała.

30:56 · Rozmowy rekrutacyjne i testy 2

A w drugiej rozmowie były to testy. Byłem dużo pytany z testów, byłem też pochwalony za testy, że w tym projekcie jest naprawdę sporo testów i czułem, że to jest też taka karta przetargowa, która pozwoliła mi tu się dostać i dała mi naprawdę dużo punktów. Te testy, testy, testy. Okej, a skąd się uczyłeś testów w takim razie? No bo jest to bardzo ważne i właśnie na pewno daje duży atut, jak się rekrutujemy na stanowisko juniora jako Java Developer. Skąd skorzystałeś? Z jakiej wiedzy? Takich podstawowych testów uczyłem się, również może to już nie zdziwienie, ale z kursu na Udemy, Mokito, JUnit. Również od Dawida Nowaka i Pawła Ćwika.

I jeżeli były, to z jakich takich tematów najczęściej się coś pojawiało? Podstawy Javy, zdecydowanie podstawy Javy przewijały się myślę, że przez 70% czasu trwania każdej rozmowy. Pytania o wszystkie kolekcje, o rzeczy związane z czym tam jeszcze, z obiektówką na pewno, z klasami w Javie, z SQL może był? Był SQL. Obok tych podstaw Javy pewnie. Można to ująć, te 70% to pewnie łącznie właśnie z SQL-em. A na przykład jeżeli chodzi o Gita, czy miałeś jakieś pytania o to?

36:20 · Technologie i pytania rekrutacyjne 3

Szczerze powiedziawszy, niewiele. W drugiej rozmowie, tak na dobrą sprawę, pod koniec jeszcze byłem pytany z Gita, ale to już tak powiedział mi refluter, że raczej w ramach ciekawostki, żeby zobaczyć, czy rozwiązywałem już kiedyś konflikt w Gicie, czy wiem, jaka różnica jest między rebasem a mergem. Na szczęście też się tego dołączyłem, więc mogłem odpowiedzieć na te pytania, ale o dziwo nie miałem pytań z Gita. Myślałem, że będzie ich więcej. Podstawy Javy, kolekcje, różne zagadnienia biblioteki Javowe i ogólnie dobre praktyki programowania jak czysty kod, by gdzieś tam rozumieć i wytłumaczyć, jak nazwać funkcję na przykład. Tak, to się zdarzało. A jeżeli chodzi o takie zadania live, czy miałeś coś takiego, jakiś live coding albo coś na rysowanie na kartce albo w ogóle, no bo głównie się rekrutowałeś chyba, jak mówiłeś, w całej Polsce, więc pewnie to było głównie zdalnie, ale czy musiałeś coś rysować na jakichś interaktywnych tablicach może?

Byłem naprawdę... Wyszedłem też z założenia, że to jest doświadczenie, pierwsza rozmowa, w porządku, trzeba też za którymś razem pójdzie, ale o dziwo chwilę później dostałem telefon, że mam ofertę pracy z tej pierwszej firmy, co było dla mnie też nie lato zdziwieniem, bo było naprawdę sporo pytań, na które nie potrafiłem odpowiedzieć. A przede wszystkim coś, co mnie zdziwiło, czyli takie bardziej projektowanie na żywo. Miałem za zadanie zaprojektować, jakbym chciał napisać w Javy, aplikację bazy danych i musiałem na żywo projektować moduły, jak one mają się ze sobą komunikować, co mają, klasy, interfejsy i wszystko, jakbym zrobił. To było coś, co było dla mnie nowe, z czym się wcześniej nie spotkałem i tutaj wyłożyłem się po całości.

żeby też albo zobaczyć, czy umiem, albo żeby mi też trochę pokazać może, że próbuję kogoś szukać. Natomiast w momencie, gdy otwarcie się przyznawałem, że na przykład nie znam odpowiedzi na to pytanie, to też nie był dużo problem, bo wydaje mi się, że gdy wchodzę właśnie na entry level, na juniora, To mało kto wie wszystko, prawda? Pewnie, pewnie. Super. Też właśnie szczerość to podstawa, bo później niepotrzebny stres jest i później i tak wychodzi na jaw, że coś tam kręcimy. Więc spoko. A jeżeli chodzi o ten projekt, o którym mówiłeś, to jeszcze chciałbym się cofnąć do tego momentu, w którym zdecydowałeś się zacząć wysyłać CV. To co było dla Ciebie takim Bo mówisz, że się trochę pachałeś z tym i za późno zacząłeś wysyłać te CV. To co było nagle takim triggerem, żeby jednak zacząć próbować?

44:58 · Projekt i nauka programowania 5

Kiedy to nas naprawdę jara, bo wtedy nauka jest przyjemnością. Jeśli byśmy się mieli do tego zmuszać, pewnie nic z tego nie będzie, a ja często miałem tak, że po prostu siadałem rano do komputera i w nocy mi było ciężko odejść, bo naprawdę dobrze się bawiłem pisząc kod i jarałem się nowymi technologiami. Wszystko było dla mnie fascynujące w tym wszystkim. Fajnie, fajnie. Na pewno też fajna perspektywa dla osób, które gdzieś tam mają może nawet moment zwątpienia, ... lub właśnie stagnacji, że może warto gdzieś poszukać jakiegoś kursu, żeby sobie przerobić na boku, żeby przywrócić tą taką zajawkę do programowania, żeby nie myśleć o tym, że o już na przykład za miesiąc muszę zdobyć pracę, no to robię to i to i mi nie wychodzi i się później załamuje, tylko może właśnie podejść do tego tak, że

Przerabiam sobie kursy, poznaję technologie różne po to, żeby osiągnąć jakiś cel, czyli na przykład ten projekt, żeby mieć CV porządny. I też bardzo ciekawe to, co Marcin powiedziałeś właśnie, że nie miałeś nigdy code review. Czyli ja tutaj może tak podsumuję, jak wyglądała ta twoja droga. Czyli zdecydowałeś się gdzieś tam w klasie maturalnej, że pójdziesz w Java. Wcześniej nie programowałeś nic, tak? Tak, dokładnie. Okej, no i zdecydowałeś, że pójdziesz w Javę i zacząłeś bardzo mocno cisnąć, czyli zacząłeś robić kursy, obejrzałeś różne filmiki na YouTubie i te kursy pozwalały ci tworzyć takie mini projekty? Po to, żeby stworzyć porządny projekt, który tak naprawdę porównywałeś z innymi ludźmi na grupach na Facebooku, cały czas gdzieś tam się tym otaczałeś. Jest mnóstwo takich grup, na przykład jak zostać Junior Java Developerem na Facebooku.

Ile godzin dziennie przeznaczałeś przez ten okres czasu na naukę Javy? Aż tak szybko to może nie, bo wydaje mi się, że tak po 6 miesiącach może byłoby ok. Natomiast tej Javy też u mnie było sporo, bo jak wiadomo, jak każdy miał swoje okresy, gdzie było trudniej, gdzie było ciężej i się dałem do komputera nawet godzinę dziennie tylko. Ale też miałem okresy, gdzie to wszystko mnie strasznie jarało, bardzo przyjemnie mi się to robiło i miałem takie właśnie też dni, gdzie siedziałem nawet po 14 godzin przy kąpie. Siadałem rano i tylko tam obiad czy coś, jakaś przerwa i do spania. To ciekawe. Wykorzystałeś też tę możliwość, że mogłeś tak robić, bo też nie każdy może, ale ty to jak najbardziej wykorzystałeś, że miałeś ten czas i poświęciłeś go, bo mogłeś iść tak naprawdę na imprezę czy coś.

To się nie nazywa Swift. Zapomniałem, jak się nazywa ta biblioteka w Javy do robienia widoków i nie chodzi mi o FX-a. AWT albo GWT? Nie, nie, nie, jeszcze jakaś inna jest. Swing? Tak, swing, no, no, no. Swing teoretycznie wszyscy mówili, żeby się go nie uczyć, nie przyda się, natomiast ja świetnie wspominam ten, to pewnie był stydzień lub dwa, gdzie siedziałem właśnie po 14 godzin na swingu, to było też fajne, że mogłem sobie Zrobić coś innego, gdzie od razu widziałem efekty, mogłem napisać swoje pierwsze gry w Javie, mogłem napisać jakiegoś Snake'a, jakiś notatnik swój i czerpałem z tego bardzo dużo przyjemności. Jednocześnie może nie uczyłem się tych komercyjnych technologii, ale na pewno uczyłem się też podstaw Javy. Super, super.

Swing o tyle jest spoko, że jest to stara technologia, w tym się nie kodzi, ale faktycznie uczysz się dzięki temu składni Javy i masz fun, więc jak ktoś chce właśnie się uczyć, to fajnie, że też o tym wspomniałeś. No dobra, czy masz jeszcze coś może? Wszystko tak na dobrą sprawę. Dobra, no to super. No to z mojej strony to też już wszystko. Dziękuję Ci bardzo za poświęcony czas na to, żeby tutaj się podzielić wiedzą z potomnymi, można tak powiedzieć, chociaż też nie jesteśmy jacyś starzy. Na pewno życzę Ci udanych miesięcy pracy, w szczególności tych początków. No i bardzo Ci dziękuję za rozmowę i dzięki, że przyszedłeś. Mógłbym jeszcze kogoś pozdrowić na szybko? Oczywiście, oczywiście. Pewnie, to chciałbym jeszcze pozdrowić dwie osoby, które w sumie wspierały mnie bardzo w tej drodze całej, które bardzo dużo słuchały o tym programowaniu, mimo że nie miały z tym żadnego związku, które mnie właśnie tym wspierały, więc pozdrawiam Magdę i Paulinę i dzięki bardzo za wywiad.

Pokazano wszystkie 22 dopasowania. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.