Точно не нужно распыляться вначале обучения на другие языки программирования. Необходимо стать экспертом в той области в которой ты начал развиваться. Во всяком случае когда-то мне дали, такой совет - это стало как фундамент в определении направления обучения.
Фреймворки желательно не учить, а ими пользоваться для достижения конкретной цели. Полностью синтаксис как Java-Гуру не выучишь сразу и в процессе обучения фреймворкам так же навыки языка будут развиваться и ты сможешь на практике увидеть достаточно тебе знаний или нет.