Me encanta cómo has dividido el aprendizaje en Java y Testing, y lo has proyectado en tres niveles de profundidad: corto, mediano y largo plazo. Eso demuestra visión, constancia y claridad de propósito.
En Java, el recorrido es progresivo y bien estructurado:
Comenzar por la sintaxis básica y estructuras de control te da una base sólida.
Luego, pasar a proyectos con clases e herencia permite aplicar lo aprendido.
Y cerrar con Spring y patrones de diseño muestra que apuntas a un dominio profesional del lenguaje.