Experiencia
-
Ingeniero de software sénior
Liderar el desarrollo de nuevos dominios dentro del equipo de Adquisiciones, junto con iniciativas transversales de la plataforma.
Liderar el desarrollo de nuevos dominios dentro del equipo de Adquisiciones, junto con iniciativas transversales de la plataforma.
- Lideré la creación inicial del Contexto Delimitado del Receptor (entidades fundamentales, marco de filtrado, modelo de disponibilidad, primeros puntos finales de servicio a servicio e infraestructura inicial de integración/pruebas del sistema), delegando las iteraciones posteriores a otros responsables.
- Se diseñó y desarrolló un nuevo contexto delimitado de promociones desde cero: raíz agregada, entidad de configuración de segmentación, ciclo de vida del cupón (entidades más servicios de disponibilidad/uso/creación), dominio de asignación (entidades, eventos, contratos, procesador) y un proveedor de cupones con reconocimiento de rutas.
- Se han ido retirando progresivamente las API de destinatarios heredadas en favor de puntos finales propiedad de Bounded-Context en todas las fábricas, flujos por lotes y herramientas internas.
- Diseñé y lancé una biblioteca cliente HTTP PHP para toda la empresa —composición basada en fábricas, reutilización basada en rasgos, fábricas de solicitudes con JWT obligatorio, inyección automática de dependencias de Symfony— e impulsé su adopción en dos servicios.
- Lideré la implementación de AsyncAPI como el estándar de documentación del equipo basado en contratos: validación de esquemas previa a la confirmación, pruebas de contrato que alinean la serialización de entidades con los esquemas publicados y un proceso de revisión por escrito para los consumidores finales.
- Lideré la contribución del equipo de Adquisiciones a un programa de retención de datos interservicios que abarcaba tres servicios.
- Se introdujeron herramientas de desarrollo asistidas por IA en el equipo: archivos de contexto de agentes, flujos de trabajo de comandos estructurados, separación de PRD/Plan y habilidades de análisis de planificación previa.
- Trabajos recurrentes de confiabilidad: bloqueo optimista, manejo de restricciones de integridad, correcciones de condiciones de carrera en inserciones de verificación de duplicados, remediación N+1, investigación de DLQ, comportamiento de apagado controlado del trabajador.
- Gestión continua del programa Recomienda a un amigo en paralelo: limpieza de patrones heredados, actualización de la versión de PHP, automatización de dependencias, eliminación sistemática de interruptores de funciones.
-
Ingeniero de software sénior
Continuar liderando el programa "Recomienda a un amigo" dentro del equipo de Adquisiciones, con un alcance ampliado que abarca la plataforma y los dif…
Continuar liderando el programa "Recomienda a un amigo" dentro del equipo de Adquisiciones, con un alcance ampliado que abarca la plataforma y los diferentes servicios.
- Se reforzó el contexto delimitado de la RAF y su modelo de datos hasta el punto de que un esfuerzo posterior de extracción de servicios, ejecutado por otro ingeniero, se completó en un par de días sin incidentes de producción.
- Se llevaron a cabo refactorizaciones a gran escala del almacén de datos, alineadas con los nuevos límites del servicio, lo que mejoró el rendimiento de las consultas y la mantenibilidad a largo plazo.
- Se ha mejorado la cobertura de observabilidad para RAF con métricas, alertas y paneles de control específicos, lo que reduce el tiempo de detección de problemas en producción.
- Contribuyó con una biblioteca compartida para toda la empresa destinada al manejo de excepciones y al comportamiento del cliente HTTP, que posteriormente fue adoptada por múltiples servicios.
- Fue autor del RFC que define el modelo de dominio de los receptores, dando forma a los patrones de integración entre equipos para los consumidores finales.
- Se implementaron diversas mejoras en el producto y la plataforma: redireccionamientos de enlaces RAF, asignación de campañas tras eventos del proveedor de identidad, comprobaciones de perfiles relacionados y amigos relacionados, adaptación de la moneda del programa, correcciones del total de recompensas y mejoras en el recálculo de campañas.
- Mejora de los procesos habituales de incorporación de usuarios y de consentimiento para fines de marketing, en colaboración con el equipo de trabajo de Confianza y Regulación.
- Trabajo en curso para mejorar la experiencia del desarrollador: enumeraciones compartidas, ergonomía de colas y mejoras de integración en torno a los corredores favoritos y los datos de transacciones.
-
Desarrollador web backend remoto
Formo parte del equipo de Adquisiciones, liderando la reescritura de la plataforma Recomienda a un amigo.
Formo parte del equipo de Adquisiciones, liderando la reescritura de la plataforma Recomienda a un amigo.
- Diseñé e implementé un nuevo contexto delimitado para el dominio "Recomienda a un amigo", migrando la funcionalidad existente a una arquitectura más clara y reduciendo el acoplamiento con la plataforma de remesas circundante.
- Gestioné de principio a fin el ciclo de vida de administración de usuarios (Defensores/Amigos) dentro del nuevo contexto, incluyendo la identidad, la elegibilidad y las transiciones de estado.
- Gestioné programas, campañas y estrategias promocionales, e implementé soporte para múltiples campañas simultáneas por programa.
- Se sustituyeron las comprobaciones manuales de elegibilidad de los usuarios por un marco de comprobación automatizado y extensible, lo que permite añadir nuevas reglas sin modificar los flujos principales.
- Formatos de respuesta de API y manejo de errores estandarizados en todos los puntos finales de RAF, lo que produce contratos de entidad consistentes independientemente de la superficie de llamada.
- Se mejoró el registro estructurado y la gestión de colas; la incorporación de una nueva cola pasó de ser un proceso de varios días a completarse en una sola mañana.
- Se ha reducido el tiempo de entrega para la corrección de errores y la implementación de nuevas funciones; varias mejoras ahora se implementan en cuestión de horas en lugar de ciclos de desarrollo.
- Se estableció una metodología de desglose de épicas, historias y subtareas que utiliza el equipo.
- Mayor estabilidad de la plataforma tras la migración.
-
Desarrollador web backend remoto
Comencé en el área de ingeniería de cumplimiento, trabajando en la verificación de usuarios y la prevención del fraude, y luego pasé al trabajo centra…
Comencé en el área de ingeniería de cumplimiento, trabajando en la verificación de usuarios y la prevención del fraude, y luego pasé al trabajo central de la plataforma a medida que partes del sistema hicieron la transición a una arquitectura de microservicios.
- Diseñé y mantuve flujos de control de usuarios en el ámbito del cumplimiento normativo: incorporación de usuarios según el proceso KYC, verificación de identidad a través de proveedores externos de IDV y búsqueda de detalles de cuentas bancarias.
- Se implementaron listas negras y reglas de riesgo para usuarios, tarjetas y países, equilibrando la prevención del fraude con los falsos positivos que bloquean a clientes legítimos.
- Proveedores externos integrados de verificación y selección, que gestionan fallos parciales, reintentos y respuestas inconsistentes sin bloquear el proceso de incorporación.
- Me incorporé al trabajo de plataforma en el núcleo de remesas, ayudando a la transición de partes del sistema monolítico hacia microservicios.
- Pila LAMP (Laravel y Symfony), con una clara separación entre las capas de Aplicación, Dominio, Framework e Infraestructura.
- Diseño orientado al dominio y desarrollo guiado por pruebas, aplicando patrones y principios de diseño establecidos.
-
Desarrollador web backend remoto
Proyecto de desarrollo de una plataforma de negociación para transacciones de activos financieros.
Proyecto de desarrollo de una plataforma de negociación para transacciones de activos financieros.
Proyecto de microservicios basado en eventos, integrado en una solución SaaS Fintech más amplia, que incluye tokens blockchain y gestión de monederos electrónicos. Desarrollado con LAMP (Laravel).
- Desarrollo utilizando arquitectura de microservicios y basada en eventos.
- Clara separación entre las capas de aplicación y de dominio.
- Diseño orientado al dominio y desarrollo guiado por pruebas.
- Aplicando los mejores estándares de la industria (Patrones de diseño/Principios de diseño).
-
Desarrollador web backend remoto
The Interaction Design Foundation
Ayudar a desarrollar y mantener el producto SaaS de la empresa.
-
Desarrollador web full-stack remoto / Líder de equipo
redWEB ApS
Rediseñar el producto principal de la empresa, dotándolo de una arquitectura y un diseño más fiables. Desarrollar la funcionalidad principal tanto del…
Rediseñar el producto principal de la empresa, dotándolo de una arquitectura y un diseño más fiables. Desarrollar la funcionalidad principal tanto del backend como del frontend, con una clara separación de responsabilidades, lo que permitirá el desarrollo futuro de la plataforma.
Se migró a un sistema de paquetes basado en Composer, que es independiente de la plataforma (PHP). Esto permite instalar la plataforma en varios frameworks/plataformas de backend, así como modificar las plantillas/interfaces del frontend de forma independiente.
Desarrollo frontend con ES6, HTML5 y CSS3 (LESS). Desarrollo backend con arquitecturas SOA/N-Tier y DDD. Se aplicaron los mejores estándares de la industria (patrones y principios de diseño).
Clara separación entre la capa de aplicación y el dominio.
Desarrollo guiado por pruebas (TDD) completo del proyecto (dominio y frontend). Pruebas unitarias y de integración completas en el dominio. Pruebas unitarias y de aceptación en la capa de aplicación (aún no finalizadas).
-
Consultor de software independiente / Fundador
Ingeniero de backend y contratista independiente. Más de 20 años de experiencia desarrollando sistemas PHP de producción para clientes internacionales…
Ingeniero de backend y contratista independiente. Más de 20 años de experiencia desarrollando sistemas PHP de producción para clientes internacionales en los sectores de tecnología financiera, pagos, SaaS, educación y ciberseguridad. Especialista en Diseño Orientado a Dominios (DDD), Arquitectura Orientada a Eventos y microservicios.
Trabajo remoto, con sede en la UE.
ARQUITECTURA Y MODELADO DE DOMINIOS: Se implementaron múltiples contextos delimitados desde cero de principio a fin: raíces agregadas, eventos de dominio, contratos, API REST de servicio a servicio, migrando la funcionalidad heredada de monolitos a dominios claramente definidos.
- Diseñé un sistema de paquetes basado en Composer, independiente de la plataforma, que se puede implementar en múltiples frameworks de PHP con interfaces de usuario intercambiables.
ESTÁNDARES DE PLATAFORMA Y API: Bibliotecas compartidas distribuidas a nivel de toda la empresa: cliente HTTP con composición de fábrica, fábricas de solicitudes con JWT y autoconfiguración de Symfony, además de manejo de excepciones compartido, adoptado en múltiples servicios.
- Lideré la adopción del enfoque de contrato primero de AsyncAPI: validación del esquema previa a la confirmación, pruebas de contrato que vinculan la serialización a esquemas publicados y un proceso de revisión posterior por escrito.
FIABILIDAD Y OBSERVABILIDAD: Se reforzó un contexto delimitado y su modelo de datos para que una posterior extracción a un microservicio independiente se pudiera implementar en cuestión de días, sin incidentes en producción.
- Se eliminaron las clases de fallos recurrentes: bloqueo optimista, condiciones de carrera, consultas N+1, colas de mensajes no entregados y cierre controlado de procesos.
- Métricas, alertas y paneles de control que reducen el tiempo de detección.
ENTREGA E INGENIERÍA ASISTIDA POR IA: La incorporación de nuevos usuarios a la cola se redujo de un proceso de varios días a una sola mañana; el tiempo de respuesta para la corrección de errores se redujo de sprints a horas.
- Se introdujeron flujos de trabajo de desarrollo asistidos por IA (archivos de contexto de agente, canalizaciones de comandos estructuradas, separación de PRD/Plan, análisis de planificación previa) en las bases de código de producción.
- Lideré y formé a ingenieros; las cadencias de Epic/Story/Subtasa siguen en uso después del traspaso.
-
CTO
Construções Europa Ar-lindo, S.A
Gestor de infraestructura informática. Supervisor de implementación de sistemas ERP. Integración y automatización de sistemas propios y de terceros.
Gestor de infraestructura informática. Supervisor de implementación de sistemas ERP. Integración y automatización de sistemas propios y de terceros.
Supervisión, auditoría y automatización de flujos de trabajo internos. Desarrollo de aplicaciones para BI (Inteligencia de Negocios). Auditoría e informes para DSS (Sistemas de Apoyo a la Decisión).
Desarrollo web y de Windows. Gestión de telecomunicaciones.
-
Gerente de TI
Habitâmega-Construções, S.A.
Gestor de infraestructura informática. Desarrollo y personalización de sistemas ERP. Validadores, automatizaciones, auditorías e informes en PHC Advan…
Gestor de infraestructura informática. Desarrollo y personalización de sistemas ERP. Validadores, automatizaciones, auditorías e informes en PHC Advanced y Enterprise.
Implementación y personalización de sistemas domóticos.
-
Desarrollador web
DaPitch
Desarrollo de una aplicación de interfaz enriquecida (RIA), con amplio uso de JavaScript, que imita el comportamiento de las aplicaciones de escritori…
Desarrollo de una aplicación de interfaz enriquecida (RIA), con amplio uso de JavaScript, que imita el comportamiento de las aplicaciones de escritorio. Contenido generado por el usuario (UGC) y contenido generado por el sistema. Autogestión completa del sistema.
Pila LAMP.
-
Desarrollador de escritorio
QuintaSinfonia, S.A.
Desarrollo de aplicaciones de escritorio para una de las tres principales empresas de software de gestión escolar del país. Migración de VB6 a WinForm…
Desarrollo de aplicaciones de escritorio para una de las tres principales empresas de software de gestión escolar del país. Migración de VB6 a WinForms 2.0. Desarrollo del sistema de actualización automática de la aplicación.
-
Programador de software
Instituto Universitário da Maia
Desarrollo de formularios web en .NET 1.1. Diseño y desarrollo multimedia en Action Script y Flash.