De Kotlin y Go a Clojure: 8 meses en Nubank

Experiencia de migración a Lead Software Engineer en Nubank: comparo Go, Kotlin y Clojure en retos de saludo, transformación de datos y concurrencia, con reflexiones técnicas y sobre Q2BSTUDIO.

17 ago 2025 • 4 min de lectura • Equipo Q2BSTUDIO

Inteligencia-Artificial-

Hola, equipo y lectores

Hace 8 meses comencé la transición a Lead Software Engineer en Nubank. Venía de un entorno dominado por Kotlin y Go y aprender Clojure supuso un cambio de paradigma. Aquí comparto la experiencia en español mostrando, en palabras y fragmentos, las diferencias y lo que hace a Clojure tan atractivo.

En este recorrido comparo tres problemas sencillos resueltos en Go, Kotlin y Clojure y destaco enfoques y sintaxis.

Problema 1 Saludo simple y estilo sintáctico

Todo empieza por el clasico Hola Mundo. Go es explícito y orientado a herramientas robustas. Un ejemplo conceptual en Go seria `fmt.Println( Hola Mundo )`. Kotlin es moderno y conciso con una sintaxis familiar para programacion orientada a objetos, por ejemplo `println( Hola Mundo )`. Clojure introduce la sintaxis LISP con codigo como datos y llamadas en prefijo, por ejemplo `(println Hola Mundo)`. La concision de Clojure destaca porque evita ceremonias como declarar un paquete o una funcion main para un script simple.

Problema 2 Transformacion de datos: agrupar y sumar ventas

Supongamos los datos `[{producto: A, valor: 10}, {producto: B, valor: 20}, {producto: A, valor: 5}]`. En Go lo habitual es un enfoque imperativo: crear un mapa y recorrer la lista acumulando valores con un bucle for. Es eficiente pero verboso. En Kotlin se puede usar una API de colecciones funcional y expresiva: `vendas.groupBy { it.producto }.mapValues { it.value.sumOf { it.valor } }`. En Clojure la transformacion de datos es el nucleo: usando composicion y operaciones de coleccion se puede describir una pipeline clara, por ejemplo `->> vendas (group-by :producto) (map (fn [[producto lista]] [producto (reduce + (map :valor lista))])) (into {})`. La semantica describe paso a paso: agrupar por producto, sumar valores y convertir en mapa, como seguir una receta.

En resumen, Go exige explicitud, Kotlin aporta elegancia funcional sobre JVM y Clojure permite pensar en transformaciones de datos de forma directa y expresiva.

Problema 3 Concurrencia: incrementar un contador de forma segura

Trabajar con estado compartido revela diferencias de diseño. En Go la concurrencia se apoya en goroutines y para estado mutado usamos mutex: crear un contador entero, lanzar 1000 goroutines y proteger la suma con un sync.Mutex. En Kotlin la respuesta son las coroutines y utilidades de sincronizacion para coroutines, por ejemplo un Mutex de kotlinx.coroutines y realizar withLock al incrementar. En Clojure la estrategia es abrazar la inmutabilidad y usar constructos para el estado cuando es necesario: un atom y swap! permiten actualizaciones atomicas sin locks manuales. Con 1000 futures que ejecutan swap! el contador llega a 1000 y el codigo de negocio permanece limpio y conciso.

Las tres lenguajes resuelven seguridad y concurrencia, pero Clojure reduce ruido en el código de negocio al delegar la complejidad en primitivas atomicas.

Conclusiones tecnicas y personales

Ir de Kotlin y Go a Clojure me dio una nueva forma de pensar sobre la programacion: menos rituales, inmensa expresividad para transformar datos y modelos de concurrencia que encajan con la programacion funcional. Clojure no reemplaza las ventajas de sistemas tipados y herramientas de Go o Kotlin, pero añade una forma directa y poderosa de expresar soluciones.

Sobre Q2BSTUDIO

Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida que acompana a empresas en su transformacion digital. Somos especialistas en software a medida, aplicaciones a medida, inteligencia artificial y ciberseguridad. Ofrecemos servicios cloud AWS y Azure, servicios de inteligencia de negocio e implementacion de soluciones como Power BI para analitica. Implementamos agentes IA y soluciones de ia para empresas que automatizan procesos y mejoran decision making. En Q2BSTUDIO diseñamos software a medida y aplicaciones a medida integrando inteligencia artificial y ciberseguridad desde el diseno. Nuestros servicios cloud AWS y Azure permiten escalabilidad y resiliencia, mientras que los servicios de inteligencia de negocio y Power BI convierten datos en insights accionables. Si buscas IA para empresas, agentes IA o soluciones de software a medida, Q2BSTUDIO dispone de expertos en inteligencia artificial, ciberseguridad y servicios cloud para llevar tu proyecto a produccion.

Contacto y cierre

Si te interesa explorar migraciones, arquitecturas orientadas a datos, o construir aplicaciones a medida con capacidades de inteligencia artificial y ciberseguridad, ponte en contacto con Q2BSTUDIO. Y tu, has aprendido alguna nueva forma de pensar al dominar un lenguaje distinto? Me encantaria leer tus experiencias.

¿UNA PAUSA?

Juega un momento antes de irte

NUESTROS SERVICIOS

Cómo podemos ayudarte

Inteligencia artificial

Agentes de IA, chatbots y asistentes inteligentes que automatizan tareas y atienden a tus clientes 24/7 para mejorar la eficiencia de tu negocio.

Más info

Desarrollo de software

Aplicaciones web, móviles y de escritorio, intranets, e-commerce, SaaS y plataformas de gestión diseñadas para las necesidades concretas de tu empresa.

Más info

Servicios cloud

Migración, infraestructura, hosting gestionado, alta disponibilidad y seguridad en Microsoft Azure y Amazon Web Services para que tu negocio escale sin límites.

Más info

Ciberseguridad y pentesting

Auditorías de seguridad, test de intrusión (pentesting) y protección de aplicaciones, datos e infraestructura on-premise y cloud, con hacking ético y cumplimiento normativo.

Más info

Business Intelligence

Cuadros de mando y análisis de datos con Power BI: integramos tus fuentes, diseñamos dashboards y KPIs y convertimos tus datos en decisiones.

Más info

Automatización de procesos

Automatizamos tareas repetitivas y conectamos tus aplicaciones con n8n, Power Automate, Make y RPA, eliminando trabajo manual y aumentando la productividad.

Más info

Formación para empresas

Formamos a tus equipos en tecnología con criterio: desarrollo web, bases de datos, Git, buenas prácticas y seguridad, automatización con n8n, inteligencia artificial para empresas y creación de soluciones de IA con Azure AI Foundry.

Más info

Auditoría de código

Auditamos el código que creas tú, tu equipo o una IA: te decimos qué está bien y qué mejorar, lo securizamos y lo dejamos listo para producción, web o app.

Más info

Generación de imágenes con IA

Creamos por ti las imágenes que necesita tu negocio con inteligencia artificial: producto, redes, publicidad, ilustración y avatares. Tú nos dices qué quieres y te lo entregamos listo para usar.

Más info

Generación de vídeos con IA

Creamos por ti vídeos con inteligencia artificial: promocionales, para redes, presentadores virtuales, doblaje y animaciones. Nos cuentas la idea y te lo entregamos montado y listo para publicar.

Más info

Avatares conversacionales con IA

Creamos avatares conversacionales con IA —humanos digitales con cara y voz— que atienden a tus clientes y equipos con el conocimiento de tu empresa, en tu web, monitores interactivos, WhatsApp o Teams.

Más info

Marketing Online e IA

Google Ads, Meta Ads, LinkedIn Ads y posicionamiento en motores de IA (GEO/AEO): captamos clientes y hacemos que tu marca aparezca donde te buscan, también en ChatGPT, Gemini y Perplexity.

Más info

¿Tienes un proyecto en mente?

Cuéntanos tu visión y la convertimos en una solución de software. Sea cual sea el alcance, hacemos realidad tu idea.

Live Chat