Java w co warto inwestować czas?

0

Kończę pisać pracę inż. i spodobało mi się pisanie w Java. Tak się zastanawiam w co warto inwestować czas aby rozpocząć pracę zarobkową jako programista tego języka. Gdzie można najwięcej zarobić i dlaczego?
Które frameworki opanować i na czym się skupić najbardziej?
Czy opłaca się nauka JavaFX, ME?

0

JavaME umiera, JavaFX zmienia właśnie swoją postać (Oracle wywala JavaFX Script). Jeśli chcesz pisać aplikacje na komórki w Javie to wybierz Androida.

Jeśli chcesz pisać aplikacje webowe to z frameworków do tworzenia GUI polecam Apache Wicket (do indeksowalnych stron; wersja 1.5 niedługo oficjalnie wychodzi, polecam olać poprzednie wersje), Google Web Toolkit (jeżeli nie zależy ci na indeksowalności). Przy pisaniu aplikacji webowych musisz dostać się do bazy - polecam więc naukę JPA (najlepiej także JPA2). Do wstrzykiwania zależności polecam Google Guice.

Jeśli jesteś ambitny to możesz np nauczyć się programowania pod Google App Engine (skoro zaczynasz z Javą i nie znasz Javowych ORMów albo może i nie znasz SQLa to nie zrazisz się Datastorem Googla). Albo, lepiej, nauczyć się języka Scala i pisać aplikacje we frameworku Lift (liftweb.net). Tyle, że przynajmniej w Polsce ciężko znaleźć w tym pracę.

Generalnie ekosystem Javy to tysiące frameworków, ciężko wybrać te które się najbardziej przydadzą czy pomogą w znalezieniu pracy. Ogólnie jak pójdziesz do roboty to i tak firma będzie używać kilku otwartych frameworków + kilka swoich. Musisz orientować się w technikach pisania programów w ogólności, pisząc programy w nowoczesnych frameworkach prędzej nabierzesz takich umiejętności.

0

A JSF?

0

Wielkie dzięki za odpowiedz pomysł z androidami oraz aplikacjami webowymi bardzo mi się podoba. Co do JPA to już trochę o tym wiem i opanowałem cześć hibernate bez adnotacji i tworzenia zawiłych relacji, potrafię połączyć się z daną bazą i operować na rekordach analogicznie JDBC.
A jak z praca w tym kierunku - aplikacje na telefon/ aplikacje webowe?
Ponad to z twojej wypowiedzi wnioskuję że dobry programista to taki który zna i potrafi zastosować wiele frameworków tak?

0

Dobry to taki, który szybko potrafi się zorientować we frameworku i optymalnie go wykorzystywać.

Ogólnie praca na Androida jak i JavęEE jest i nawet jest jej sporo. Zarejestruj się na infopraca.pl i czekaj na emaile z ofertami pracy :P

Z szeroko używanych frameworków to jeszcze np Spring, ale myślę, że już go dobrze znasz. Poza tym dziesiątki projektów Apache, w firmie C****** gdzie pracowałem, wykorzystywano co najmniej kilka projektów Apache. Jest ich tyle, że bardzo często któryś się przydaje.

0

Wreszcie jakiś kierunek w którym można podążać ;]
A powiedz od czego zacząć najlepiej + ksiazki/tutki i dokumentacja ofc jeśli możesz? ;]

0

Sam generalnie uczę się z neta, bo zwykle programuję w nowinkach, które są niedojrzałe i szybko się rozwijają. W Wickecie rzeźbiłem jeszcze gdy nie był popularny w Polsce, teraz np rzeźbię w OpenCLu (to jest w ogóle niedojrzałe, szczególnie w wydaniu AMD, na którym pracuję).

Spokojnie jednak możesz znaleźć jakąś książkę teraz dla Wicketa, JPA2, Springa etc po angielsku. Szukaj w Google, na stronach wydawnictw, czy też na stronach samych frameworków.

0

Może inaczej zapytam. Co powinienem najpierw opanować abym mógł podjąć stosunkowo szybko prace i później rozwijać się dalej?

0

Wydaje mi się, że Android to dużo mniej skomplikowana i rozbudowana platforma niż JavaEE. Więc jeśli chcesz szybko znaleźć pracę to chyba Android jest lepszym rozwiązaniem. Żeby jako-tako pisać duże aplikacje webowe w Javie to wg mnie trzeba poświęcić ze dwa lata i to solidnie. Aplikacje na telefony są z reguły małe, więc nie ma ryzyka jak w JavaEE, że trafisz do projektu-krowy mającego 10 lat. Z drugiej strony jeśli ma się duże doświadczenie i szczęście to w JavieEE można zarobić grubą kasę - ale to tylko nieliczni. Generalnie nie mam więc jakiejś ostatecznej super-propozycji.

0

Ja bym tu jeszcze dodał że nie samą Dżawą programista żyje...proponowałbym też jakąś bazę (może oracle? )

0

No ale taki Junior Java Developer chyba nie musi mieć całej JaveEE w głowie ?

0

Mam 4 lata doświadczenia w programowaniu w Javie, 2 lata w pracy zarobkowej i powiem tak:
Nie ma co się nastawiać na konkretny framework webowy. Na początku też myślałem "nauczę się frameworka X i będę w tym robił przez najbliższych kilka lat". Prawda jest natomiast inna - to nie od developera zależy wybór frameworka. Inna sprawa, że dochodzę do wniosku, że programowanie w jednej technologii byłoby nudne.
W firmie, w której pracuję jest wiele różnych projektów wykonanych w różnych technologiach.
Jednego dnia używam Tapestry, drugiego Seama, a trzeciego Fleksa.

Oczywiście na początku należy zapoznać się z jednym, czy dwoma frameworkami oraz rozpoznać rynek (czym charakteryzują się najpopularniejsze frameworki). Istotniejsze jest jednak coś innego - nauka porządnego pisania backendu przy użyciu takich technologii, jak EJB, Spring, JPA, Hibernate oraz poznanie "dodatków" typu log4j, maven, junit (włącznie z mockowaniem), jakiegoś IDE (eclipse/netbeans/idea).
Znajomość SQLa też zwykla jest bardzo ważna (niektóre firmy zatrudniają jednak oddzielnych specjalistów od baz danych). Najpopularniejszymi bazami są Oracle i MS SQL.

0

Podepnę się pod temat z pytaniem.
Czy znajomością samej Javy SE wykorzystywaną przy pisaniu własnych aplikacji desktopowych wzbudzę jakiekolwiek zainteresowanie na rynku pracy, czy raczej takim zakresem umiejętności w tym języku nic nie osiągnę? Co prawda na razie jestem zawodowo związany z PHP, ale o ile przy ostatnim szukaniu pracy Javy praktycznie nie miałem w CV (znałem tylko totalne podstawy), teraz chciałbym ją dodawać jako atut, tyle, że nie wiem, czy to faktycznie jest atutem w obecnej formie.
Czasami rozważam zainteresować się EE, tyle, że na własne potrzeby jest to dla mnie dublowanie technologii (do tworzenia aplikacji webowych mam PHP). Więc dopóki taki rozwój nie jest niezbędny zawodowo, Javę preferuję używać do tego, do czego jej na start potrzebowałem, czyli desktop.

0

Czesta pomylka - Java EE to niekoniecznie aplikacje webowe, to o wiele wiele wiecej.

0

To co jest jeszcze takiego w Javie EE? Jako ignorant wiem tylko o aplikacjach webowych.

0

Czyli wiesz tylko o servletach, jsp, tomcacie i tonie frameworkow na tym budowanych. A EJB (rozproszone komponenty), JTA (rozproszone transakcje, zarzadzane przez kontener), od wersji 6 bardzo zaawansowane wstrzykiwanie zaleznosci z CDI, JPA (O/RM), JCA (integracja innych systemow aby umialy wspoldzialac np w transakcjach JTA), JMS (asynchroniczne i skalowalne przetwarzanie wiadomosci), itd.
Dla przykladu, my aktualnie uzywamy Javy EE 6 a aplikacja jest napisana w Swingu i rozprowadzana za pomoca Java Web Start. Nie mamy ani jednego servleta, zadnego frameworku webowego, a jednak wydaje nam sie ze EE ma sens. Ostro korzystamy z EJB, JTA, JPA, CDI, Web Servicow.

EE to moloch, ale da sie ja opanowac - to skonczona liczba stron specyfikacji, raptem pare tysiecy w sumie dla wszystkich technologii ;d Co jest niemal nieskonczone to frameworki ktore korzystaja z jej czesci, spinaja, ulatwiaja, utrudniaja, zmieniaja, spawaja, udziwniaja...

0

W co warto inwestowac: moim zdaniem w to co Cie interesuje. Widzisz kariere jako programista aplikacji klasy enterprise - ucz sie EE, widzisz sie jako programiste modile - idz w Androida. Nie wszystko na raz; ale jak nabedziesz troche oglady i doswiadczenia to w miare szybko lykniej zasady i nauczysz sie innych frameworkow i bibliotek.
Nie zapomnij, jak juz ktos wspomnial, ze nie tylko Java jest na swiecie. Jest wiele innych ciekawych rozwijajacych sie technologii i jezykow, chociazby na JVM, ktore moim skromnym zdaniem wypra Jave predzej czy pozniej. Java jako jezyk to padlina (ponownie, moja opinia).

0

W takim razie na jakie aplikacje będzie popyt w przyszłości - powiedzmy najbliższe 10 lat ? (Ułatwi wybranie języka)
Na pewno apl. na urządzenia mobilne - ale jakie jeszcze.

0

A kto to moze wiedziec?
Co do mobilnych to z tego podobno trudno wyzyc, czytalem jakis czas temu raport ze tylko niewielki odsetek programistow piszacych na iGadgety (ok 5%) moze sie utrzymac tylko z tej dzialanosci. Na androida prawie wszystko za darmo albo marne grosze (nie moge zacytowac, nie pamietam gdzie to czytalem).

0

W ramach off top'u< jeśli można...
Ja np. czasem myślę o J2ME (jak ogarnę bardziej Javę) - dlaczego ?
A no dlatego że komórkę masz zawsze przy sobie (prawie zawsze).
Jeśli potrzeba używać aplikacji "gdzieś" gdzie nie ma, albo nie można mieć kompa, albo nie chce ci się taskać kompa(lapka) - masz komórkę., tableta.
Oczywiście to nie jest pomysł dla zawodowego programisty bo on nie pisze programów dla siebie - przeważnie. Ale jest to ciekawa opcja.

0

Nie chcę zarabiać kokosów bynajmniej nie na początku. Chcę tylko wiedzieć w co inwestować abym mógł podjąć pracę zarobkową i utrzymać siebie i dziewczynę. Oczywiście w miarę upływu czasu chciał bym podnosić nasz standard życia dlatego pytam co w tym języku jest najważniejsze (bazowe) a czego z czasem się doszkalać aby zarobki rosły proporcjonalnie do zdobywanej wiedzy. Oczywiście to tylko takie hipotetyczne pytanie wiadomo że nie da się wszystkiego przeliczyć na kasę choćby hibernate += 500 zl do pensji, EJB += 600zl... itd. Ale jeśli mam w pewnym sensie kontakt z ludźmi takimi jak wy którzy od x lat pracują w zawodzie to na pewno macie jakiś pogląd na to.

0

Ja bym jednak chyba zainwestowal w dziewczyne ktora umie sama o siebie zadbac i dokladac sie do domowego budzetu. Ale to tylko moje zdanie...

0

To swoją drogą lol...

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