Java - co powinien wiedzieć junior dev.

0

Cześć na początku chciałbym przeprosić za powtarzający jak bumerang temat,ale jest to dla mnie ważne,żeby zebrać wszystko w całość (po prostu jak chcesz pomóc - pomóż,jak nie "scrolluj dalej " :)) Do rzeczy,jestem młodym ambitnym człowieczkiem,który chcę za rok/dwa startować na juniora :) Ale.. Patrząc po ofertach pracy,większość to web'owa java,ja natomiast chciałbym iść bardziej w backend,w przyszłości może android,kto wie. Piszę tego posta,ponieważ chciałbym się dowiedzieć czego powinienem się uczyć,sqla/wzorce projektowe/testy jednostkowe/git ? Coś jeszcze ? Czy na forum istnieje coś w stylu mentora? :) Są ludzie chętni pomóc w wolnym czasie ? Za wszystkie odpowiedzi będę mega wdzięczny.

4

5

Naparzac crudy dla szatana

0

Java Developer powinien posiadać minimum roczne doświadczenie w JEE / EJB. Przydatna jest także znajomość baz danych: Oracle, JDBC, SQL Oprócz tego jest mile widziana znajomość: Web UI design, GWT/GXT, AJAX

1

Moim zdaniem junior developer powinien wiedzieć co to jest refleksja.

1

powinien posiadać minimum roczne doświadczenie w JEE / EJB. Przydatna jest także znajomość baz danych: Oracle, JDBC, SQL Oprócz tego jest mile widziana znajomość: Web UI design, GWT/GXT, AJAX

a gdzie spring i scala? to tez podstawy dla kazdego szanujacego sie javowca ;)

a tak powazniej - poczatkujacy dev powinien imo znac podstawy takie jak kolekcje, najczesciej uzywane typy danych, proste i/o, umiec zbudowac projekt w ide i tyle.
co jest duzo wazniejsze to zeby umial wyszukiwac informacji i chcial sie uczyc.

1

przykład z wiki:

// bez refleksji
 Foo foo = new Foo();
 foo.hello();

 // z refleksją
 Class cl = Class.forName("Foo");
 Method method = cl.getMethod("hello");
 method.invoke(cl.newInstance());

2
a tak powazniej - poczatkujacy dev powinien imo znac podstawy takie jak kolekcje, najczesciej uzywane typy danych, proste i/o, umiec zbudowac projekt w ide i tyle.
co jest duzo wazniejsze to zeby umial wyszukiwac informacji i chcial sie uczyc.

Za takie podstawy płacą 5k na start?

2

OOP, generics, kolekcje , Lamda & Streamy, podstawy IO, wielowątkowość, Maven, IDE, Git, SQL, JUnit

1

@scibi92
no przestan z ta wielowatkowoscia to moze 1 na 50 'seniorow' ma pojecie wieksze niz jak wystartowac watek i co to jest race condition ;) git niestety nie jest standardem w wielu miejscach wiec ciezko wymagac od przecietnego javowca zeby go znal jesli nie mial szczescia pracowac w firmie z humanitarnym podejsciem do kontroli wersji ;)

0

No super, tylko że każda aplikacja webowa jest wielowątkowa. Nie chodzi o to żeby nauczyć się na pamięć **Java Concurrency in Practice tylko wiedzieć co to wątek, blokady itp
Git jest w ponad połowie firm :)

2

no pewnie zalezy od branzy, np w bankach nie jest to wcale taki standard. a co do wielowatkowosci - przyznam ze nie wiem jak to jest z webem w javie ale wydaje mi sie ze jest max 10 prostych zasad ktorych trzeba przestrzegac a reszte robi framework ;) a jak dziala framework pod spodem to juz pewnie nie temat dla java dev wannabe. wiec jesli chodzi ci o znajomosc owych 10 zasad to jasne, zgadzam sie, czemu by nie meczyc nimi gimbusow co chca 5k na start ;)

0

Tak @somekind frameworki "ukrywają" przed programista wielowątkowośc, i np. w Springu wystarczy dodać adnotacje @Async żeby działo w tle a obsługa żądania nadal trwała ale jednak wypada coś wiedziec. Tak samo jak nie musisz wiedzieć jak zaimplementować drzewo czerwono czarne ale wypadałoby wiedzieć dlaczego na ogół TreeMap to nie najlepszy wybór ;]

2

Jakoś w zeszłym roku popełniłem to https://koziolekweb.pl/i-co-ja-robie-tu/

Tak naprawdę od początkującego programisty oczekuje się umiejętności myślenia, uczenia się i wyszukiwania informacji. Plus jakieś podstawy, by nie musieć nad nim siedzieć z batem i tłumaczyć jak wygląda pętla. Przy obecnej dynamice zmian w IT, wymaganie czegokolwiek ponad teorię od juniora mija się z celem. Zanim nauczy się czegoś np. korzystania z jakiejś biblioteki, to będzie ona przestarzała. Niech zna teorię.

1

Ja znam Jave ze studiów, ale teraz robie w php - owych FW. Jak bym chciał zmienic technologie i firme, to ile dostane na start?

1
A potem wielkie zdziwienie, że CPU aż płonie, a nic się nie dzieje... Niestety frameworki ukrywają wiele rzeczy co powoduje, że zaczynamy ignorować potencjalne problemy. - Koziołek

FW wcale nie są szybkie. Wiele funkcjonalności działa wolniej w porównaniu z kodem strukturalnym.

1

FW wcale nie są szybkie. Wiele funkcjonalności działa wolniej w porównaniu z kodem strukturalnym.

I widać, że nie zrozumiałeś o co chodzi. Jeżeli używamy fw bez zrozumienia tego jak działa, to prędzej czy później staniemy przed problemem gdzie nasze rozwiązanie używa fw w nieprawidłowy sposób znacząco wpływając na wydajność. Co zaś tyczy się "działa wolnej", to zawsze jest pytanie ile czasu zaoszczędzisz na uruchomieniu kodu, który będzie szybszy w porównaniu z czasem, który musisz poświęcić na napisanie tego kodu i późniejsze jego utrzymanie.

0

Ja znam Jave ze studiów, ale teraz robie w php - owych FW. Jak bym chciał zmienic technologie i firme, to ile dostane na start?

stawiam ze miedzy 1500-15000 na reke

FW wcale nie są szybkie. Wiele funkcjonalności działa wolniej w porównaniu z kodem strukturalnym.

pojazdy mechaniczne wcale nie sa szybkie. do wielu miejsc mozna szybko dotrzec pieszo

1
Co zaś tyczy się "działa wolnej", to zawsze jest pytanie ile czasu zaoszczędzisz na uruchomieniu kodu, który będzie szybszy w porównaniu z czasem, który musisz poświęcić na napisanie tego kodu i późniejsze jego utrzymanie.

To jest pytanie? Wypowiadasz sie w sposób nieprecyzyjny..., co nie świadczy dobrze o jakości twojego kodu..;)

stawiam ze miedzy 1500-15000 na reke

Ja stawiam na 4000 - 6000 na ręke. Za mniej nie opłaca mi sie zmieniać technologii.

pojazdy mechaniczne wcale nie sa szybkie. do wielu miejsc mozna szybko dotrzec pieszo

Zgoda, tylko nie można w "terenie" troche jechać samochodem i troche chodzic piesze, jesli chce sie dojść z punktu A do B i nie ma sie do dyspozycji helikoptera, który przeniesie samochód gdzieś do punktu leżacego pomiędzy A i B.
Ja bardzo lubie chodzic pieszo, ale nie przejde np. 30 km w takim samym czasie co pojazd mechaniczny, albo helikopter...Może zamiast pojazdów mechanicznych lądowych i chodzenia pieszo, powinno sie zastosować helikopter? Co jest helikopterem w zestawieniu z FW i kodem strukturalnym?

1
Chyba nie wiesz kim jest @Koziołek że tak piszesz onjego kodzie ;) - scibi92

Ojej i co teraz...zaraz grom z jasnego nieba mnie strzeli..
Czołobitność wyszła z mody jakies 30 lat temu.

1

To jest pytanie? Wypowiadasz sie w sposób nieprecyzyjny..., co nie świadczy dobrze o jakości twojego kodu..;)

Wiesz jeżeli jestem wstanie napisać coś w sposób strukturalny i mieć 800 linii kodu, który będzie szybki, a napisać 10 linii kodu uzupełnionego frameworkiem i mieć coś powiedzmy 30% wolniejszego (ale nadal mieszczącego się w wymaganiach), to pytanie która wersja jest lepsza? Moim zdaniem ta druga, bo po pierwsze pisze się ją znacznie szybciej, co przekłada się na szybsze dostarczenie wartości klientowi, a po drugie znacznie łatwiej jest ją utrzymać, co obniża koszty.

Oczywiście są przypadki, gdy musimy zniwelować narzut ze strony frameworku i samodzielnie rzeźbimy ośmiotysięczniki (bo wywołanie metody zajmuje czas). Tyle tylko w ilu przypadkach musisz coś takiego robić? 1 na 100? 1 na 100000? Zresztą nawet wtedy lepszym rozwiązaniem jest napisanie krótkiego kodu, bo możemy sobie przygotować odpowiednie testy, a następnie skupić się na poprawie wydajności. Z jakiegoś powodu nie piszemy aplikacji biznesowych w asemblerze. Tu można by przywołać historię bodajże WordStara, który będąc praojcem współczesnych edytorów tekstów poległ właśnie dlatego, że chciano stworzyć coś co będzie bardzo wydajne. Niestety okazało się, że pisanie całości oprogramowania w asemblerze uniemożliwiło jego rozwój.

Dokładniejszy opis w książce Merilla R. Chapmana

4

To jest pytanie? Wypowiadasz sie w sposób nieprecyzyjny..., co nie świadczy dobrze o jakości twojego kodu..;)

zarzucasz komus brak precyzji a piszesz ze frameworki nie sa szybkie :D

0

Widzę że dyskusja ładnie się rozwinęła ;) dziękuje za odpowiedzi. Jeszcze jedno pytanie - polecicie jakąś książkę/stronę z zadaniami ? :)

0

http://helion.pl/ksiazki/java-8-przewodnik-doswiadczonego-programisty-cay-s-horstmann,jav8pd.htm
Nawet robie teraz niektóre zadania więc na githubie mam odpowiedzi :P

1

Skoro na juniora potrzeba tylko podstaw Javy i dobre chęci z tego co niektórzy piszą to jak się mają ogłoszenia tego typu do tego:
"Szukamy Full stack Developera, któremu nie są obce: Angular, React, Ionic,HTML, CSS, Bootstrap, Java, Node.JS, PostgreSQL, MySQL, Mongo.
Miejsce pracy: Wrocław
Wynagrodzenie: od 5000 do 10000 PLN brutto UoP lub B2B"
4-5tys. brutto we Wrocławiu podobno zarabia Junior to troche duża różnica z podstawy Javy do Cuowiek orkiestra. Swoja drogą nie wiem czy ja mam spaczony umysł czy firma żydzi mocno, bo nawet za środkowy przedział widełek, umieć faktycznie pisać w tych technologiach prawie wszystkich to dużo pracy bardzo. Chyba że ta javka to tak "jako tako".

1

"Szukamy Full stack Developera, któremu nie są obce: Angular, React, Ionic,HTML, CSS, Bootstrap, Java, Node.JS, PostgreSQL, MySQL, Mongo.

no ale co tu takiego strasznego jest? przeciez po takiej ofercie juz widac ze nie jest poszukiwany specjalista tylko ktos kto jako tako ogarnie byle co mu sie da

Skoro na juniora potrzeba tylko podstaw Javy i dobre chęci

zrozumiec podstawy jest najtrudniej, potem juz leci z gorki. jakims cudem czesciej spotyka sie przypadki junior devow ktorzy staja sie bardziej doswiadczeni niz kompletnych laikow ktorzy staja sie junior devami :)

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