Wykop.pl Wykop.pl
  • Główna
  • Wykopalisko231
  • Hity
  • Mikroblog
  • Zaloguj się
  • Zarejestruj się
Zaloguj się

Popularne tagi

  • #ciekawostki
  • #informacje
  • #technologia
  • #polska
  • #swiat
  • #motoryzacja
  • #podroze
  • #heheszki
  • #sport

Wykop

  • Ranking
  • Osiągnięcia
  • FAQ
  • O nas
  • Kontakt
  • Reklama
  • Regulamin

1

Plan nauki dla ekosystemu Java z namiarami na materiały

Plan nauki dla ekosystemu Java z namiarami na materiały

Plan nauki dla ekosystemu Java z namiarami na materiały. Jakiś czas temu poprosiłem na swojej mailiście o pytania, do nagrania godzinnego i technicznego Q&A z ekosystemu Javy. Jedno spośród pytań było nietechniczne, ale na tyle ciekawe, że postanowiłem przysiąść nad nim poza konkursem....

pawelcwik
pawelcwik
z
wykop.pl
dodany: 06.10.2020, 20:07:18
  • #
    naukaprogramowania
  • #
    java
  • #
    informatyka
  • #
    spring
  • #
    backend
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Plan nauki dla ekosystemu Java z namiarami na materiały


Jakiś czas temu poprosiłem na swojej mailiście o pytania, do nagrania godzinnego i technicznego Q&A z ekosystemu Javy. Jedno spośród pytań było nietechniczne, ale na tyle ciekawe, że postanowiłem przysiąść nad nim poza konkursem. Dodatkowo na tyle popularne, że stwierdziłem, żeby od razu stworzyć wpis na  ten temat.

Chodziło o pokazanie jasnej roadmapy, planu nauki, jak i czego w roku 2020 się uczyć “na juniora”.


Świat Javy poszedł nieco do przodu przez ostatnie lata, natomiast patrząc na to co obecnie jest wymagane od juniorów/wczesnych regularów to nie za wiele się zmieniło przez ostatnie 10 lat... No to zaczynamy (i od razu – planuję rozbudowę tego wpisu, ale do tego potrzebuję Twojego feedbacku – po przeczytaniu daj mi znać)


Poziom Zero

  • Język angielski. Przede wszystkim czytanie i słuchanie, zaraz potem mówienie i pisanie. Nie podam oficjalnego oznakowania poziomu. Nauczyć się programować do poziomu juniora możesz tylko z polskim, materiałów jest dość, po polsku są takie bardzo dobrej jakości+. Natomiast, gdy napotkasz problemy i trzeba będzie zrozumieć o co chodzi w danym wyjątku rzucanym przez Springa… wówczas już tylko StackOverflow i angielski. Uruchom pierwszy, lepszy tutorial na YT od hindusa – będziesz w stanie po kilku minutach po “oswojeniu się” z akcentem go zrozumieć? Jest OK. Przeczytaj parę odpowiedzi na StackOverflow. Zrozumiane? Jest OK. Komunikatywny angielski nie oznacza idealnej gramatyki i płynnych przemów. Oznacza zrozumienie różnych akcentów i umiejętność w miarę sprawnego konstruowania zrozumiałych odpowiedzi, nawet jeśli miałby brzmieć na początku jak "Kali umieć, Kali zrobić". 
  • Umiejętność nauki – Learning how to Learn, darmowy, świetny kurs
  • Umiejętność rozwiązywania problemów. Podział problemu dużego na mniejsze, tworzenia algorytmów na kartce i papierze. Niestety nie znam dobrego źródła nauki. Jeśli coś znasz to daj znać.
  • Jeśli masz możliwość to studia – inżynier, licencjat albo podyplomówka. Będziesz miał/a papier, który znaczy cokolwiek (bo te z bootcampów nic nie znaczą obecnie), poznasz ludzi, środowisko i będziesz miał/a ułatwiony dostęp do staży.


Poziom Pierwszy

  • Podstawy programowania. flow programu, zmienne, instrukcje warunkowe, funkcje, pętle. Nawet nie musi to być Java. JavaScript jest już dość ludzkim językiem, łatwo w niego wejść i napisać “Hello World”, a coraz częściej znajomość JS jest plusem dla back-endówców. Możesz też od tego poziomu zacząć z Javą, w darmowym kursie po polsku, albo zerknąć na freecodecamp.
  • Podstawy programowania obiektowego w Javie. Omówione również w kursach z punktu pierwszego.
  • Podstawowe struktury danych. Darmowy, mega kurs na freecodecamp.
  • Bazy danych, typu klasycznego, czyli te z obsługą SQL. Podstawy teorii baz danych,komendy od operacji CRUD, Joiny. Darmowy kurs na freecodecamp.
  • Podstawy pracy z Git – ogarnięcie modelu GitFlow.
  • Podstawy Testowania Jednostkowego – autoreklama. Kurs wszyscy sobie chwalą, więc bez fałszywej skromności. -> Kurs na Udemy.
  • Podstawowe Wzorce Projektowe – -> j.w., Kurs na Udemy.
  • Podstawy pracy z Mavenem
  • Podstawy pracy z bazą danych z poziomu Javy. Nie ma na tym etapie znaczenia czy czyste JDBC czy JPA. Do drugiego i tak potrzeba co nieco wiedzy z tego pierwszego by mieć odpowiedni kontekst.


Poziom Drugi

  • Zbieramy wszystko w całość. Tworzysz aplikację do portfolio i wykorzystujesz wszystko co było napisane powyżej. Możesz zrobić graficznego CRUD’a, tesktowego CRUD’a (np. aplikację do obsługi biblioteki (takiej z książkami ;P)), możesz coś bardziej zaawansowanego – np. grę tekstową typu SUD (patrz np. Odchłań).
  • zasady SOLID – Dopiero na tym etapie można w praktyce zobaczyć i poczuć, wcześniej to sucha teoria. Dużo materiałów, polecam coś od Uncle Bob'a
  • Zasady Clean Code – j.w.
  • Refaktoring – j.w.


    [Autoreklama] Mój nowy kurs – Kompletna aplikacjaw języku Java – od zera do installera, jest właśnie przeznaczony na ten etap. Tłumaczy wszystkie używane koncepty od zera, w kontekście w jakim są używane. Zawiera wzorce projektowe, testy jednostkowe, często robimy refaktoring, tworzymy wszystko z zasadami czystego kodu i integrujemy się z bazią danych. Zainteresowany/a? Zerknij tutaj. Kurs ma obecnie, przy pierwszej edycji, 22 godziny, poświęcone na pracę nad jedną aplikacją.


Poziom Trzeci


  • Wszystko czego się tu dowiesz implementujesz w projekcie, który został zrobiony w kroku drugim.
  • JPA (Hibernate konkretnie)
  • Wielowątkowość. Thread, Future. (np. generowanie raportów w osobnym wątku)
  • Elementy programowania funkcyjnego w Javie
  • zasady z książki Pragmatic Programmer
  • CI/CD np. ogarnięcie starego, dobrego i jarego Jenkinsa.

Poziom Czwarty


Do poniższych jest masa materiałów na YT, w tym i polskojęzycznych

  • REST API
  • Spring Boot + Spring Core + Spring Test – darmowy kurs dot. fundamentów. 
  • Spring REST
  • Spring Data
  • JMS
  • Spring Security


Poziom Piąty


  • Stworzenie jednej, dużej aplikacji wykorzystującej to co wyżej ( JMS są opcjonalne). Drugiej do portfolio, o której będzie można pogadać na rozmowie.
  • Sprawy devopsowe – Docker i deployment aplikacji na AWS/GoogleCloud/Azure
  • Znajomość podstawowych koncepcji architektury Microservisowej


Poziom Szósty


  • Przygotowania do rozmowy kwalifikacyjnej, wygooglowanie “Top 100 java interview questions”, “Top 100 Spring interview questions” i ogarnięcie. Nijak ma się to do prawdziwej pracy ale tak to niestety wygląda. Dodatkowy protip – w czasie rozmowy gdy tylko nadarzy się pytanie o coś czego użyłeś/aś w jednym z dwóch dużych projektów do portfolio – mów “.. miałem/am okazję zastosować go w moim projekcie X, pojawił się problem przy X/jak zrobić Y, wykorzystanie tej rzeczy w taki i taki sposób pomogło”. Kierujesz rozmowę w kierunku dwóch projektów z portfolio i płyniesz, pokazujesz przy okazji, że masz już jakieś blizny :)
  • Wychowanie do pracy w grupie – Clean Coder (również autorstwa Uncle Boba)
  • BONUS POINTS – TypeScript, React, JavaScript – darmowe wstępniaki dostępne na kursy.clockworkjava.pl




Komentarze (4)

najlepsze

Szwedzki_Kucharz
Szwedzki_Kucharz
07.10.2020, 07:01:53 via Android
  • 1
Suche te źródła, ja bym zaczał od ksiażek OCA i OCP Jeanne Boyarsky, pomimo ze java 8 to sam konkret i na juniora moze isc jak skumal wszystko.
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

MrFisherman
MrFisherman
08.10.2020, 13:35:13 via Wykop Mobilny (Android)
  • 0
Całkiem fajnie zebrane :) Co z nauką Mongo, Spring MVC? Poprzez struktury danych rozumiesz kolekcje i ich zależności? Co z algorytmami?
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

pawelcwik
pawelcwik
Autor
08.10.2020, 20:23:50
  • 0
Dzięki. IMO Mongo nie jest niezbędne dla juniora, ale może faktycznie jako bonus pod koniec wrzucę. MVC zawiera się w Spring Core. Tak, struktury danych - kolejki, stosy, drzewa etc. etc., o algorytmach nie pomyślałem tbh... z jednej strony ok.. trzeba zrozumieć, zobaczyć jak mądre głowy rozwiązały problem krok po kroku... z drugiej.. no 99.5% programistów ich nie potrzebuje po prostu.
  • Odpowiedz
r.....j
r.....j
konto usunięte 06.10.2020, 20:26:41
  • 0
nie obraź się ale tu nie ma nic odkrywczego
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych odpowiedziach

Hity

tygodnia

Znalazł wojskowe dokumenty na działce. Policja przeszukała jego dom bez nakazu.
Znalazł wojskowe dokumenty na działce. Policja przeszukała jego dom bez nakazu.
2527
Facet opracował kamerę rejestrującą 2 miliardy FPS i nagrał ruch wiązki lasera
Facet opracował kamerę rejestrującą 2 miliardy FPS i nagrał ruch wiązki lasera
2449
Flippowanie uznane za działalość gospodarczą:)
Flippowanie uznane za działalość gospodarczą:)
2357
Atak kuriera DHL
Atak kuriera DHL
2419
Marcina zagryzły psy. Jego partnerka mówi o koszmarze
Marcina zagryzły psy. Jego partnerka mówi o koszmarze
2264
Pokaż więcej

Powiązane tagi

  • #programowanie
  • #programista15k
  • #java
  • #pracait
  • #cpp
  • #python
  • #informatyka
  • #elearning
  • #it
  • #pytanie
  • #webdev
  • #javascript
  • #bootcamp
  • #programujzwykopem
  • #csharp

Wykop © 2005-2025

  • O nas
  • Reklama
  • FAQ
  • Kontakt
  • Regulamin
  • Polityka prywatności i cookies
  • Hity
  • Ranking
  • Osiągnięcia
  • Changelog
  • więcej

RSS

  • Wykopane
  • Wykopalisko
  • Komentowane
  • Ustawienia prywatności

Regulamin

Reklama

Kontakt

O nas

FAQ

Osiągnięcia

Ranking