Mas leido
Building Stories
Modo Rua: Redefiniendo el desarrollo de aplicaciones mediante iteración centrada en el usuario Ago 23
Building Stories
NuStories: Adaptación de productos para clientes fanáticos en varios países Oct 30
Culture & Values
Cómo los valores y la cultura de Nu dan forma a los productos que creamos Ago 7
Carreras
Reunimos a grandes mentes de diversos orígenes que permiten la discusión y el debate y mejoran la resolución de problemas.
Conoce más sobre nuestras carreras



The Hammock es un podcast en el que los ingenieros pueden tomar un descanso, permitiendo que sus mentes vaguen libremente mientras escuchan conversaciones con contenido relevante para la comunidad de desarrollo de software.
La conversación en el tercer episodio trató sobre la adopción de Datomic y Clojure, el viaje personal, el uso de Datomic y los desafíos de la interoperabilidad de datos para las empresas. Esta vez, Filipe Andrade, ingeniero de software líder de Nubank, y Robson Filho, ingeniero de software senior de Nubank, conversaron con Enzzo Cavallo, Clojurian y también ingeniero de software.
¡Estén atentos para aprender sobre la evolución de Clojure y Datomic, la naturaleza dinámica de Clojure, las bases de datos externas, los desafíos de modelado, migración, memoria y propiedad de datos y más!
Puedes escuchar “The Hammock” en los siguientes canales: Spotify, Apple Podcasts, Google Podcasts, Amazon Music, y Anchor.
El viaje de Enzzo Cavallo a Clojure es bastante singular. A diferencia de muchos desarrolladores que hacen transición entre varios idiomas a lo largo de sus carreras, Clojure fue el primer idioma con el que Enzzo trabajó profesionalmente. Antes de esto, mientras estudiaba física, tenía experiencia con otros lenguajes pero sólo para pequeñas tareas de scripting.
Compartió que comenzó a trabajar con Clojure cuando se unió a una empresa que ya lo estaba usando. Curiosamente, esta empresa a menudo contrataba a personas sin experiencia previa en Clojure, lo que demuestra cuán acogedora e inclusiva puede ser la comunidad de Clojure.
Adoptando Datomic y Clojure
Datomic fue la primera base de datos con la que Enzzo trabajó seriamente. Su introducción fue bastante orgánica ya que su empleador inicial ya lo estaba usando junto con Clojure. Al cabo de unos meses, ya lo estaba utilizando y explorando activamente.
Una de las mejores partes de comenzar con Clojure para Enzzo fue descubrir Clojurians—un grupo de Slack para entusiastas de Clojure. Esta plataforma demostró ser un recurso invaluable tanto para principiantes como para desarrolladores experimentados. Muchos desarrolladores de bibliotecas participan activamente en esta plataforma, convirtiéndola en un espacio dinámico para el aprendizaje y la colaboración.
El podcast abordó el crecimiento de Clojure en Brasil. Si bien el mercado de Clojure en Brasil es relativamente pequeño, es vibrante. La versatilidad de Clojure, al ser un lenguaje alojado que puede ejecutarse en varios hosts como JVM o JavaScript, ofrece a los desarrolladores una gran cantidad de oportunidades.
Descubre las oportunidades
Viajes personales y reflexiones
Tanto los anfitriones como el invitado reflexionaron sobre sus trayectorias personales en la tecnología, desde comenzar como técnicos informáticos hasta evolucionar hacia desarrolladores de software. Hay una sensación de nostalgia y aprecio por los caminos que tomaron y las oportunidades que surgieron en el camino.
Enzzo, oriundo de Río de Janeiro, arrojó luz sobre la escena tecnológica allí, enfatizando la prominencia de Python. La conversación también tomó un giro más ligero cuando hablaron sobre sistemas operativos, y Enzzo compartió su preferencia por Arch Linux debido a su estabilidad y control.
Luego de eso, procedieron a hablar sobre la documentación de Clojure. La idea de una documentación viva y en constante evolución donde los desarrolladores puedan contribuir es convincente. Sin embargo, moderar dicho contenido puede resultar complicado.
¿Quién decide la relevancia y precisión de un ejemplo presentado? A pesar de estas preocupaciones, la naturaleza dinámica de Clojure (especialmente con sus múltiples objetivos) puede hacer que la documentación sea interactiva. Se pueden ejecutar ejemplos de código directamente dentro del navegador, mejorando la experiencia de aprendizaje.
La transición de Datomic a otras bases de datos
Enzzo comenzó su viaje con Datomic on-premise y fue testigo del inicio de Datomic Cloud. La transición de Datomic a bases de datos convencionales como SQL fue reveladora. Las características que daba por sentado en Datomic (como ver el valor anterior de un campo) estaban ausentes en SQL, lo que requería una mentalidad diferente.
También simplificó las pruebas. Su modo en memoria permite realizar pruebas de integración rápidas, comportándose como si se tratara de una prueba unitaria. Esta flexibilidad está ausente en las bases de datos convencionales donde es necesario confiar en contenedores para las pruebas. Si bien Datomic ofrece autonomía y reduce la dependencia de los equipos de infraestructura, no está exento de desafíos. Pueden surgir problemas de serialización y depuración de datos dentro de las funciones de transacción.
En comparación con otras bases de datos, la API de Datomic se parece más a un ORM (mapeo relacional de objetos) que a un simple conector de base de datos. Proporciona una interfaz fácil de usar para desarrolladores, lo que facilita el proceso de manejo y manipulación de datos. Este enfoque contrasta con las herramientas tradicionales basadas en SQL donde el desarrollador interactúa más directamente con la base de datos.
En los ORM tradicionales, la idea es transformar los datos de la tabla de la base de datos en objetos de lenguaje. Sin embargo, en Clojure, la estructura de datos estándar no es un objeto sino un mapa y vectores. Desafíos de modelado, migración, memoria y propiedad de datos
Muchos desarrolladores que hacen la transición a Datomic enfrentan desafíos, principalmente porque están acostumbrados a los modelos de SQL centrados en tablas. Sin embargo, Datomic requiere un cambio de mentalidad. En lugar de tablas, es necesario pensar en términos de atributos. Algunos desarrolladores incluso adoptan el enfoque único de esbozar primero sus consultas al estilo de Datomic y luego traducirlas a SQL.
Una ventaja significativa de Datomic es su base de datos en memoria, que facilita interacciones rápidas y mejora la capacidad de prueba. Por el contrario, cuando se trabaja con SQL, hacer evolucionar su modelo puede resultar difícil. Datomic ofrece flexibilidad, lo que permite a los desarrolladores iterar sobre sus modelos sin la necesidad de una planificación extensa.
Además, el proceso de migración de Datomic es menos complejo que el de las bases de datos SQL tradicionales. El primero permite una simple adición de atributos, mientras que el segundo requiere un control de versiones complejo de las migraciones.
A pesar de que Datomic ahora es gratuito, algunas empresas siguen dudando. En opinión de Enzo, la principal preocupación gira en torno al uso de un sistema de base de datos propietario. Aunque uno puede acceder a sus datos incluso si la licencia caduca, persiste la renuencia a tener datos en un formato propietario.
Filipe dice que esto no es exclusivo de Datomic. Por ejemplo, si almacena datos en PostgreSQL, se limitan a esa plataforma a menos que ejecute el software PostgreSQL. La clave aquí es la transparencia. Las empresas quieren tener la seguridad de poder recuperar sus datos sin depender de software de terceros. Enzo sugirió que una herramienta de código abierto capaz de leer y exportar datos de Datomic podría mitigar estas preocupaciones.
A pesar de eso, es muy valioso compartir experiencias. Si enfrenta desafíos o encuentra obstáculos, es vital comunicarlos a una comunidad. Al hacerlo, no sólo obtendrá claridad sino que también ayudará a que la comunidad evolucione y sea más inclusiva.
Sobre The Hammock
The Hammock es un podcast desarrollado y producido por algunos de los ingenieros de Nubank, entre ellos Filipe Andrade, Ingeniero Jefe de Software; Robert Randolph, Gerente de Ingeniería; Christian Romney, Director de Ingeniería; y Jaret Binford, Director Senior de Productos.
El nombre ″The Hammock″ pretende capturar la esencia de la filosofía de Rich Hickey de tomarse un descanso para contemplar problemas complejos. Con su lanzamiento, Nubank tiene como objetivo explorar ideas innovadoras, tendencias tecnológicas en evolución y resaltar la innovación que se está produciendo dentro de sus propias filas.
Descubre las oportunidades