OK se è per lavoro e sul WEB vi dico che sono necessari:
1. Una imprescindibile base di Java e delle più comuni "Strutture Dati".
2. Una imprescindibile base di SQL e database relazionali (a scelta tra Oracle, MySQL, MSSQL).
3. Una buona conoscenza del design OO e della modellazione UML (come minimo saperla interpretare leggendola da un documento)
4. Il design MVC e almeno uno dei framework che oggi si usano di più. Tipicamente Spring (noi lo usiamo per quasi tutto), poi JSF, Structs, ADF (se si usa una soluzione Oracle compliant), GWT).
5. Avere dimestichezza con tool di building automation quali Maven, Gradle, Ant (integrati negli editor)
6. Eclipse lo usiamo nel 90% dei casi, poi Intellij 5%, NetBeans 3%, altro 2%
7. Architetture SOAP e REST
8. Sapere interagire (almeno il deploy) con uno dei principali application server in circolazione: JBoss,, WebLogic, WebSphere, OracleAS. Tomcat giusto per gli ambienti di test piccoli.
Non sottovalutate lo sviluppo batch (applicazioni senza interfacce grafiche da lanciare a orari precisi, a riga di comando, per fare operazioni massive, ecc..); tutti vogliono "disegnare" applicazioni online, nessuno mai che voglia fare un package per importare 250 file di testo, elaborarli, scriverli su DB, farne il log e mandare una mail di fine-job. Oltretutto sono le applicazioni più longeve e non risentono quasi mai dei cambi della moda delle interfacce grafiche
Ho tralasciato la parte mobile perché non me ne sono mai occupato a lavoro.
Tips: All'inizio non seguite trecento fonti di studio, prendetene una, due al massimo ed esauritele, che sia un corso online o un manualone pdf, eviterete di perdervi nel vortice di Java.
La documentazione sul sito della Oracle dedicata a SE e EE ha quasi tutto quello che vi serve:
http://docs.oracle.com/javase/8/
http://docs.oracle.com/javaee/7/index.html
In italiano la guida su HTML.IT è da poco stata aggiornata alla versione 8.
http://www.html.it/guide/guida-java/
Buono studio.