Contexto
En Flapper, trabajé en una plataforma de aviación ejecutiva cuyo producto principal era un monolito PHP de más de siete años, con poca documentación útil y sin desarrolladores originales disponibles para explicar el sistema.
Cómo trabajé
El desafío no era reemplazar PHP por TypeScript. La aplicación estaba en producción y sostenía el negocio, así que empecé por descubrir el dominio. Usé la base de datos para mapear relaciones, identificar bounded contexts y planificar una migración incremental basada en el patrón Strangler.
Migré módulos como personas, autenticación y aeronaves a servicios en Node.js, NestJS y Go. Para reducir dependencias relacionales entre contextos, trabajamos con proyecciones locales y eventos en Kafka; gRPC, REST y GraphQL se usaron según la necesidad de cada integración.
Lo que me llevé
Esta experiencia consolidó mi visión de modernización de legado: la tecnología viene después de entender fronteras, riesgos y una secuencia que preserve la operación. Además de entregar módulos, documenté decisiones y conduje workshops para que el equipo continuara la transformación.