Software Architect y Tech Lead · PostNL Digital Lab · 2022–2025

Fast Checkout: arquitectura de producto y liderazgo técnico en PostNL

Tres años en el Digital Lab de PostNL convirtiendo prototipos y requisitos ambiguos en un producto transaccional de checkout que conecta e-commerce, envíos y pagos, como arquitecto, tech lead e ingeniero hands-on.

Fast Checkout: arquitectura de producto y liderazgo técnico en PostNL

Fast Checkout es un producto nacido dentro del Digital Lab de PostNL para reducir la fricción del checkout en e-commerce: conectar webshops, envíos y pago en un único flujo acelerado.

Me incorporé a través de Capgemini como Software Architect y Tech Lead, y pasé tres años convirtiendo prototipos y necesidades de negocio en un producto transaccional escalable. Este caso está limitado a propósito por confidencialidad: la forma de trabajar y la naturaleza de los problemas son míos para contarlos; los detalles internos del producto, no.

Contexto #s1

Un Digital Lab existe para responder una pregunta difícil: ¿puede este prototipo prometedor convertirse en un producto real? Fast Checkout empezó exactamente ahí: una idea validada para acelerar los flujos de checkout, envío y pago en grandes plataformas de e-commerce, y una larga lista de preguntas abiertas sobre integraciones, seguridad, escala y operabilidad.

El trabajo no era implementar una especificación cerrada. Era co-descubrir el producto con producto, diseño y stakeholders del cliente mientras construíamos la plataforma por debajo, y por eso este proyecto marcó mi forma actual de trabajar con la ambigüedad.

Duración Ago 2022 – Dic 2025 (tres años y medio)
Rol Software Architect y Tech Lead, hands-on
Equipo 5 personas a mi cargo
Punto de partida Prototipos y necesidades de negocio del Digital Lab
Punto de llegada Producto transaccional en producción sobre AWS
Integraciones Plataformas de e-commerce y proveedores de pago
Interlocutores Producto, diseño, frontend, plugins, arquitectura de plataforma, stakeholders del cliente y terceros
El encargo, de un vistazo. Sin métricas de negocio: son del cliente, no mías.

Mi rol #s2

  • Software Architect: responsable del diseño de alto nivel y de su evolución: límites, datos, integraciones, seguridad e infraestructura.
  • Tech Lead: lideré un equipo de 5 personas: mentoría, roadmap, priorización y quality gates.
  • Ingeniero hands-on: la implementación y las reviews siguieron siendo parte del trabajo; las decisiones se validaban en código, no en diapositivas.
  • Interlocutor: trato directo con producto, stakeholders del cliente, equipos de frontend y plugins, arquitectura de plataforma y terceros.

Problemas abordados #s3

  • Requisitos de producto ambiguos: traducir hipótesis de negocio cambiantes en límites de sistema y flujos técnicos estables.
  • Integraciones de plataforma: conectar distintas plataformas de e-commerce, cada una con su propio modelo de plugins y sus restricciones.
  • Integraciones de pago: incorporar proveedores de pago en flujos donde la fiabilidad no es negociable.
  • Flujos transaccionales: pedidos, envíos y pagos que no pueden perderse ni duplicarse ante un fallo.
  • Seguridad y aislamiento: proteger flujos que tocan dinero y datos personales a través de límites organizativos.
  • Arquitectura cloud: una plataforma AWS (ECS, colas, API Gateway, RDS) definida como código con Terraform, pensada para operar y escalar de forma progresiva.
  • Coordinación multi-equipo: mantener alineados producto, frontend, backend, plugins y plataforma release tras release.

Decisiones que redujeron riesgo #s4

En un producto que toca dinero, la mayor parte del valor de la arquitectura no está en lo que permite hacer, sino en lo que impide que salga mal. Estas son las decisiones que más redujeron riesgo y complejidad.

  • Infraestructura como código con Terraform: entornos reproducibles en lugar de configuración manual que diverge. Un entorno nuevo deja de ser un proyecto y pasa a ser un apply.
  • Flujos basados en colas para desacoplar los pasos transaccionales: los fallos quedan aislados y son reintentables, en vez de tumbar la operación entera.
  • TypeScript de punta a punta: un solo lenguaje entre frontend, backend e integraciones, con los contratos compartidos en lugar de duplicados a mano en cada extremo.
  • Trazabilidad end-to-end desde el principio: cuando algo falla en un flujo de pago, la pregunta no es si se puede reconstruir lo que pasó, sino cuánto se tarda.
  • Límites explícitos por integración: cada plataforma de e-commerce y cada proveedor de pago tiene sus propias reglas y sus propios fallos, y aislarlos evita que la rareza de uno se convierta en un caso especial repartido por todo el sistema.

Tecnologías #s5

TypeScript de punta a punta: Next.js en el frontend, servicios NestJS en el backend, PostgreSQL con Prisma para los datos, e infraestructura AWS (ECS Fargate, SQS, API Gateway, Cognito, RDS) definida con Terraform. El CI/CD corría en Azure DevOps con trazabilidad end-to-end, autoscaling y workflows basados en colas.

Qué demuestra este caso #s6

  • Traducir necesidades comerciales y de producto en capacidades y arquitectura.
  • Ownership de extremo a extremo: de las conversaciones de requisitos al código corriendo en producción.
  • Liderazgo técnico que se mantiene hands-on en lugar de refugiarse en los diagramas.
  • Integraciones complejas entregadas entre varias organizaciones y equipos.
  • Decisiones de producto con impacto arquitectónico, y decisiones de arquitectura con impacto en el producto.
  • Capacidad de operar dentro de una gran organización sin perder velocidad de entrega.

Stack

Next.js NestJS TypeScript PostgreSQL Prisma AWS Terraform