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 • Equip 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?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.

Live Chat