[vc_row][vc_column][vc_column_text]Constantemente recibo consultas sobre como convertirse en mejores desarrolladores Java, qué cosas deben aprender y en qué área pueden trabajar para convertirse en un desarrollador Java rockstar. Luego de responder individualmente en los últimos años, pensé en anotar un par de puntos que lo convertirán en un mejor programador Java y desarrollador de aplicaciones.
Estos consejos son igualmente útiles tanto para los desarrolladores principales de Java como para desarrolladores web de Java.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
1. Aprende Java 8
Este es el punto más importante para desarrolladores Java ahora mismo. Tiene 4 años e incluso se lanzó Java 9 hace seis meses y la gente ahora está hablando de las características de Java 10. De todos modos, conozco a muchos programadores que no han escrito una sola línea de código usando las características de Java 8 como lambdas y Stream API.
Desafortunadamente, la mayoría de ellos son desarrolladores experimentados de Java con 7 o 10 años de experiencia en su haber. Entiendo que en algún momento de su carrera, el aprendizaje se vuelve lento, pero si no actúas ahora, te quedarás atrás.
Casi todos los trabajos de desarrollo de Java ahora requieren habilidades de Java 8, y si no los tiene, será muy difícil hacerlo bien.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
2. Aprende Spring Framework (Spring Boot)
En la actualidad, es casi imperativo que un desarrollador de Java conozca Spring, ya que la mayoría de las empresas prefieren hacer desarrollos usando Spring Framework como Spring MVC, Spring Boot y Spring Cloud para desarrollar una aplicación web, REST API y microservicios.
También promueve mejores prácticas como la inyección de dependencias y hace que su aplicación se puede comprobar mejor, que es un requisito clave para el software actual.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
3. Aprender pruebas unitarias
Si hay algo en común que separa a un buen desarrollador de Java de un desarrollador medio de Java, se trata de habilidades de pruebas unitarias.
Un desarrollador bueno y profesional de Java casi siempre escribe buenas pruebas unitarias para su código, y si realmente es un desarrollador rockstar, puede verlo a partir de su código y pruebas.
Las pruebas también han recorrido un largo camino, con varias herramientas para pruebas unitarias, pruebas de integración y pruebas de automatización disponibles para los desarrolladores de Java.
Puede gastar una buena cantidad de 2018 perfeccionando sus habilidades de pruebas de Java, pero para aquellos que son nuevos en el mundo de Java y las pruebas unitarias, JUnit es la mejor biblioteca para empezar. La versión más reciente (JUnit 5) es poderosa y flexible y todo desarrollador de Java debería saberlo.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]4. Aprender de API y librerías
Si ha trabajado con grandes desarrolladores de Java, es posible que haya notado su conocimiento general del ecosistema de Java, y las API forman una parte importante de él.
Java es el lenguaje de programación más popular y maduro del mundo, y hay toneladas de librerías y API disponibles para hacer casi todo.
Por supuesto, no se espera que conozcas a todas ellas, pero debes estar familiarizado con algunas API clave, por ejemplo, las API de procesamiento JSon como Jackson y GSon, las API de procesamiento de XML como JAXB y Xerces, y las bibliotecas de pruebas unitarias como Mockito y JUnit.
Si no los conoce, puede aprender o al menos obtener una descripción general de ellos en 2018. Para empezar puede empezar por una lista de las 20 librerías Java que todo desarrollador Java debe conocer, que cubre bibliotecas de áreas clave como el análisis, manipulación de bytecode, concurrencia, colecciones, etc.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
5. Aprender aspectos internos de la JVM
Si realmente quieres convertirte en un desarrollador Java rockstar, debes dedicar un tiempo a aprender sobre el funcionamiento interno de JVM, por ejemplo, ¿Cuáles son las diferentes partes de la JVM, cómo funciona, JIT, opciones de JVM, garbage collector y colectores, entre otros.
Si conoces bien la JVM, puedes escribir aplicaciones Java sólidas y de alto rendimiento, y eso es lo que hacen los desarrolladores de Java rockstar.
Como parte de esto, también debe aprender cómo perfilar su aplicación Java y cómo encontrar cuellos de botella de rendimiento.
Para un aprendizaje estructurado, recomiendo The Definitive Guide to Java Performance de Scott Oaks, que es un gran libro.
Para aquellos que prefieren cursos en línea sobre libros, Understanding the Java Virtual Machine de Pluralsight es una buena colección para dominar las partes internas de JVM.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
6. Aprender del diseño de Patrones
Si está escribiendo una aplicación Java desde cero, la mayoría de veces, está escribiendo código orientado a objetos y los patrones de diseño son soluciones comprobadas de problemas comunes.
Al conocerlos e incorporarlos a su código, usted hace que su aplicación sea más flexible y fácil de cambiar en el futuro.
También mejora la calidad y la documentación general del código porque otros desarrolladores de Java también están familiarizados con los patrones de diseño. Por lo tanto, entenderán la solución bastante rápido.
Pero no se concentre únicamente en la parte del código, comprenda el espíritu y sea creativo. Use las características de Java 8 como lambdas y Streams para reescribir patrones.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
7. Aprende herramientas de DevOps
Para un desarrollador moderno de Java, el conocimiento de DevOps es esencial. Al menos debería estar familiarizado con la integración continua y la implementación continua y como Jenkins ayuda a lograr esto.
Se vuelve aún más importante para los desarrolladores senior de Java, que a menudo son responsables de establecer las mejores prácticas de codificación y crear entornos, crear scripts y directrices.
También sugiero que dedique tiempo y aprenda más sobre DevOps en general y sobre herramientas como Docker, Chef, Kubernetes, etc., junto con Maven y Jenkins.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
8. Aprenda Kotlin
Hace un par de años, leí un libro titulado The Well-Grounded Java Developer, que destacaba la ventaja de convertirse en un programador políglota.
Me inspiró para aprender Scala, y más tarde también probé Groovy debido a su mayor uso en la creación de scripts de compilación y pruebas unitarias.
Esa experiencia me ha ayudado mucho, y es por eso que animo a los desarrolladores de Java a aprender un nuevo lenguaje JVM. Uno de los lenguajes JVM que deberían aprender es Kotlin.
Es un gran lenguaje de JetBrains, la compañía detrás de IntelliJ IDEA, y también el lenguaje oficial para el desarrollo de Android anunciado por Google en 2017.
No solo mejorará tu productividad, sino que también te ayudará a entrar en el desarrollo de Android. Si estas buscando aprender Kotlin el 2018 y está buscando algún buen recurso, esta es una lista de buenos cursos de kotlin con los cuales empezar.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
9. Aprender de Microservicios
La arquitectura cambia constantemente y muchas empresas están pasando de aplicaciones monolíticas a microservicios.
Ya es hora de que los desarrolladores de Java aprendan sobre la arquitectura de microservicios y cómo crear microservicios en Java para aprovechar esta ola creciente.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]
10. Aprende mejor sobre el IDE
Uno de los rasgos más importantes de los mejores desarrolladores de Java es que son muy buenos con las herramientas. No solo conocen más herramientas que un desarrollador promedio, sino que también conocen bien sus herramientas.
Dado que los IDE como Eclipse, NetBeans e IntelliJ IDEA son las herramientas más importantes para un programador de Java, tiene sentido dedicar un tiempo a aprender más sobre ellos.
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]Incluso algunos pequeños consejos son muy útiles porque puedes usarlos mucho más de lo que crees. Si realmente quiere llevar sus habilidades de IDE al siguiente nivel y usar Eclipse, le sugiero que consulte Eclipse Debugging Techniques And Tricks en Udemy, un curso perfecto para mejorar su conocimiento en Eclipse.
Esto es, en general, una lista de consejos para ser un mejor desarrollador de Java en el 2018. Sé que es díficil seguir todos estos consejos, y tal vez no sea práctico. Puede centrarse en lo más importante primero, tal vez aprender Java 8 y Spring Framework si aún no los conoce, pero si es bueno para eso, puede elegir otros temas, por ejemplo, pruebas unitarias, partes internas de JVM y DevOps.
Este artículo se encuentra basado en 10 Tips to Become a Better Java Developer.[/vc_column_text][/vc_column][/vc_row]