Jak zacząć naukę Javy? Z jakich materiałów korzystać? Wywiad z Agnieszką Wicherską
W Javie napisano m.in. takie aplikacje jak Gmail, OpenOffice czy Minecraft, ale także LinkedIn, Netflix czy Amazon. Jak wygląda nauka tego języka? Z jakich materiałów warto korzystać? Opowiada nam Agnieszka Wicherska, Młodszy Programista Javy w Smartbear.
Spis treści
Czy Java jest językiem trudnym, czy łatwym do nauczenia? Ile czasu należy poświęcić, żeby zgłębić podstawy pozwalające na aplikowanie na stanowiska juniorskie?
Agnieszka Wicherska: Nie uważam, żeby Java była trudnym językiem do nauczenia, ale z pewnością ma wyższy próg wejścia niż na przykład Python.
To, ile czasu trzeba poświęcić na naukę jest kwestią bardzo indywidualną. Z tego powodu nie podam żadnej konkretnej liczby. Myślę, że najlepszym sposobem, aby sprawdzić swoje umiejętności, jest branie udziału w rekrutacjach na stanowiska juniorskie i staże. Trzeba być jednak przygotowanym na początkowe porażki i się nie poddawać.
O czym warto pamiętać, ucząc się Javy? Masz może jakieś przydatne wskazówki?
Myślę, że dwie najważniejsze rzeczy przy nauce czegokolwiek, nie tylko Javy, to wytrwałość i praktyka.
Co do praktyki, to w czasie nauki korzystałam z Codewars. Znajdują się tam zadania podzielone na poziomy trudności, można zdobywać kolejne „katy”. Ogromnym plusem jest również to, że można porównać swoje rozwiązanie z rozwiązaniami innych użytkowników i uczyć się w ten sposób trików.
Bardzo ważne jest również dokumentowanie własnych projektów i rozwiązań zadań na GitHubie – wtedy w momencie poszukiwania pracy mamy już gotowe portfolio. Dobrym sposobem na poszerzenie horyzontów jest też udział w konferencjach branżowych. Mogę polecić BoilingFrogs, 4Developers czy ByteMyCode.
ZOBACZ TEŻ: Wszystko, co musicie wiedzieć o języku Java. Co to? Dla kogo? I ile zarobimy?
Z jakich materiałów/kursów warto korzystać w tym celu?
Według mnie materiały godne polecenia to:
1. Udemy
Można tam znaleźć zarówno kursy darmowe, jak i płatne. Dostęp jest dożywotni i płatny dla każdego z kursów osobno. Kursy Javy, z których korzystałam są cały czas aktualizowane:
- https://www.udemy.com/course/learn-java-programming-crash-course/
- https://www.udemy.com/course/java-the-complete-java-developer-course
2. Pluralsight
Na tej platformie po dokonaniu płatności uzyskuje się dostęp do wszystkich kursów. Subskrypcja jest odnawiana co roku. Pierwsze, co warto zrobić po zalogowaniu to wybrać obszary, które nas interesują. W miarę postępów kolejne kursy są podpowiadane. Jest tam też dużo rzeczy, które mogą stanowić dodatkową motywację. Mam na myśli różnego rodzaju odznaki czy możliwość zmierzenia, na jakim poziomie opanowaliśmy daną umiejętność.
3. Blogi
Wszystkie wymienione kursy na blogach są darmowe. Na większości z nich są zadania do samodzielnego rozwiązania:
- https://www.samouczekprogramisty.pl/kurs-programowania-java/
- https://javastart.pl/baza-wiedzy
- https://kobietydokodu.pl/kurs-javy/
- https://www.baeldung.com/get-started-with-java-series
- https://www.tutorialspoint.com/java
4. Książki
- Marcin Lis „Java. Praktyczny kurs”
- Robert C. Martin „Czysty kod”
Czy nauka samej Javy wystarczy, żeby aplikować na stanowisko juniorskie?
Nie, sama Java nie wystarczy. Na stanowiskach juniorskich wymagane są też inne technologie: JUnit, Mockito, Spring, Maven, Docker, JPA, Hibernat, SQL itp. Po opanowaniu podstaw Javy trzeba się zacząć ich uczyć.
Jak u Ciebie przebiegała nauka tego języka, ile czasu Ci zajęła?
W moim przypadku od momentu rozpoczęcia nauki do otrzymania pracy na stanowisku juniorskim minęły cztery miesiące. Dziennie na naukę, rozwiązywanie zadań, rozwijanie swojego projektu poświęcałam około siedmiu godzin, pomijając weekendy. Należy jednak pamiętać, że moment zatrudnienia to tak naprawdę dopiero początek nauki.
ZOBACZ TEŻ: O czym w kontekście pracy Java Developera mówi się zdecydowanie za mało? Devdebata
Swoją naukę rozpoczęłam od zrobienia krótkiego kursu internetowego na temat Javy. Następnie zaczęłam robić jedną ze ścieżek na platformie Pluralsight. Jeżeli jakieś zagadnienie nie było dla mnie wystarczająco jasne, to korzystałam dodatkowo z innych źródeł. Bardzo duży nacisk kładłam na praktykę, dlatego robiłam wszystkie ćwiczenia zawarte w kursach/artykułach. Po około miesiącu nauki zaczęłam również rozwiązywać zadania na platformie Codewars.
Po zakończeniu podstawowej ścieżki na temat Javy na Pluralsight zaczęłam się uczyć innych rzeczy, które są niezbędne na stanowisku Junior Java Developera. Po około dwóch miesiącach mogłam już rozwijać swój projekt, dokumentując wszystko na bieżąco na GitHubie. Po trzech miesiącach aplikowałam do firm.
Czy korzystałaś z tak zwanych bootcampów?
Rozważałam wzięcie udziału w bootcampie, ale z powodu koronawirusa wszystkie odbywały się online. Uznałam, więc, że w tym wypadku lepiej będzie skupić się na innych źródłach wiedzy.
Jakie są zalety, a jakie wady Javy?
Wcześniej pracowałam z Pythonem, więc głównie do tego języka porównuję Javę. Dla mnie największymi zaletami Javy są: silne typowanie, brak programowania „wcięciami” oraz popularność. Java jest bardzo popularnym językiem, co przekłada się na łatwy dostęp do materiałów do nauki, konferencji, meetupów itp. Przede wszystkim jednak na dużą liczbę ogłoszeń o pracę. Co do wad, to jestem jeszcze zachwycona, więc nie widzę żadnych.
Agnieszka Wicherska. 27 lat, Młodszy Programista Javy w Smartbear. W IT od ponad trzech lat, pracowała jako testerka manualna i programistka od automatyzacji testów w języku Python. W wolnym czasie czyta książki, głównie literaturę faktu.
Zdjęcie główne pochodzi z unsplash.com.