JavaEE odzyskuje renomę tak przez ostatnie 15 lat. Obecnie to taki potworek złożony z technologii, które tylko na pozór do siebie pasują :
np. CDI i EJB, JAX-RS - to co się na styku dzieje to naprawdę piękna katastrofa. Dodatkowo zawiera zupełnie absurdalne i już nieprzydatne rzeczy - JSF.
Generalnie praca w JaaEE to męczarnia z szukaniem nulli i konfigurowanie projektu w annotacjach i xmlach. Z programowaniem ma to mało wspólnego.
Testy automatyczne - nadal w porównaniu ze Springiem - dramat. (A Spring też wcale dobry nie jest :-)) .
Dodatkowo przy odrobinie szęścia będziesz pracował na Application Serwerze (i np. czekał 5 minut aż łaskawie IBM Websphere przeładuje nową wersję twojej aplikacji bo poprawiłeś buga w ifie - czysta przyjemność).
To, że wiele firm i architektów utkwiło mentalnie na JavaEE i czeka na zbawienie i wieszczy świetlaną przyszłość to inna historia.
Jaki oburzenie było po raporcie Gartnera też uznającym javaEE za przestarzałe: https://www.infoq.com/news/2016/12/Gartner-downgrades-Java-EE
A jak Oracle w zeszłym roku lekko wstrzymal pracę nad nowym JavaEE (8) to nawet powstąła grupa JavaEE_guardians.
Oracle słusznie wstrzymał - bo ta platforma to obecnie taki trochę "wstyd przed Ryśkiem". Możliwe, że będą tam dorzucać ficzery - ale IMO to już ani spójne ani eleganckie nie będzie :-(
Ludzie Springa o wiele lepiej adoptują się do zmieniających trendów i są odważniejsi w wywalaniu starych pierdół - więc lepiej to wygląda.
Podział technologii zrobiłem bo i Spring i JavaEE to trochę echa starych czasów javy lizanej. Obecnie to mainstream... ale się to zmienia.
Spring 5 Reactive to próba odnowienia platformy Spring.
Niestety alternatywy, które są ciekawsze od JavaEE i Spring - jeszcze poczekają zanim zostaną zaadoptowane na rynku i zanim w tym pracę znajdziesz.
Ale warto się tych alternatyw uczyć. (Choćby po to żeby wiedzieć, że "CRUD is DEAD").
Tak przy okazji za dnia full time pracuję z JavaEE (większość czasu) i trochę Springiem i tylko czasami z czymś nowszym (10-20%).
Ja się tych kup dawno temu nauczyłem (JavaEE szczególnie) . Ale po prostu tracenia czasu na naukę czegoś co uważam z gruntu za kiepskie i nie rokujące nie polecam. A tej nauki jest cholernie dużo :-(. To trochę tak jak uczenie się teraz Pascala/Deplhi. Nadal znajdziesz pracę i są firmy w tym pracujące... jakkolwiek raczej przyszłościowe to nie jest.
Jako źródła wiedzy używam konferencji softwarowych i twittera... takie czasy. Jak do czegoś wyjdzie książka to już dziadowie nie pamiętają co to było.
Na konfach można się dowiedzieć na temat trendów. Z twittera dostaję linki do blogów i raportów.
Scala/ Akka jako alternatywa jak najbardziej polecam - tylko, że tak jak piszesz pracę będzie Ci znaleźć trudniej. Ale to przynajmniej jest jakieś programowanie. Wspomniany przeze mnie Lagom to właśnie framework oparty o Akka i Play w wersji na Javę.