Blog

Usa un lápiz: cómo un desarrollador de Java hace las cosas

 

Cuando el campeón de Java, Mani Sarkar habla sobre tecnología, piensa: «Tendré lo que está teniendo». El prolífico escritor, orador y desarrollador basado en Java y JVM es un miembro vibrante de la Comunidad de Java de Londres (LJC), así como un apasionado patrocinador de proyectos de código abierto como Adopt OpenJDK. Si bien su trabajo diario se centra en el fortalecimiento de los equipos, sus intereses incluyen mejorar la calidad y el rendimiento del código, implementar DevOps y el aprendizaje automático, y más.
Hablar con Sarkar sobre la productividad significa aprovechar la veta madre. Aquí le presentamos una muestra de las muchas maneras en que sugiere mejorar su código Java y aprender nuevas tecnologías de manera más efectiva.

Trabajo profundo

«En estos días me inspiro mucho en el libro Deep Work de Cal Newport», dice Sarkar. «Entrar en el flujo de trabajo o codificación no es nada difícil. La idea es aislarte del mundo exterior y las distracciones, cronometrar tus tareas, tomar descansos y ser disciplinado por no romper esta disciplina. Cal Newport tiene mucho que decir sobre cómo hacer esto. Él lo llama trabajo profundo, a diferencia del trabajo superficial que todos estamos acostumbrados a hacer. Los desarrolladores deben apuntar y hacer un trabajo profundo tanto como sea posible «.
Como cualquier buen programador sabe, usted también mejora la productividad (y evita la tensión ergonómica) cuando memoriza los atajos de teclado en lugar de agarrar el mouse o arañar el trackpad. Sarkar recomienda usar un complemento IntelliJ llamado Key Promoter para mantener un registro de la frecuencia con la que busca las opciones de menú en lugar de escribir atajos de teclado equivalentes. «Puede configurar el complemento para hacer un seguimiento de la frecuencia con la que usa el mouse para seleccionar la opción del menú, y si cruza ese límite, lo molestará cada vez», dice. «También te ayuda a crear un acceso directo para las opciones de menú si aún no lo hay».

Sarkar tiene varias herramientas favoritas para mejorar la productividad:

  • Tab Shifter es para dividir la pantalla del IntelliJ en pestañas verticales u horizontales y cambiar entre ellas.
  • Spacemacs combina lo mejor de los editores Vim y Emacs.
  • Censum es para encontrar fugas de memoria de programas basadas en JVM.
  • Snyk es para pruebas de vulnerabilidad de repositorios o sitios web públicos de GitHub.
  • Sarkar ofrece sus propios recursos curados para Polyglot Java que se ejecutan en la máquina virtual GraalVM.
  • Java Flight Recorder y Java Mission Control son para entender cómo se comportan tu aplicación y la JVM. Ambos están incluidos en el JDK, por lo que no es necesaria ninguna descarga adicional.

Aprendiendo java

Sarkar es un apasionado del futuro de Java nativo en la nube y actualmente está explorando sistemas y sistemas informáticos sin servidor para la implementación en contenedores, incluidos los contenedores Docker, Apache Mesos, CoreOS rkt y SmartOS. «El lenguaje JVM Clojure es un gran ejemplo de simplicidad y compacidad», dice. «De hecho, los conceptos del lenguaje de programación funcional ofrecen simplicidad todo el tiempo».

¿Pero qué sucede si aún estás aprendiendo Java o aprendiendo a ser un mejor desarrollador de Java? Sarkar recomienda intentar resolver katas, un concepto que los desarrolladores han tomado con entusiasmo del mundo de las artes marciales japonesas. “The Gilded Rose refactoring kata”, por ejemplo, se ha convertido en un ejercicio extremadamente popular que afina la habilidad de escribir código más elegante para resolver problemas.

El aspecto más contagioso del enfoque de Sarkar es cómo, al igual que para un programador, Sarkar ha dado un paso atrás en el problema de aprender Java para contemplar lo que significa aprender. “Tu cerebro indexa el conocimiento cuando estás descansando”, dice, “así que el sueño y el descanso dejan que el cerebro se vaya. No sobrecargue. En su lugar, intercala: llena los huecos y aprende de forma incremental e iterativa”.

 

Fuente: https://blogs.oracle.com/use-a-pencil%3a-how-a-java-developer-gets-stuff-done

 

En: Blog el 2019-06-10