diverse domande:
1. che preparazione di base hai? mi spiego, hai studiato informatica? ingegneria ? (anche se non completate)?
2. come te la cavi con l'inglese?
3. sai usare la riga di comando?

Qualsiasi cosa tu possa pensare di fare, se non mastichi bene l'inglese (saper leggere e comprendere) non vai molto lontano. Studi matematici aiutano con lo sviluppo e trovo che avere buone basi con la riga di comando sia il minimo per comprendere in realtà come funziona l'intero sistema e come interagisce con il sistema operativo.
Aggiungerei competenze minime da sistemista (per imparare ad esempio ti potresti trovare davanti la necessita di mettere su un web server e configurarlo, spesso altrove hai chi lo fa per te, ma per studio e scouting questo non c'è).

Riguardo al testo: vecchio, siamo già a java 8. Per imparare le basi basi va bene, se vuoi qualcosa di spendibile lavorativamente ne hai da studiare.
Ambiente di sviluppo io sono contraria, perché ci sono tante di quelle funzionalità che per imparare (e fare le prime prove) non servono a niente. Ti giova di più qualcosa tipo sublime o notepad++ (che evidenzia le parole chiave) che non eclipse.
La produttività...beh ne saprai sempre poco per essere produttivo, io dopo anni di studio/lavoro ritengo di non saperne ancora abbastanza (e so che già qui c'è chi ne sa più di me). Bisogna anche capire in quanto tempo diventi produttivo, magari ti mettono davanti un nuovo framework, una settimana di lavoro e devi esserne esperto. Conta spesso come ti sai muovere, quanto ci metti ad acquisire competenze, come ti regoli davanti ad API sconosciute etc.

Per il resto in bocca al lupo, hai tanto da fare