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 read • Q2BSTUDIO Team

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.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat