
Las charlas de la Codemotion Madrid 2025, la cual se celebrará los días 20 y 21 de mayo en el espacio MEEU, están destinadas a públicos de todos los niveles, desde los más principiantes a los más avanzados. Buen ejemplo de ello es la ponencia de la que te queremos hablar hoy, titulada Standardizing data access: migrating 400.000 lines of code.
En ella, Miguel Jiménez nos hablará de cómo han evolucionado la infraestructura de acceso a datos a lo largo de los años, los desafíos técnicos que han enfrentado durante la migración de su código base con el fin de unificarlo –incluyendo el dashboard; el backoffice de Stripe en el cual se configuran y manejan todos sus productos–, y las lecciones aprendidas durante este proceso de modernización.
Se trata de una oportunidad de aprender cómo funciona por dentro uno de los softwares de procesamiento de pagos más importantes del mundo y de cómo Stripe abordó el desafío de mantener la estabilidad de sus productos mientras llevaba a cabo una transformación técnica de gran envergadura.
Contexto de la charla
Stripe se lanzó públicamente en el año 2011 con un claro objetivo: simplificar los pagos online para empresas y desarrolladores gracias a una pasarela de pago universal y fácil de integrar. Desde entonces, la compañía ha crecido exponencialmente, evolucionando sus productos y servicios para adaptarse a las necesidades cambiantes del mercado y sus usuarios.
El dashboard de Stripe es la superficie de producto orientada a usuarios más grande de la compañía, la cual comprende varios millones de líneas de código. En ella, GraphQL es la principal herramienta para comunicarse con el backend, garantizando la seguridad de tipos de más de 3.000 operaciones.
Prestando servicio a más de 45 millones de clientes, el dashboard de Stripe se ha convertido en una herramienta crítica para la gestión y monitorización de pagos a nivel global. Esta interfaz no solo necesita manejar un volumen masivo de transacciones en tiempo real, sino también proporcionar una experiencia de usuario fluida y confiable en múltiples regiones, divisas y zonas horarias.
El problema: 400.000 líneas de código a migrar
A lo largo de los años, tanto el dashboard de Stripe como otras de sus aplicaciones fueron acumulando diferentes implementaciones de su capa de acceso a datos, lo que resultó en diversas formas de definir operaciones GraphQL y generar los tipos correspondientes, llevando a su vez a procesos lentos, esfuerzos duplicados e intentos fallidos de reutilizar código fundamental en otras aplicaciones.
Como puedes imaginar, en la actualidad el dashboard de Stripe, así como otros productos de la compañía, enfrenta el desafío constante de mantener y mejorar su infraestructura tecnológica. Este reto se hace más evidente cuando se trata de migrar grandes cantidades de código legacy a nuevas arquitecturas más eficientes y mantenibles.
Tras años de evolución, se tomó la decisión de que para seguir mejorando el servicio era necesario reimaginar cómo se accedía a dichos datos, lo que implicaba migrar más de 400.000 líneas de código una vez desarrolladas las nuevas APIs. Sin embargo, hacer dicha migración no era una tarea sencilla, especialmente considerando la necesidad de mantener el servicio funcionando sin interrupciones para sus millones de usuarios activos.
El equipo de Stripe necesitaba desarrollar una estrategia que permitiera realizar esta transición de manera gradual y segura. Esta migración representaba no sólo un gran desafío técnico, sino también un ejercicio de planificación y gestión de riesgos a gran escala.
La charla
En la charla en inglés “Standardizing data access: migrating 400.000 lines of code”, Miguel Jiménez nos guiará a través de los pasos que dieron para transformar gradualmente todo el código base a una infraestructura unificada, todo ello sin migración manual ni tiempo de inactividad del servicio.
Spoiler: el resultado de este proceso no solo les permitió la reutilización del código en varios productos, sino que también mejoró el proceso de generación de tipos reduciéndose de minutos a milisegundos. Esta transformación también facilitó la incorporación de nuevas funcionalidades, lo que se traduce en una mejor experiencia tanto para los desarrolladores como para los usuarios finales.
Se trata de un caso de éxito muy interesante del que podrás aprender de las lecciones aprendidas durante esta transformación técnica y que pueden ser valiosas para otros equipos que enfrenten proyectos similares de modernización de código.
El ponente: Miguel Jiménez (Staff Software Engineer en Stripe)
Miguel trabaja como Ingeniero de Software en Stripe, aportando más de una década de experiencia en el desarrollo de tecnologías y plataformas web de vanguardia. Con una sólida trayectoria en empresas líderes como Meta, Spotify y New Relic, Miguel ha impulsado la innovación en el desarrollo de interfaces de usuario, la optimización de su rendimiento y el desarrollo de herramientas.
En Stripe, Miguel lidera un equipo centrado en la estandarización y la interoperabilidad entre productos, desarrollando un SDK para abstraer el desarrollo frontend de las plataformas subyacentes. Su experiencia abarca todo el espectro de la tecnología web, desde frameworks de alto nivel hasta conocimientos acerca del funcionamiento interno de los motores de JS y los navegadores.