#34 - Jak został Java Developerem? Wywiad z Dymitrem Misiejukiem
Linki z tego odcinka znajdziesz na https://javaready.pl/34 Bartek Kalka | javaready.pl
Witajcie w podcaście Junior Java Ready. Dzisiaj porozmawiamy sobie z Dymitrem, który został Junior Java Developerem, ale nie do końca Java Developerem, ale o tym zaraz. I będzie tutaj nam opowiadał o tym, jak do tego doszedł, jakie materiały przerabiał, ale zanim to, to chciałbym Cię powitać, Dymitr, i możesz się krótko przedstawić, jak tam u Ciebie. Cześć, nazywam się Dymitr Misiejuk. Aktualnie świadczę usługi jako Junior Kotlin Developer w firmie Dornach Polska, konkretnie w oddziale Ziegler Labs. No, ja prowadzę własną działalność gospodarczą, zatrudniony jestem na umowę B2B. Ok, super, czyli Kotlin. Tutaj możemy uspokoić wszystkich. Tak naprawdę chyba cała twoja przeszłość, aż do tej pierwszej pracy w Kotlinie, to raczej byś się kręciła wokół Javy raczej i teraz tego Kotlina nadganiasz, więc to jest i tak super, że będziesz miał takie porównanie między właśnie Javowcami, tym czego się uczyłeś i teraz jak masz Kotlina i może jakieś osoby też skorzystają z tego, więc super.
Coż ja mogę powiedzieć. Kotlin ma sporo wspólnego z Javą, gdyż działa na wirtualnej maszynie Javy. Tak naprawdę w projekcie, z którym pracuję, to my korzystamy ze Springa, więc wszystko czego się uczyłem, na przykład Springa do Javy, to teraz też to wykorzystuję w Kotlinie. To jest, można powiedzieć, jakiś sposób, jakieś narzecze Javy ten cały Kotlin, więc to nie jest tak, że nagle przestałem w ogóle pracować z Javą. Nie, nie, nie. Tam bardzo dużo się używa Javy, takiej czystej Javy w Kotlinie. Tylko, że ona jest ukryta jakby w adnotacjach różnych do kodu, czy po prostu z klas jakiś, czy tam importów zewnętrznych.
To są języki przekładalne praktycznie jeden do jednego. Chodzi raczej po prostu o zapis, który na początku wydawał mi się trudniejszy od Javy, bo w Javy spędziłem ponad półtora roku, zanim tą pracę dostałem tak naprawdę, więc przez sen potrafiłem z Javą sobie, że tak powiem, radzić. No to teraz mi się wydaje, że Kotlin ma dużo zalet. Pewne rzeczy są uproszczone, są rzeczy w pewien sposób zautomatyzowane, na przykład tworzenie list to się po prostu tworzy poprzez list of, metodę czy funkcję. Tutaj się funkcji używa, nie metod jak w Javy, przynajmniej tak sobie nazwali to. No ale generalnie jak znasz Javy,
No to przesiądziesz się na Kotlin całkiem szybko. Ja gdzieś tak pierwszy miesiąc to musiałem porządnie przysiąść, żeby po prostu przełączyć sposób myślenia, jak tworzyć zmienne, jak zapisywać klasy itd., itd. Ale to naprawdę jest już łatwe do ogarnięcia per se. Chociaż oczywiście, żeby zmasterować ten język, no to oczywiście trzeba w nim spędzić dużo czasu Czy mogę powiedzieć, że się czuję ekspertem w Kotlinie? No ekspertem jeszcze nie, ale że tak powiem na tyle pewnie, że potrafię sobie poradzić z zagadnieniami jakie dostaję do wykonania. To super, super. Ty teraz właśnie opowiadasz o aktualnej pracy. Jesteśmy bardzo ciekawi właśnie jak do tego doszło, bo teraz już jest super, uczysz się kotlina, przysiadłeś się z Java, ale jak to było jak zaczynałeś?
Sam próbowałem na początku sprawę ugryźć, ale miotałem się w prawo, w lewo, do końca nie wiedziałem co zrobić, więc trochę PHP złapałem, bo usłyszałem, że PHP służy do robienia backendu i tam łączenia baz danych. Później, że potrzebny jest JavaScript i generalnie nie szło mi, więc Tutaj żona mi podpowiedziała, bo jej reklama wyskoczyła. Ty, słuchaj, reklamuje się jakiś tam bootcamp, może zapisz się na bootcamp. Na początku poczytałem sobie o tych bootcampach, do czego dane języki programowania służą. Wybrałem Pythona, ale okazało się, że ten bootcamp się nie otworzył, więc następny mój wybór była Java i w ogóle nie żałuję tego. Zapisałem się na bootcamp z Javy.
No i to nie powiem, tempo było niezłe, naprawdę dużo rzeczy się robiło bardzo szybko. U mnie weekendy z kolei były na drapianie, bo na wieczorowy kurs się zapisałem taki, który trwał tam od 17 zdaje się do 21 przez 4 dni w tygodniu. Więc w piątki to ja już ledwo na oczy widziałem, można powiedzieć, bo praca, bootcamp, praca, bootcamp i piątek przychodzi, to po pracy człowiek pada. No ale nie ma, w weekendy trzeba było nadrabiać to, co się na bootcampie robiło, żeby po prostu nadążyć z materiałem. Miałem zwątpienia niesamowite też na tym bootcampie, że się do tego nie nadaję, że nie rozumiem, więc sobie dodatkowe książki kupowałem. Bardzo mi pomogła książka Róż głową Java.
Z tej serii rusz głową. Dopiero później zorientowałem się, że w sumie ta książka jest tylko do piątej. Java piątkę tam porusza, już ósemki i jedenastki tym bardziej nie ma. No ale wystarczyło to, żebym właśnie same te podstawy złapał. Jak się pierwsze metody tworzy, jak się tam klasy tworzy. To jakoś tak uzupełniłem wiedzę, która była na bootcampie oczywiście przekazywana, ale sobie ją pozwoliłem ustrukturyzować. Za pomocą tej książki i wtedy już ruszyło. Nagle się coś włączyło w mózgu takiego, że zacząłem widzieć to wszystko, co się w Javie dzieje i reszta bootcampu to już była sama przyjemność, no bo już wiedziałem, dlaczego te metody tak, a nie inaczej się stosuje, dlaczego jak tu się coś zwraca, no to można wykorzystać to jako zmienną tutaj albo użyć to do metody takiej, no generalnie
To się nagle pojawiło. Na początku, jak nic kompletnie nie rozumiałem, to był bełkot, no to uważam, że właśnie swoją taką pracą, że w weekendy siadałem, przerabiałem jeszcze raz to, co było na bootcampie, to zacząłem rozumieć, o co w tym języku generalnie chodzi. No ale bootcampy dorzuciły dużo więcej rzeczy, mianowicie był też fragment frontendu, który był bardzo powierzchowny i szybko poruszony. Uważam, że w sumie był niepotrzebny, bo tak naprawdę można było za dwa tygodnie poświęcić więcej na Java. Cel uświęca środki. Dla mnie, przynajmniej osobiście, to było niezbędne, że byłem na bootcampie, bo sam bym pewnie prędzej zwątpił, niż ruszył ten temat dalej.
I on bardzo fantastyczne robi lekcje na temat Javy, Pythona, C-Sharpa itd. To jeżeli kogoś inne języki interesują, to on to tam ma. Ja jego kurs Javy przerabiałem. No, już byłem po bootcampie, więc pierwsze te rozdziały, gdzie on jakby wprowadza w Java, to przeleciałem w ogóle bardzo szybko. Później ma tam takie różne ćwiczenia do wykonania, to nagle te ćwiczenia mi zaczęły szybko iść też. I gdybym może wcześniej trafił na teama Buchalkę, to nie wiem, czy bym poszedł na ten bootcamp, ale ja na pewno nie żałuję tego bootcampu. Team Buchalka był dla mnie doskonałym uzupełnieniem i szczerze mówiąc wracałem do niego często, bo on naprawdę daje dobre rady dla ludzi pracujących w Javie.
Spring to jest w ogóle inna para kaloszy, to trzeba z tym pracować, żeby to dobrze rozumieć, jeżeli nie ma się formalnego jakiegoś, podejrzewam, wykształcenia w tym, ale do ogarnięcia to jest oczywiście. No i u mnie, jakby to powiedzieć, napisałem tą aplikację, która tak naprawdę motywowała mnie do tego, żeby w ogóle uczyć się programowania. Uważam, że to jest niezbędne. Trzeba mieć projekt, na którym ci zależy, bo on właśnie jakby napędza ruchy, które trzeba wykonać. Na początku okazało się, dobra, frontend oczywiście jest potrzebny, bo trzeba stworzyć jakąś stronę, jeżeli to ma być aplikacja webowa, ale okazuje się, że wcale tego jakoś nie trzeba. Poznawać na nie wiadomo jakim poziomie tak naprawdę podstawowy HTML, CSS, który i tak jest niezbędny do tworzenia aplikacji z Javą.
Przynajmniej do tego, jeżeli chce się coś, żeby mniej więcej wyglądało na froncie. Jakiś absolutnie podstawowy JavaScript, który po kursie Javy w ogóle nie jest trudny. No i bazy danych się nagle okazało, że trzeba się przytulić do baz danych. Na bootcampie były bazy danych poruszane, no ale tam wszystko szybko leciało. To wtedy szczerze mówiąc nie wydawał mi się jakiś priorytet, więc przeszedłem to jak przeszedłem, ale musiałem się tego na nowo pouczyć troszkę. No i między innymi wtedy trafiłem też na Twój kurs, bo potrzebowałem coś, uznałem może jakoś trzeba wykorzystać Jak wykorzystać bazy danych? Między innymi Docker się urodził. Czy potrzebuję Dockera?
Zakładają, że ktoś może tego nie wiedzieć, Ale chcę sprawdzić tego kandydata, jak on aktualnie myśli tak naprawdę. I to już nawet nie patrząc na Javę, tylko na przykład w pseudokodzie każą komuś napisać najlepszy algorytm i chcą po prostu sprawdzić, jak dana osoba myśli. I jak to u Ciebie, jak myślisz, czy to jest właśnie dobry sposób dla rekrutujących, czy lepiej i tak dawać zadanie, które faktycznie będzie w pracy później ta osoba robiła? Mi się wydaje, że lepiej jest dawać zadanie, które się w pracy robi, no bo ja myślę w ten sposób, Że lepiej jest wygooglać odpowiedź na zasadzie na algorytmiczne pytanie, niż samemu próbować odkryć coś na nowo. Moim zdaniem najskuteczniejszy algorytm to jest ten, który jest skuteczny, a nie ten, który ja wymyślę.
Jak został Java Developerem? Wywiad z Dymitrem Misiejukiem. Na to, żeby dostarczyć jakiś wynik i szukają osoby typowo z wiedzą komercyjną i zastosowaniem. I jak teraz taka osoba, która zaczyna, może, czy jest w ogóle jakiś sposób, żeby odróżnić te firmy, albo czy np. jeżeli ja trafię na tylko firmy, które będą z tymi algorytmami, to powinienem się właśnie tych algorytmów uczyć, czy raczej cały czas dążyć do tego, żeby gdzieś firmę złapać, która mądrze rekrutuje? Czy jak to byś zrobił? To jest trudne pytanie, bo to jest moja pierwsza praca, chociaż obecnie i zostałem zatrudniony na podstawie tego, że faktycznie spełniłem Definition of Done aplikacji, którą miałem na PISA, czyli wypełniłem te punkty, które ta aplikacja miała spełnić.
No i nagle twój algorytm spełnia 86%, bo nie przewidział sytuacji, że gdzieś się zapętli w kółko albo zostanie nagle przerwany. No spoko. Dobra, to mam jeszcze takie pytanie do Ciebie w sumie, bo już jakieś doświadczenie masz, komercyjne i ogólnie w nauce Javy przed zdobyciem pracy. Są takie trochę nietypowe pytania, jakbyś teraz stracił te wszystkie umiejętności, tą wiedzę, to jak byś sobie zaplanował tą drogę i co byś na pewno robił, a na przykład czego byś nie robił, żeby jak najszybciej, jak najbardziej optymalnie spożytkować ten czas, który od momentu decyzji, że okej, chcę być programistą Javy na przykład, Do tego zatrudnienia, jak byś to wszystko sobie zaplanował? Jakiś taki plan w głowie masz?
I owszem, mówi się, że się googla, ale nawet googlając trzeba wiedzieć, jak to pytanie zadać. Więc najfajniej jest, kiedy ktoś ci to podpowie, czy to będzie nauczyciel z bootcampu, a na ogół to są ludzie pomocni. Rzadko się trafiają ludzie, którzy tam się trafili z przypadku czy za karę. Raczej takich tam nie ma, bo się płaci za to duże pieniądze i są wymagania. Ja bym zaczął od bootcampu. Miałem jeszcze u siebie taką możliwość, że firma EPAM organizowała 3-miesięczny kurs pre-akademii z Javy. Ja się dostałem na to. Też przechodziłem rekrutację jak do pracy, szczerze mówiąc. Tylko tutaj akurat trzeba było pokazać umiejętność posługiwania się kodem, więc w ograniczonym czasie trzeba było puzzle takie z Javy poukładać.
Bo tak się zeszło, że w tym samym momencie po prostu odpowiedzieli z firmy z Dornacha, w którym obecnie pracuję, na moje CV i epam, akurat mi się szkoła kończyła, powiedzieli słuchaj, się popisałeś u nas w Akademii, chcemy ci dać zatrudnienie na junior inżyniera z Javy. Więc to jest dobra, cały czas szukać po prostu Czegoś, co pozwoli ci zorganizować czas na naukę. To było u mnie najważniejsze. Czyli albo szkoła, albo jakaś akademia z danej firmy, albo właśnie mentor, który będzie ciebie prowadził. Bo dla mnie najtrudniejsze, co było, to organizować ten czas.
Generalnie firmy, jak zatrudniają, to wypisują, jakie technologie by chcieli, żeby kandydat umiał. Ale to też jest takie trochę... Co to znaczy, masz umieć... No właśnie, masz umieć Java na poziomie zaawansowanym. Co to znaczy umieć Java na poziomie zaawansowanym? To znaczy, że co ja mam robić? Mam umieć JavaFX na przykład? Umiecie robić grafikę w Javie, bo jestem już taki zaawansowany, że to robię? Generalnie to, co rekruterzy wymagają od kandydatów, Warto dopytać, jeżeli jest kogo, a jeżeli nie ma, to i tak składać papiery. Jeżeli spełnia się, mi się wydaje, przynajmniej 50% wymagań, jakie są na dane stanowisko, warto złożyć papiery, bo później podczas rekrutacji się okaże, że w sumie to nie o to chodziło, w sumie to my to zapisaliśmy, bo to fajnie by było mieć, ale my z tym nie pracujemy.
Jak my później rozmawialiśmy, to oni uważali, że wywalili pieniądze w błoto, w ogóle nikomu tego nie polecają. To ja powiem, mi to było niezbędne, bo potrzebowałem nad sobą w cudzysłowie bata, za który zapłaciłem, żeby wiedzieć, że ja inwestuję, a nie po prostu kładę na to lachę jakąś. Nie wiem, czy bym potrafił przejść drogi takiego samouka stuprocentowego. Próbowałem HTML-a, CSS-a, podstaw JavaScriptu, się tak nauczyłem, ale czy bym był dzisiaj tu, gdzie jestem, gdybym jednak nie miał tych RAM? To śmiem w to wątpić.
Ok, super. No dobra, to czy masz jeszcze może coś do dodania na przykład dla naszych słuchaczy? Jak macie możliwość, to polajkujcie sobie na YouTube różne kanały dotyczące Javy, najlepiej w języku angielskim, bo do pracy programisty język angielski jest absolutnie niezbędny. Nie ma chyba pracodawcy, który by nie chciał języka angielskiego, bo nawet jeżeli nie do tego, żeby rozmawiać z jakimiś tam kolegami z zagranicy, jeżeli firma jest międzynarodowa, To po to, żeby czytać dokumentację, język angielski jest potrzebny, bo cała dokumentacja jest w języku angielskim i najprawdopodobniej jak zostaniecie oddelegowani do pisania dokumentacji jako juniorzy, co polecam, to jest bardzo fajne zadanie jako junior, pisać dokumentację do aplikacji, bo ją lepiej poznajecie wtedy, to piszecie po angielsku.
Więc przyłóżcie się też, jeżeli czujecie się pewni w programowaniu, ale niepewni w języku angielskim, Kurs angielskiego koniecznie. Tutaj już metoda dowolna, jak kto lubi czy nie lubi, ale potrzebuje uczyć się języków, to tą metodę stosujcie. A na YouTubie właśnie kanały, które np. nowinki do Javy. Ja zaczynałem uczyć się Javy, to była Java 11. Poszedłem do EPAM-u, Java 17 wyszła już jakby Junior Mid. Episode 3
To zwątpienie będzie zawsze, będzie zawsze zwątpienie z wami. To nawet z seniorami rozmawiam tutaj w tej firmie, to oni mówią, słuchaj, Nie miałem pojęcia, jak to zrobić. Tu googlałem, tam razem siadaliśmy, szukaliśmy rozwiązań, bo się nowa technologia jakaś pojawiła i trzeba jej używać, bo nagle gdzieś tam przychodzą z góry zalecenia, że aplikacja musi być jak najbardziej w przyszłość możliwa do używania i tak dalej, i tak dalej. Czyli umiecie Java jedenastka, a tu się nagle nie zdziwcie, że będą od was wymagali Java siedemnastki. Więc doedukujcie się z Javy siedemnastki. No i już nowe są Javy, tak? Już tam z dziewiętnastką przecież coś się pojawia i zaraz wyjdzie kolejny stabilny release.
Pokazano wszystkie 21 dopasowań. Transkrypcja generowana automatycznie i niesprawdzana ręcznie — może zawierać błędy.
Kliknij, aby znaleźć fragmenty, w których pada.
Linki z tego odcinka znajdziesz na https://javaready.pl/34
Bartek Kalka | javaready.pl