¿Cómo puede un desarrollador de Java mejorar sus habilidades?

Trabaja en algo realmente útil para ti o para tus amigos, esta es la mejor manera de motivarte y explorar los problemas del modelado del mundo real. Esto no está relacionado con Java, obviamente.
Luego, use la herramienta correcta para el trabajo correcto. Java da lo mejor de sí cuando los problemas son complejos y el diseño estricto tiene más valor que la flexibilidad. Si quieres hacer un sitio web simple, no uses Java. Si desea realizar una GUI de escritorio típica, no use Java. Simplemente lo odiarías.
Por ejemplo, me encanta Java cuando lo uso como backend para mis aplicaciones web, donde prefiero usar AngularJS.
Realmente odio JSP, JSF y toda esa mierda complicada.
Finalmente, hay mucha estratificación en el mundo de código abierto de Java. No elija Struts o Spring, solo porque parecen ser muy populares. Busque herramientas más jóvenes y estables, más adecuadas para proyectos pequeños / medianos. Dropwizard, Play !, Ratpack, Groovlets son buenas alternativas a Struts, Spring, Seam y mucho más fáciles de abordar.

Lee buenos libros y piensa en ello. Aquí están los libros que he recomendado a cualquier persona en cualquier lugar:

  • El lenguaje de programación Java, 4ª edición
  • Java 8 Lambdas: Programación Funcional Para Las Masas
  • Java efectiva (2da edición): Joshua Bloch
  • Java Performance: la guía definitiva
  • Programación de red Java, 4ª edición
  • La especificación del lenguaje Java – Edición Java SE 8

1. Hay algunas mejores prácticas, estándares en java. Trate de entender esas mejores prácticas e implemente esas prácticas.
2. Hay tantos blogs, las comunidades están disponibles en línea. Lee esos bolgs.
3. Comprenda los patrones de diseño y cree pequeños y pequeños proyectos para aplicar esos patrones para una mejor comprensión.
4. Lea el código de otros que son buenos en la codificación. También te ayuda a entender las mejores prácticas de codificación.
5. Lo más importante es tener un fuerte control sobre los fundamentos de cualquier idioma.