Sobre mí

Soy Ingeniero de Software Senior especializado en backend, arquitectura de software y productos SaaS cloud-native. Diseño sistemas distribuidos y soluciones de IA aplicada, manteniendo una implicación directa en la implementación y en la evaluación de nuevas técnicas y modelos.

Backend engineeringSoftware architectureDistributed systemsCloud-native SaaSApplied AI & LLMsPythonKubernetes & DockerAPI Security
Juan Carlos de Alfonso

Experiencia

oct 2024 - Presente

Ingeniero de Software Senior

42Crunch, Irlanda

  • Liderazgo de iniciativas de I+D en inteligencia artificial y seguridad de APIs, llevando ideas desde la investigación técnica y el desarrollo de pruebas de concepto hasta su evaluación, diseño arquitectónico e integración en productos existentes.
  • Diseño y prototipado de sistemas basados en LLMs y flujos de seguridad asistidos por IA, integrando capacidades de productos existentes con ecosistemas y APIs de modelos de lenguaje.
  • Diseño y desarrollo de integraciones mediante Model Context Protocol (MCP), permitiendo a asistentes de IA y sistemas agénticos interactuar con herramientas y capacidades de seguridad existentes.
  • Investigación y prototipado de arquitecturas RAG, recuperación semántica, embeddings y búsqueda vectorial, evaluando su aplicación en seguridad y herramientas para desarrolladores.
  • Experimentación con fine-tuning, ingeniería de prompts y contexto, caché semántica y técnicas de evaluación de LLMs, orientadas a mejorar la fiabilidad, eficiencia y especialización de funcionalidades basadas en IA.
  • Desarrollo de integraciones y plugins para asistentes de programación como Claude Code y Cursor, conectando capacidades de productos existentes con flujos de desarrollo asistidos por IA.
  • Investigación y evaluación de arquitecturas agénticas, frameworks de orquestación y plataformas emergentes de IA, incluyendo LangGraph, sistemas basados en skills/tools y Microsoft Foundry, analizando su aplicabilidad en casos de uso reales.

jul 2021 - oct 2024

Ingeniero de Software

42Crunch, Irlanda

  • Desarrollo y mantenimiento de aplicaciones SaaS y servicios backend basados en Python utilizando Django y Flask, participando en su arquitectura, APIs, integraciones, pruebas y ciclo de vida en producción.
  • Desarrollo y mantenimiento de componentes desplegados sobre Kubernetes, incluyendo la implementación de injectors y servicios asociados.
  • Participación en todo el ciclo de desarrollo de software, desde el diseño técnico y la implementación hasta las pruebas automatizadas, validación, documentación, despliegue y mantenimiento.
  • Trabajo sobre arquitecturas cloud-native y sistemas distribuidos, participando en decisiones técnicas relacionadas con escalabilidad, mantenibilidad e integración entre servicios.
  • Diseño e integración de APIs y servicios backend utilizados por distintos componentes del ecosistema de producto.
  • Desarrollo de flujos de procesamiento asíncrono y distribuido mediante Celery y RabbitMQ, trabajando con bases de datos relacionales y NoSQL como PostgreSQL y MongoDB en diferentes servicios backend.
  • Colaboración con diferentes equipos de ingeniería y producto para la integración, validación y entrega de funcionalidades en producción.
  • Participación en prácticas de ingeniería relacionadas con testing, CI/CD y preparación para producción de servicios SaaS.

sep 2020 - jun 2021

Desarrollador Full Stack

Autónomo

  • Diseño y desarrollo de soluciones de software a medida para diferentes clientes, transformando necesidades de negocio en implementaciones técnicas mantenibles.
  • Participación en todo el ciclo de desarrollo, incluyendo análisis de requisitos, arquitectura, implementación, pruebas, despliegue, documentación y mantenimiento.
  • Desarrollo de aplicaciones backend, APIs e integraciones, adaptando la arquitectura y las tecnologías utilizadas a las necesidades de cada proyecto.
  • Gestión autónoma de proyectos, incluyendo toma de decisiones técnicas, estimación, entrega y comunicación directa con clientes.
  • Mantenimiento y evolución de aplicaciones existentes, resolución de incidencias en producción e implementación de nuevas funcionalidades.