Ir al contenido principal

Lo nuevo para los desarrolladores Java

En la actualidad ser un desarrollador Java que solo se enfoca en el lenguaje no basta. Hoy en día el desarrollador Java debe saber un poco de todo.

Desde frameworks como Spring Framework con Spring Boot, Spring AI, etc. También debe estar familiarizado con la nube como AWS, Azure y GCP.

Además del uso de agentes IA, Github Copilot, Claude Code, etc. También es necesario saber algo de LLVM, Machine Learning, NLP, etc. Un programador también debe saber sobre matemática y estadística.

En pocas y llanas palabras: el programador Java también debe ser un todologo.

Conocer lo nuevo de Java

Java se actualiza de manera constante. Desde la versión 8 el lenguaje ha sufrido bastantes cambios. Algunos discretos y otros tanto un poco drásticos. Java no quiere dormirse y dejar que otros le roben lo que tanto le ha costado.

Las nuevas características del lenguaje que debemos conocer

  • Record patterns. 
  • Pattern matching for switch. 
  • Scoped values. 
  • Virtual Threads. 
  • String Templates. 
  • Sequenced Collections. 
  • Etc.

El programador Java debe actualizar su conocimiento del lenguaje. Hay nuevas características y otras que siguen saliendo.

Conocer la nube (cloud computing)

Un programador Java debe tener en cuenta que casi toda la industria ha mudado sus desarrollos y base de datos a la nube. AWS, GCP y Microsoft Azure ya no son una propuesta del futuro, es algo con lo que se trabaja en el presente. Saber qué son y para que sirven los servicios IaaS, PaaS y SaaS se volvió un requerimiento indispensable; cómo, dónde y por qué usar determinado servicio para no gastar tiempo y dinero ya no es opcional. El desarrollador ya se volvió un DevOps, lo quiera o no.

Docker y Kubernetes

Anteriormente un desarrollador tenía la excusa de "En mi máquina si funciona".

Con Docker ya no hay cabida a ese pretexto.

Docker es la herramienta ideal que nos permite empaquetar nuestras aplicaciones. Gracias a la filosofía de los contenedores, los cuales son entornos aislados para nuestro código. Estos contienen todo lo necesario para que nuestro código (aplicaciones) se ejecuten en cualquier otro sistema.

Olvidémonos de las máquinas virtuales, de los requerimientos engorrosos, de las instalaciones y dependencias. Con Docker se nos abre un mundo donde el desarrollar, enviar y ejecutar aplicaciones es algo sencillo.

Esta herramienta ofrece:

  • Portabilidad de nuestras aplicaciones. 
  • Aislamiento, cada contenedor es independiente. 
  • Consistencia, no hay errores. 
  • Escalabilidad, podemos actualizar o extender nuestros desarrollos. 
  • Construir e implementar más fácilmente.

Docker vendría siendo una especie de Máquina Virtual con esteroides. El desarrollador que cree una aplicación podrá subirla a un contenedor y otros desarrolladores podrán bajar la aplicación y ejecutarla en su propia máquina.

Sin instalaciones complejas.

Sin dependencias o herramientas extras.

Y es aquí donde entra otra herramienta: Kubernetes.

Kubernetes

Es una plataforma de código abierto para automatizar la implementación, el escalado y la administración de aplicaciones en contenedores. Básicamente es una plataforma de código abierto que orquesta contenedores (como los de Docker) en grupos distribuidos de servidores.

Trabaja de la mano con Docker (o herramientas similares). En pocas palabras, permite organizar, escalar y mantener contenedores en grupos distribuidos de servidores.

Muchos no lo dicen, pero es necesario tener conocimientos sobre redes de cómputo para un mejor manejo de esta herramienta, además de saber conceptos de DevOps.

Kotlin y la interoperabilidad con Java

Cada vez es más habitual ver desarrollos hechos en Java ser migrados a lenguaje Kotlin.

Kotlin ha dejado de ser una alternativa a convertirse en lenguaje base de desarrollos Spring Boot.

Además de una de sus características más notables: la interoperabilidad con Java.

Si tienes desarrollos en Java, no tendrás problema de tener módulos escritos en Kotlin. Pues la interoperabilidad entre código es posible. Esto ya existía, pero ha cobrado mayor importancia.

El desarrollador Java deberá acoplarse a los cambios y actualizar su base de conocimientos.

Clojure y demás lenguajes dependientes de la JVM

Clojure es un lenguaje de programación dependiente de la JVM (Java Virtual Machine) y que toma inspiración de LISP.

Su filosofía se centra en la inmutabilidad, la programación funcional pura y la interoperabilidad con el ecosistema Java.

Cada vez es común la migración de desarrollos hechos en Java a lenguajes como Clojure. Las aplicaciones Java pueden tener módulos hechos completamente en éste lenguaje sin problema y esto es gracias a la interoperabilidad.

El desarrollador Java debe acoplarse a lo nuevo, a las nuevas tendencias de la tecnología. Empresas reconocidas como NU emplean Clojure en sus aplicaciones empresariales y otras más lo están adoptando.

También lenguajes como Scala y Ballerina, lenguajes dependientes de la JVM, son cada vez más usados.

Agentes de IA y Java

En 2026, los principales agentes y plataformas de IA incluyen ChatGPT, Claude, Gemini, Perplexity, Midjourney, GitHub Copilot y nuevas propuestas como OpenClaw, Claude Cowork y OpenAI Frontier.

Los agentes de IA actúan de manera autónoma para cumplir objetivos, combinando:

  • Razonamiento (decidir qué hacer). 
  • Planificación (organizar pasos). 
  • Acción (usar herramientas, APIs o interactuar con usuarios).

La diferencia entre un chatbot y un agente de IA es que mientras un chatbot responde preguntas, un agente puede tomar decisiones, ejecutar tareas y coordinar múltiples recursos.

Los desarrolladores Java cada vez usarán herramientas de IA. Integrarla en sus desarrollos y generar documentación de manera automática.

Es todo por hoy. Continuaremos con estos temas en próximas entregas.

Enlaces:

https://codemonkeyjunior.blogspot.com/2025/08/docker-la-herramienta-para-empaquetar.html
https://codemonkeyjunior.blogspot.com/2025/07/kubernetes-en-un-vistazo.html
https://codemonkeyjunior.blogspot.com/2025/01/kubernetes-como-si-le-explicaras-tu.html



Comentarios

Entradas populares de este blog

Java Tip 28: hilos virtuales en Java

Con Java 21 entra un nuevo concepto: hilos virtuales java ( Java Virtual Threads ).  La cual es una nueva característica que nos permite crear miles o millones de hilos (tareas en paralelo). Los cuales se diferencian de los hilos comunes ( Platform Threads ) al no depender del sistema operativo , puesto que son virtuales. De estos se encargará la JVM. Al usar hilos virtuales ahorramos recursos del procesador y de memoria del sistema , sin importar si estamos creando y/o usando miles o millones. Los hilos virtuales son ideales para aplicaciones modernas donde se requiere esperar y recibir respuestas o acceder a bases de datos remotas, entre otras cosas. Además no impide usar los hilos comunes que dependen del sistema operativo. Observemos un ejemplo de uso de hilos virtuales. VirtualThreadsDemo.java package com.comunidad.demo; public class VirtualThreadsDemo { public static void main (String [] args) throws InterruptedException { // Crear un Virtual Th...

Java Tip 20: JDBC (2da parte)

Continuamos con esta serie sobre JDBC . Como dijimos la vez anterior JDBC( Java Database Connectivity ) es el estándar de conectividad de bases de datos de Java y proporciona un mecanismo para que los programas Java se conecten a las bases de datos. En este post veremos ejemplos de su uso. Requisitos: Tener nociones de Java.  Tener nociones de SQL (usaremos H2). Tener nociones de Maven. Creando una aplicación JDBC Crearemos una sencilla aplicación que se conecte a una BD H2 (ver  tutorial ). Pasos: Crearemos una tabla a la que llamaremos Cursos. La cual tendrá los siguientes campos: id, titulo, materia, instructor, fecha y hora. Crear la aplicación Java usando Maven. Crearemos instrucciones SQL para consultar la información, ingresar nuevos cursos, actualizar y eliminar registros. Ejecutar la aplicación con Maven. 1. Creamos la tabla con sus seis campos (agregaremos los datos con la aplicación Java): CREATE OR REPLACE TABLE CURSOS( id bigint ...

Java Tip 1: Importaciones por default

Tip 1 : Todas las clases del paquete java.lang se importan por defecto. Podríamos hacer algo como esto: import java.lang.System ; import java.lang.String ; import java.lang.Boolean ; import java.lang.Integer ; import java.lang.Short ; import java.lang.StringBuilder ; import java.lang.StringBuffer ; O cosas (aberrantes) como: //Traernos todas las clases del paquete java.lang import java.lang.* ; Sin embargo, no es necesario. Repitamos esto como un mantra: Todas las clases del paquete  java.lang  se importan por defecto, no es necesario escribir de más .