Plan nauki dot. full stack java developera

0

Witam serdecznie.
Chciałbym dowiedzieć się czego warto się uczyć, żeby zostać full stack java developerem.
Zamierzam przeznaczyć ok 2 lat na ten cel, jednakże pojęć związanych z tym jest od groma.
Wiem. że trzeba znać Javę + jakiś front end np. javascript lub typescript.
Zastanawiam się jednakże nad tymi pozostałymi mądrościami, które przewijają się w internecie: git, scrum, agile, maven, groovy, tdd.
Czy może mi ktoś napisać w jakiej kolejności warto byłoby to poznawać? Albo jakieś typy appek co zrobić, ale coś innego niż np. kalkulator bądź prosty quiz.
Z góry będę wdzięczny, za każdą sugestię, a jeśli temat już był to proszę o usunięcie tematu.

1

Ja rozumiem, że naoglądałeś się stawek na fullstacka na justjoin.it albo innych serwisach ale uwierz mi, że ciężko jest znaleźć sensownego mida po 2 latach pracy w samej Javie + jakimś frameworku, a co dopiero fullstacka gdzie musisz ogarniać w dobrym stopniu wszystkie narzędzia/technologie/języki, które wyżej wymieniłeś. Oprócz samej Javy masz mnóstwo bibliotek, których używa się w codziennej pracy i trzeba poznać ich API (rzadko będziesz miał okazję wymyślać koło na nowo), frameworków, wzorców, protokołów, standardów, dobrych praktyk, paradygmatów, narzędzi do testowania tego co napisałeś: integracyjne, jednostkowe, wydajnościowe, e2e, itd. Mid powinien umieć odpowiedzieć dlaczego wybrał takie rozwiązanie, a nie inne. Do tego momentu jeszcze nie wyszliśmy poza to co powinien umieć Mid Javy, a jeszcze nie wymieniłem obsługi konsoli, SQLa/noSQLa, narzędzi do wersjonowania kodu, narzędzi do prowadzenia projektu, pisania dokumentacji. W 2 lata zapewne nie uda Ci się poznać w połowie dobrze tych wszystkich narzędzi, a chcesz sobie jeszcze dokładać fronta i devopsowe rzeczy...

Nie twierdzę, że nie powinieneś się uczyć tych wszystkich rzeczy po trochu ale powinieneś obrać na razie jeden główny kierunek, szczególnie jeśli zaczynasz, a reszty uczyć się przy okazji bo skończysz jako średniak we wszystkim

1
Mirai napisał(a):

Chciałbym dowiedzieć się czego warto się uczyć, żeby zostać full stack java developerem.
Zamierzam przeznaczyć ok 2 lat na ten cel
[...]
Czy może mi ktoś napisać w jakiej kolejności warto byłoby to poznawać? Albo jakieś typy appek co zrobić, ale coś innego niż np. kalkulator bądź prosty quiz.

Sugerują po 2 latach studiowania informatyki zacząć pisać pracę licencjacką, iść jak wszyscy na roku, na staż.

Oczywiście rozumiem, że rada przegrywa na starcie z "zapełniam githuba kalkulatorem i quizem"

0
OtoKamil napisał(a):

Ja rozumiem, że naoglądałeś się stawek na fullstacka na justjoin.it albo innych serwisach ale uwierz mi, że ciężko jest znaleźć sensownego mida po 2 latach pracy w samej Javie + jakimś frameworku, a co dopiero fullstacka gdzie musisz ogarniać w dobrym stopniu wszystkie narzędzia/technologie/języki, które wyżej wymieniłeś. Oprócz samej Javy masz mnóstwo bibliotek, których używa się w codziennej pracy i trzeba poznać ich API (rzadko będziesz miał okazję wymyślać koło na nowo), frameworków, wzorców, protokołów, standardów, dobrych praktyk, paradygmatów, narzędzi do testowania tego co napisałeś: integracyjne, jednostkowe, wydajnościowe, e2e, itd. Mid powinien umieć odpowiedzieć dlaczego wybrał takie rozwiązanie, a nie inne. Do tego momentu jeszcze nie wyszliśmy poza to co powinien umieć Mid Javy, a jeszcze nie wymieniłem obsługi konsoli, SQLa/noSQLa, narzędzi do wersjonowania kodu, narzędzi do prowadzenia projektu, pisania dokumentacji. W 2 lata zapewne nie uda Ci się poznać w połowie dobrze tych wszystkich narzędzi, a chcesz sobie jeszcze dokładać fronta i devopsowe rzeczy...

Nie twierdzę, że nie powinieneś się uczyć tych wszystkich rzeczy po trochu ale powinieneś obrać na razie jeden główny kierunek, szczególnie jeśli zaczynasz, a reszty uczyć się przy okazji bo skończysz jako średniak we wszystkim

Dziękuję za te wszystkie sugestie. 2 lata to tak założyłem na początek. To i tak dłużej niż trwają te wszystkie ,,bootcampy", które często są na poziomie darmowych kursów na udemy. Ale się nie poddaję. Zamierzałem wprawdzie zostać kimś innym, ale teraz wiem, że będę iść w full stack java. Jeśli mógłbyś mi powiedzieć choć jeden przykład dot. wyboru tego a nie innego byłbym wdzięczny. Np. zastanawia mnie czym się różni java, od javy ee czy javy fx, poza zastosowaniami ( w tych dwóch pierwszych).

0
BraVolt napisał(a):
Mirai napisał(a):

Chciałbym dowiedzieć się czego warto się uczyć, żeby zostać full stack java developerem.
Zamierzam przeznaczyć ok 2 lat na ten cel
[...]
Czy może mi ktoś napisać w jakiej kolejności warto byłoby to poznawać? Albo jakieś typy appek co zrobić, ale coś innego niż np. kalkulator bądź prosty quiz.

Sugerują po 2 latach studiowania informatyki zacząć pisać pracę licencjacką, iść jak wszyscy na roku, na staż.

Oczywiście rozumiem, że rada przegrywa na starcie z "zapełniam githuba kalkulatorem i quizem"

Studia obecnie teraz kończę, przynajmniej 1szy stopień. Ale nie informatykę.

1
Mirai napisał(a):

Studia obecnie teraz kończę, przynajmniej 1szy stopień. Ale nie informatykę.

Nie wiem co będzie za dwa lata. Nie wiem skąd jesteś. Mogę tylko napisać, że gdybyś teraz był po roku intensywnej nauki i miał jakiś dyplom to raczej bez problemu tu w Warszawie znalazł pracę (dobrze płatną, w jednej z korporacji/outsourcingu dla korp.).

Nie czekaj dwóch lat, jak tylko skończysz studia (teraz nim je skończysz i tak będziesz mieć dużo czasu nie tylko na pisanie pracy) uderzaj od razu do pracy jako programista. Zakładając, że mieszkasz w jednym z dużych miast IT.
Nie czekaj 2 lat.

0
BraVolt napisał(a):
Mirai napisał(a):

Studia obecnie teraz kończę, przynajmniej 1szy stopień. Ale nie informatykę.

Nie wiem co będzie za dwa lata. Nie wiem skąd jesteś. Mogę tylko napisać, że gdybyś teraz był po roku intensywnej nauki i miał jakiś dyplom to raczej bez problemu tu w Warszawie znalazł pracę (dobrze płatną, w jednej z korporacji/outsourcingu dla korp.).

Nie czekaj dwóch lat, jak tylko skończysz studia (teraz nim je skończysz i tak będziesz mieć dużo czasu nie tylko na pisanie pracy) uderzaj od razu do pracy jako programista. Zakładając, że mieszkasz w jednym z dużych miast IT.
Nie czekaj 2 lat.
Dzięki za troskę, ale moje programistyczne umiejętności nie są na razie na poziomie wystarczającym. Znam głównie html'a, python'a i troszkę c++, ale tego ostatniego ,,nie czuję" po prostu.

0

Po pierwsze, znasz pythona i c++, po co zaczynasz z Javą?
Po drugie, w dwa lata to można nauczyć się programować rakiety dla SpaceX (no może troche przesadziłem...), Java sama w sobie nie jest wcale trudna, w głowię zaczyna się kompilkować gdy wyjdziesz ze swojej strefy komfortu pętli i++ i zaczniesz ogarniać cały ekosystem Javy, gdy będziesz musiał agregować dane, zarządzać pamięcią wirtualnej maszyny czy działać na wątkach procesora, potem, albo w między czasie dojdzię do tego Spring, Hibernate, AWS, OAuth, MongoDB, OracleDB, Rest do łączenia aplikacji z frontendem i tysiąc innych rzeczy potrzebnych do poprawnej kompilacji swojego oprogramowania, zaczną sie zabawy z obsługą sterowników zewnętrznych firm dla których musiałbyś pisać oprogramowanie, codzienna nauka nowych rzeczy i aktualizacja już opanowanej wiedzy bo się okazuję, że ta dotychczasowa jest już przestarzała, a to dopiero wierzchołek góry lodowej(jak w tych memach z dryfującą górą lodową gdzie lwia część znajduję sie pod powierzchnią wody). Skup się na jednym albo drugim, nikt nigdy nie został fullstackiem już na samym początku, interesuję Cie Java to zostań backendowcem, interesuje JS to leć na front, nie łącz tego bo się pogubisz i machniesz na to ręką, zadowalając się wakacyjną pensją ze zbieranych ogórków w Niemczech. Dwa lata to dużo czasu, na początku możesz uczyc się rzeczy których za dwa lata nikt nie będzie już używał.

1
piotrek2137 napisał(a):

Po pierwsze, znasz pythona i c++, po co zaczynasz z Javą?

SIła mediów?

aczyna się kompilkować gdy wyjdziesz ze swojej strefy komfortu pętli i++ i zaczniesz ogarniać cały ekosystem Javy.

Za to płacą, tego wymagają. Gdyby wystarczało w tydzień ogarnąć "dwa udemy i do przodu" to nikt by się tym nie interesował ani myślał o przebranżowieniach.

Nie ważne, czy brakuje 500 tys. czy 50 tys. specjalistów, to brakuje specjalistów.

2

@BraVolt:
Oczywiście, bo jak ktos zna Pythona czy C++ troche to oznacza że musi siedzić w C++ albo w Pythonie. Ja jak zaczynałem Jave to tez znałem trochę Pythona i C++ i po prostu wolałem Jave od tych 2.
Ale oczywiście musisz założyć ze jak ktoś chce pisac w Javie to znaczy że przeczytał o brakujacych 50 tysiącach, na pewno nie jest to związane z tym ze jest to po prostu prosty język, z dużą liczba materiałów. Swoją drogą jestem ciekawy jakie sa Twoje rzeczywiste umiejętności, bo na razie jakieś 90% Twoich postów jest o korporacjach, HRach i studiach

zarządzać pamięcią wirtualnej maszyny

Pamięcią wirtualnej maszyny junior nie zarządza. Jedynie powinien ew. ogarniać jak działa GC jako tako, wiedziec co to off-heap itp.

, albo w między czasie dojdzię do tego Spring, Hibernate, AWS, OAuth, MongoDB, OracleDB,

Z tej listy umiem w miarę Springa i jako tako JPA. AWS, Spring Security (choć zamierzam się wkrótce nauczyć), MongoDB - nie umiem. OracleDB - umiem SQL ale jakos Oracla to tak średnio i jednak jakoś sobie radze na rynku.

0
scibi92 napisał(a):

@BraVolt:
Oczywiście, bo jak ktos zna Pythona czy C++ troche to oznacza że musi siedzić w C++ albo w Pythonie. Ja jak zaczynałem Jave to tez znałem trochę Pythona i C++ i po prostu wolałem Jave od tych 2.
Ale oczywiście musisz założyć ze jak ktoś chce pisac w Javie to znaczy że przeczytał o brakujacych 50 tysiącach, na pewno nie jest to związane z tym ze jest to po prostu prosty język, z dużą liczba materiałów. Swoją drogą jestem ciekawy jakie sa Twoje rzeczywiste umiejętności, bo na razie jakieś 90% Twoich postów jest o korporacjach, HRach i studiach

zarządzać pamięcią wirtualnej maszyny

Pamięcią wirtualnej maszyny junior nie zarządza. Jedynie powinien ew. ogarniać jak działa GC jako tako, wiedziec co to off-heap itp.

, albo w między czasie dojdzię do tego Spring, Hibernate, AWS, OAuth, MongoDB, OracleDB,

Z tej listy umiem w miarę Springa i jako tako JPA. AWS, Spring Security (choć zamierzam się wkrótce nauczyć), MongoDB - nie umiem. OracleDB - umiem SQL ale jakos Oracla to tak średnio i jednak jakoś sobie radze na rynku.

Jeśli chodzi o to dlaczego interesuje się Java i nie tylkoto są 2 powody. Po pierwsze podoba mi się że można pracować zdalnie. Po drugie jeśli chodzi o c++ to zauważyłem, że głównie to gry albo jakieś systemy wbudowane. Robieniem gier się nie interesuje, wolę czasem w nie zagrać. A embedded to raz raptem prosty system pomiarowy po rs 232. I średnio to ciekawiło.

0
Mirai napisał(a):

Jeśli chodzi o to dlaczego interesuje się Java i nie tylkoto są 2 powody. Po pierwsze podoba mi się że można pracować zdalnie.

A to skąd wziąłeś? Zdalnie to może będziesz miał 1-2 dni (i tak dużo) - a na pewno nie na początku pracy komercyjnej.

Idąc Twoim tokiem myślenia, co sprawia, że w javie można robić zdalnie a w innych językach nie? Pomijam pisanie sterowników do urządzeń, których nie masz w domu.

0
kixe52 napisał(a):
Mirai napisał(a):

Jeśli chodzi o to dlaczego interesuje się Java i nie tylkoto są 2 powody. Po pierwsze podoba mi się że można pracować zdalnie.

A to skąd wziąłeś? Zdalnie to może będziesz miał 1-2 dni (i tak dużo) - a na pewno nie na początku pracy komercyjnej.

Idąc Twoim tokiem myślenia, co sprawia, że w javie można robić zdalnie a w innych językach nie? Pomijam pisanie sterowników do urządzeń, których nie masz w domu.

Nie chodzi mi o to czy jeden czy dwa dni, tylko o to, że po prostu można. Pisząc w c czy c++ jakieś oprogramowanie na dane urządzenie raczej musiałbym mieć w domu do niego dostęp.
Co do tego co można w javie, a w innych językach nie, to nic takiego nie pisałem. Chodzi o to, że przyjemniej mi się po prostu pisze w javie.
Jest sporo uproszczeń w stosunku do c++

  • jednokrotne dziedziczenie
  • jest tylko public i private, nie ma pozostałych np. protected
  • jak zostało powiedziane w którymś powyższym poście, w javie większość rzeczy już została napisana i po prostu trzeba umieć z nich korzystać. Pisząc w C++ mam wrażenie, że wymyślam koło na nowo.

1 użytkowników online, w tym zalogowanych: 0, gości: 1