Imagínate: eres desarrollador Java, trabajas en una buena empresa tech, proyecto interesante, todo va bien — y de repente en la reunión de equipo tu CTO anuncia: migramos el backend a Kotlin.

Primera reacción de la mayoría: «¿Qué? ¿Por qué? Si Java funciona perfectamente.»

Qué es Kotlin y por qué los desarrolladores lo añaden a su CV - 1

Segunda reacción — abres Google y empiezas a investigar. Y descubres que no eres la primera persona en escuchar esto de su CTO. Kotlin lleva años ganando terreno y cada vez más equipos toman exactamente esa decisión.

Vamos a verlo con calma: qué es Kotlin, de dónde viene y por qué aprenderlo si Java ya funciona. Sin evangelismo ni gritos de «¡Java está muerto!». No lo está. Le va de maravilla.

Quién creó Kotlin y por qué

Kotlin fue creado por JetBrains — la empresa detrás de IntelliJ IDEA. Exactamente el IDE en el que la mayoría de los desarrolladores Java pasan su jornada laboral.

Durante años ellos mismos lidiaron con Java mientras desarrollaban IDEA. Boilerplate interminable, NullPointerExceptions en producción, veinte líneas de código donde bastaban dos. Los desarrolladores son pacientes — pero la paciencia también tiene límites.

Además, otros lenguajes — Scala, Groovy, Swift, C# — llevaban tiempo ofreciendo cosas que Java no tenía: null-safety, data classes en una línea, extension functions, lambdas concisas. Todo eso existía en otros sitios. Solo que no en Java.

En un momento dado, en JetBrains tomaron la decisión: basta de sufrir. Reunieron las mejores ideas de lo que otros ya habían inventado, añadieron las propias — y crearon un lenguaje que corre en la misma JVM, usa las mismas bibliotecas y no obliga a los desarrolladores Java a empezar de cero.

Así nació Kotlin en 2016. Y no, el nombre no tiene nada que ver con los gatos. Es una isla en el golfo de Finlandia. Java debe su nombre a la isla de Java — con café. Kotlin debe el suyo a la isla Kotlin — sin café, pero con un sólido sistema de tipos.

Por qué Google apostó por Kotlin — y qué tiene que ver Oracle

En 2017, Google anunció Kotlin como lenguaje oficial para Android.

Oficialmente — porque los desarrolladores lo pedían y el lenguaje es más seguro y cómodo. Es verdad.

Pero hay una historia de fondo que vale la pena conocer.

Desde 2010, Google estuvo enfrascado en un pleito con Oracle por el uso de las API de Java en Android. Oracle había adquirido Sun Microsystems junto con Java y presentó una demanda de inmediato: Google habría usado 37 API de Java sin licencia. La cifra reclamada: 8.800 millones de dólares. El caso llegó al Tribunal Supremo de EE. UU. y terminó con la victoria de Google solo en 2021.

Qué es Kotlin y por qué los desarrolladores lo añaden a su CV - 2

Once años bajo la sombra de una demanda multimillonaria. Para que te hagas una idea: 8.800 millones de dólares equivalen a unos 88.000 buenos desarrolladores senior durante un año. O a una cantidad verdaderamente desmesurada de café.

Kotlin de JetBrains es open source, no tiene ningún riesgo de licencia y es totalmente compatible con el ecosistema Java. Google nunca vinculó oficialmente su decisión con el pleito. Pero la lógica habla por sí sola.

Un efecto positivo de todo esto: la competencia empujó a Oracle a desarrollar Java de forma más activa. Records, sealed classes, pattern matching en las versiones recientes — en parte porque había que mantener el ritmo de Kotlin. Al final, todos los desarrolladores JVM salieron ganando.

Java sigue siendo el pilar del backend — y eso importa

Es fácil perderse aquí, así que seamos directos.

Java no va a ningún lado. Spring, Hibernate, enormes codebases en la mayoría de las empresas — todo eso funciona y seguirá funcionando durante mucho tiempo. En cuanto a ofertas de trabajo, tamaño del ecosistema y madurez, Java sigue siendo el estándar de la industria.

Kotlin crece a su lado. Cada vez más equipos escriben nuevos servicios en Kotlin mientras dejan el código Java existente intacto. Según el JetBrains Developer Survey 2024, Kotlin está entre los 15 lenguajes más utilizados del mundo.

Piénsalo como un martillo y un destornillador eléctrico. Nadie le declara la guerra al martillo. Algunas tareas simplemente son más fáciles con el destornillador.

En qué se diferencia Kotlin de Java concretamente

No en teoría — veamos el código.

Null-safety. Uno de los grandes dolores de cabeza de Java es el NullPointerException. No avisa. No se disculpa. Simplemente peta en runtime — normalmente en producción, y a poder ser un viernes por la noche.

// Java — todo parece bien hasta que explota
String name = null;
System.out.println(name.length()); // NPE. Buen fin de semana.

// Kotlin — ni siquiera compila
val name: String = null        // Error de compilación
val name: String? = null       // Explícitamente nullable — ahora sí
println(name?.length)          // Si es null — devuelve null, no peta
println(name?.length ?: 0)     // Si es null — devuelve 0

El compilador de Kotlin sabe dónde puede aparecer null y no deja pasar el código hasta que lo gestionas. Como un tech lead estricto — pero sin los mensajes interminables de Slack.

Data class. Tarea clásica — un modelo de datos con tres campos.

// Java: constructor, getters, equals, hashCode, toString
// Total: aproximadamente media página de código que nadie lee
public class User {
    private String name;
    private int age;
    ...
}

// Kotlin — una línea
data class User(val name: String, val age: Int)

Kotlin genera todo lo demás automáticamente, incluido copy() — un método para crear una copia con campos modificados. Java no tiene eso de serie. Por qué — buena pregunta.

Extension functions. Añade un método a cualquier clase sin herencia:

fun String.isPalindrome() = this == this.reversed()
println("racecar".isPalindrome()) // true

Corrutinas. Código asíncrono que se lee como código síncrono. Sin callbacks, sin cadenas enredadas de CompletableFuture, sin lágrimas.

suspend fun loadData(id: Int) {
    val user = fetchUser(id)       // Espera sin bloquear el hilo
    val orders = fetchOrders(user)
    display(user, orders)
}

¿Deberías aprender Kotlin ahora mismo?

Si trabajas en Android — la respuesta es obvia. Kotlin ya es el estándar ahí.

Si eres desarrollador backend en Java — depende de dónde estés y adónde quieras ir. Para proyectos legacy en grandes corporaciones, Kotlin aún no es un requisito indispensable. Pero si tienes el ojo puesto en empresas de producto, startups o el mercado internacional, las probabilidades de ver Kotlin en las ofertas de trabajo crecen cada año.

Buena noticia: para un desarrollador Java, la transición lleva semanas, no meses. Misma JVM, misma lógica. IntelliJ IDEA ya lo tienes instalado. Solo hay que empezar.

Ya sabes esa historia del hombre cuya casa se inunda, reza pidiendo ayuda, y Dios le manda un camión, luego un bote, luego un helicóptero — pero él los rechaza todos esperando un milagro de verdad. No seas esa persona. Esta es tu señal.

Pruébalo ahora mismo

Tenemos un curso de Kotlin. 62 niveles, más de 1.100 ejercicios con verificación automática, 3 proyectos reales para tu portfolio. La misma mecánica de juego que el curso de Java: solo código, tareas y feedback instantáneo — sin clases magistrales al vacío.

El primer nivel es gratuito.

Sigue leyendo

Si quieres pasar directo a la práctica o comparar los lenguajes con más detalle — aquí tienes dos artículos que encajan a la perfección: