Ir al contenido
daniel:~$whoami

Daniel Jesús Martín · Software Engineer

Backend Java · React · Automatización de workflows con LLMs en plataformas de alto tráfico

o simplemente baja

Sobre mí

Cáceres, España100% remoto

Mi trabajo cubre el ciclo completo de ingeniería: desde el diseño de servicios Java/Spring y migraciones de base de datos hasta componentes React y scripting de automatización. He desarrollado y mantenido sistemas críticos en entornos multimercado con restricciones de rendimiento, disponibilidad y compatibilidad de stack que no se pueden ignorar.

Trabajo de forma sistemática: antes de proponer un cambio, acoto el alcance exacto del problema, verifico hipótesis con evidencia concreta y limito las modificaciones al mínimo necesario. He incorporado LLMs como herramienta de trabajo habitual —no solo para generar código, sino para diagnosticar incidencias, gestionar documentación técnica y orquestar pipelines de experimentación.

Me interesa el espacio donde la ingeniería de software clásica se cruza con los sistemas LLM: diseño de agentes, evaluación cuantitativa de modelos, control de coste en inferencia y observabilidad. Estoy construyendo experiencia práctica en MLOps y en la integración de IA en flujos de ingeniería reales, más allá del prototipado.

  • Diagnóstico de incidencias en producción: traza bugs desde logs o datos hasta el código responsable con evidencia antes de proponer una solución.
  • Documentación como práctica de ingeniería: mantiene changelogs, publica post-mortems y actualiza la documentación técnica en el mismo ciclo que el código, no como tarea aplazada.
  • Integración pragmática de IA en producción: usa LLMs con control de coste, observabilidad (Langfuse) y protocolos de experimentación cuantitativa; no como prototipo sino como parte del stack operativo.
  • Trabajo en codebases de larga vida: cómodo en monolitos con años de deuda técnica acumulada y restricciones de stack que no se pueden sustituir libremente.
  • Automatización orientada a reducir fricción operativa: encapsula workflows repetitivos en herramientas reutilizables en lugar de ejecutarlos manualmente cada vez.

Experiencia

  1. Mayo 2017 — actualidad

    Software Engineer

    Idealista — marketplace inmobiliario de escala nacional, presencia multimercado europea

    • Diseño e implementación de funcionalidades en un monolito Java/Spring con decenas de módulos de dominio, coordinando cambios de backend, frontend y base de datos en el mismo ciclo de entrega.
    • Construcción de un pipeline de evaluación de modelos LLM para clasificación de imágenes: diseño experimental con conjuntos de datos fijos, ejecución de batches A/B/C, análisis de métricas y publicación de resultados.
    • Desarrollo de un ecosistema de automatización interno basado en agentes CLI que encapsula workflows de PR, Jira, documentación y reportes SRE, reduciendo intervención manual en tareas operativas recurrentes.
    JavaSpring MVCHibernateOracleFlywayReact 18/16TypeScript 5.7PythonAmazon BedrockLangfuseDVCJenkinsGit/BitbucketJiraConfluence
  2. Agosto 2015 — Mayo 2017

    Software Engineer

    Darwinex — bróker y plataforma de trading

    • Desarrollo backend en Java/Spring para la plataforma de trading de Darwinex, con APIs REST, mensajería JMS y caché con Redis.
    • Persistencia de datos en MongoDB, PostgreSQL y MySQL, con búsqueda mediante Solr e integración con servicios AWS (SQS, SES, EC2, S3).
    • Integración con el protocolo FIX para conectividad de mercados financieros, con CI/CD basado en Jenkins y análisis de calidad con Sonar.
    JavaSpringRESTJMSRedisMongoDBPostgreSQLMySQLSolrAWSFIXJenkins
  3. Marzo 2015 — Agosto 2015

    Front & Back-end Web Developer

    HOMERIA Open Solutions

    • Desarrollo full-stack en proyectos de alcance nacional, incluyendo un sistema de monitorización y control del consumo energético para una red de restaurantes franquiciados (Cátedra Burger King).
    • Construcción de la plataforma mediante WebRatio, un entorno de desarrollo dirigido por modelos.
    WebRatioDesarrollo web full-stack
  4. Junio 2013 — Julio 2015

    Desarrollador/Investigador

    Grupo de Ingeniería del Software e Investigación Quercus (Universidad de Extremadura)

    • Investigación aplicada en análisis de imagen digital, compaginada con los estudios de grado.
    • Diseño e implementación de arquitecturas software y desarrollo de aplicaciones móviles en el marco de proyectos de investigación universitarios.
    • Administración de sistemas y evaluación de tecnologías emergentes para el grupo de investigación.
    Análisis de imagenArquitectura softwareDesarrollo móvilAdministración de sistemas

Formación

  • 2011 — 2015

    Grado en Ingeniería Informática del Software, Tecnologías de la Información

    Universidad de Extremadura

    Nota media: 8,23/10

Stack

Backend

JavaSpring MVCHibernateOracleFlywayPython

Frontend

React 18React 16 (legacy)TypeScript 5.7pnpmTurbo (monorepo)VitestBiome

Plataforma y Datos

JenkinsGit / BitbucketDVCOracleSolrBash/zsh

IA y MLOps

Claude API (Anthropic)Amazon BedrockLangfusePython (evaluación de modelos)DVC (pipelines reproducibles)

Herramientas

JiraConfluenceClaude Code

IA

Cómo integro LLMs en mi flujo de trabajo real, con control de coste y evidencia cuantitativa.

  • He desarrollado y sigo evolucionando un framework de desarrollo propio para trabajar con agentes de código —empezando en OpenCode y extendiéndolo después a Claude Code—: convenciones, memoria persistente y flujos reutilizables que se mantienen independientemente de la herramienta que use.
  • Utilizo un agente CLI (Claude Code) como copiloto operativo de extremo a extremo: desde diagnosticar un bug hasta crear el PR, gestionar la rama y publicar la documentación técnica, todo dentro de una sesión continua sin cambiar de herramienta.
  • He construido un ecosistema de skills y hooks personalizados que automatizan tareas operativas repetitivas del equipo: revisión de código pre-PR, migraciones de base de datos, reportes SRE periódicos y publicaciones en Confluence; el agente los ejecuta de forma autónoma.
  • He diseñado y ejecutado experimentos A/B/C de comparación de modelos LLM con conjuntos de datos fijos, métricas cuantitativas reproducibles y control de variables, publicando los resultados en documentación interna estructurada.
  • Uso Langfuse para monitorizar pipelines LLM en producción: latencia, coste por ejecución, tasa de error y drift en métricas de evaluación a lo largo del tiempo.
  • Integro un paso de dry-run obligatorio antes de cualquier ejecución de pago (Bedrock): resumen de coste esperado, confirmación explícita, sin ejecuciones automáticas no autorizadas.

Proyectos

Búsqueda y cartografía de listados inmobiliarios a escala

Diseño y mantenimiento sostenido, a lo largo de los 9 años que llevo en la empresa, del subsistema de búsqueda y visualización cartográfica de un catálogo de inventario inmobiliario de gran volumen.

El reto fue combinar indexación y relevancia de búsqueda con Solr junto con renderizado cartográfico eficiente sobre grandes volúmenes de datos geoespaciales, manteniendo tiempos de respuesta bajos a escala.

JavaSolrSistemas geoespaciales

Pipeline de evaluación LLM para clasificación de imágenes a escala

◆ AI

Automatiza la detección de duplicados y evaluación de calidad en un catálogo de imágenes de gran volumen, reemplazando revisión manual.

El reto fue diseñar un protocolo experimental reproducible (conjuntos de snapshots fijos, comparación A/B/C de modelos, cálculo de métricas sin sesgos de población) con control de coste de inferencia.

PythonAmazon BedrockClaude APILangfuseDVCConfluence

Ecosistema de automatización para workflows de ingeniería

◆ AI

Conjunto de skills, hooks y agentes reutilizables que reducen la carga operativa de tareas recurrentes: reviews de PRs, gestión de tickets, publicaciones de documentación y reportes periódicos de calidad y SRE.

El reto fue diseñar contratos claros entre componentes y hooks de ciclo de vida (pre-commit, pre-push) que funcionen sin intervención.

BashClaude CodeMCP (Atlassian)PythonGit/Bitbucket API

Extracción y documentación de reglas de negocio desde un monolito

◆ AI

Recupera y estructura documentación de reglas de negocio dispersas en un monolito de larga vida, transformándolas en páginas Confluence verificadas y enlazadas al código fuente.

El reto fue orquestar agentes de revisión de código capaces de extraer y verificar la lógica de negocio contra el propio código fuente, mediante un proceso iterativo de validación cruzada.

Claude Code (multi-agent)Confluence MCPJava (análisis)Markdown

Guard de privacidad para coordenadas de inmuebles

Previene la exposición accidental de coordenadas exactas de propiedades sustituyéndolas por aproximaciones según reglas de negocio.

El reto fue diseñar una capa de aproximación de coordenadas configurable por reglas de negocio, aplicable de forma retroactiva sobre los datos ya migrados y sin downtime.

JavaSpringOracleFlywayGit

Reportes SRE y calidad automatizados

◆ AI

Genera y publica reportes periódicos de SRE y calidad (métricas de rendimiento + resultados de tests automatizados) en Confluence sin intervención manual.

El reto fue encadenar distintos sistemas de monitorización y producir contenido en Confluence Storage Format correcto mediante un skill reutilizable.

BashClaude CodeConfluence MCPAPIs de monitorizaciónPlaywright

Cursos

Deep Learning (deeplearning.ai / Coursera, 2019-2020)

  • Neural Networks and Deep Learning
  • Improving Deep Neural Networks
  • Structuring Machine Learning Projects
  • Convolutional Neural Networks
  • Sequence Models

Programación paralela y distribuida (Rice University, 2024)

  • Concurrent Programming in Java
  • Distributed Programming in Java
  • Parallel, Concurrent and Distributed Programming in Java

Otros

  • Kotlin for Java Developers (JetBrains, 2024)
  • Parallel Programming in Java (Coursera, 2022)
  • Data Mining with Weka (Universidad de Extremadura)
  • Jornadas de peritaje informático con casos prácticos (Universidad de Extremadura)

Desfibriladores Cáceres

Aplicación móvil personal que localiza los desfibriladores de emergencia (DEA) más cercanos y guía al usuario hasta ellos.

Mantenida de forma personal desde 2015, con foco en una experiencia mínima y rápida en situaciones donde cada segundo cuenta.

Desarrollo móvil

Contacto

Cáceres, España · 100% remoto