JP Javier Pontón / Senior Backend Engineer

ESEN

CV

Curriculum vitae · updated Nov 2026

PDF DOCX Plain text JSON
Javier Pontón González, Senior Backend Engineer

Javier Pontón González

Senior Backend Engineer | Java, Kotlin, Python | Spring Boot, FastAPI, Kafka, PostgreSQL, AWS | LLMs, RAG and MCP in production

[email protected] · +34 623 920 307 · Asturias, Spain · Remote from Spain (CET)
linkedin.com/in/javierpontongonzalez · github.com/sktjpg · javierpontongonzalez.com
Open to employment or B2B contract; B2B contractor through my own company, invoiced from Spain · Open to new roles · Languages: Spanish (Native), English (Professional working proficiency)

Professional summary

Senior Backend Engineer with 8+ years designing and operating distributed backend systems in production for Iberia, Mercadona, Inditex, Openbank and Idealista: microservices in hexagonal architecture with DDD, event-driven integration over Apache Kafka, PostgreSQL and AWS. Technical lead of zero-downtime cloud and language migrations (Azure to AWS at Inditex, Java to Kotlin at Openbank) inside organisations of 100+ engineers. Currently technical owner of the fare pricing domain on Iberia's flight pricing platform.

I also build Python and FastAPI services and run LLM features in production: an internal MCP server and a RAG service with embeddings, hybrid search and reranking, traced and evaluated like any other service. I work with hexagonal architecture, DDD and TDD, observe with OpenTelemetry, Prometheus and Grafana, and own services in production, incidents included. Core stack: Java, Kotlin, Python, Spring Boot, FastAPI, Kafka, PostgreSQL, Redis, AWS, Docker and Kubernetes. Open to Senior Backend Engineer roles, employment or B2B contract, remote from Spain (CET).

Key achievements

  • Technical owner of the fare pricing domain at Iberia: pricing services over external fare providers under IATA NDC on Kafka, PostgreSQL and AWS, Redis caching on the highest-traffic flows, an internal MCP server and a RAG service that returns source-grounded answers in under a minute.
  • Led the zero-downtime Azure to AWS migration of a global logistics event platform at Inditex and the Java to Kotlin migration at Openbank, inside organisations of 100+ engineers.
  • Built high-volume batch platforms: Spring Batch ingestion of millions of product records per day at Mercadona with 85%+ test coverage under TDD, and serverless AWS Lambda pipelines for financial transactions at Openbank. Shipped a consumer app (ZORRO) solo to iOS and Android, reaching 700+ users with 50% D1 retention in three weeks.

Technical skills

Backend & Data

Java · Kotlin · Python · Spring Boot · FastAPI · Spring Batch · SQL · REST · OpenAPI · Microservices · Apache Kafka · PostgreSQL · Redis · MongoDB · Elasticsearch · AWS SQS · Elixir

Cloud & DevOps

AWS · AWS Lambda · AWS ECS · Azure · GCP · Docker · Kubernetes · GitHub Actions · Jenkins · Git · CI/CD

Architecture & Engineering

Hexagonal Architecture · Domain-Driven Design (DDD) · CQRS · Event Sourcing · SOLID · TDD · API-First · Technical Leadership · Mentoring

Observability & Quality

OpenTelemetry · Prometheus · Grafana · Dynatrace · JUnit · Karate · Regression Testing

LLMs in Production

Retrieval-Augmented Generation (RAG) · Embeddings · Semantic Search · Hybrid Search · Cross-Encoder Reranking · pgvector · Model Context Protocol (MCP) · Large Language Models (LLMs) · Function Calling · Structured Outputs · LangChain · LangGraph · LLM Evaluation · vLLM · Ollama · Claude API · OpenAI API

Frontend

TypeScript · React · React Native

Professional experience

Senior Backend Engineer · Remote from Spain (CET) · Open to employment or B2B contract.

Mar 2025 – Present

Remote, Spain

Senior Software Engineer · Iberia, S.A.

Flight pricing platform. Technical owner of the fare pricing domain. B2B through my own company.

  • Fare pricing services. Engineered the services that calculate flight prices by orchestrating calls to external fare-calculation providers under IATA NDC, on Kafka, PostgreSQL and AWS (ECS, SQS, S3) in hexagonal architecture with DDD.
  • Latency and provider calls. Reduced latency and the number of provider calls with Redis caching on the highest-traffic pricing flows.
  • Resilience. Own the resilience of the pricing path against provider degradation: timeouts, retries and fallbacks.
  • MCP server. Built an internal Model Context Protocol server that exposes pricing platform tooling to LLM clients, with governed function calling over fares, providers and configuration instead of ad-hoc scripts.
  • RAG service. Delivered a RAG service in Python and FastAPI over internal specs and NDC documentation, with embeddings, hybrid search and cross-encoder reranking. It gives the engineering team sub-minute, source-grounded answers and is instrumented with OpenTelemetry and Dynatrace like any other production service.

Java · Kotlin · Python · Spring Boot · FastAPI · Kafka · Redis · PostgreSQL · AWS (ECS, SQS, S3) · MCP · OpenTelemetry

Mar 2024 – Mar 2025

Remote, Spain

Lead Backend Engineer · Mercadona, S.A.

Product analytics platform.

  • Ingestion pipeline. Engineered a Spring Batch ingestion pipeline processing millions of product records per day from heterogeneous sources, with restartable jobs and idempotent writes.
  • API-first services. Designed API-first REST services (OpenAPI) in hexagonal architecture with DDD; sustained over 85% automated test coverage under real TDD.

Java · Kotlin · Spring Boot · PostgreSQL · Kafka · AWS · GCP · Docker · Flyway

Nov 2023 – Mar 2024

Remote, Spain

Lead Backend Engineer · Inditex, S.A.

Global logistics, garment-sorting event platform. Technical lead for the Azure to AWS migration.

  • High-concurrency platform. Engineered a serverless platform on Azure and AWS processing thousands of garment-sorting events per minute across the logistics network.
  • Zero-downtime migration. Led the Azure to AWS migration with zero downtime; built async REST APIs in hexagonal architecture with DDD and introduced Karate integration testing alongside the existing JUnit suite.

Java · Kotlin · Spring Boot · MongoDB · PostgreSQL · Kafka · AWS · Azure · Docker · Liquibase

Oct 2022 – Nov 2023

Madrid, Spain

Senior Backend Engineer · Openbank (Open Bank, S.A., Santander Group)

Investment automation platform. Technical lead for the Java to Kotlin migration.

  • Serverless batch at scale. Implemented serverless batch pipelines on AWS Lambda processing millions of financial transactions per day on top of the T24 core banking system, inside a 100+ backend engineer organisation.
  • Java to Kotlin migration. Led the migration across services and Lambdas; delivered internal tech talks on DDD and hexagonal architecture to around 50 engineers.

Java · Kotlin · Spring Boot · PostgreSQL · AWS (Lambda, S3) · Elasticsearch · Docker · MockK · T24

Mar 2021 – Oct 2022

Madrid, Spain

Backend Engineer · Idealista, S.A.

Digital contract-signing platform.

  • Contract-signing platform. Built a digital contract-signing platform for Spain, Portugal and Italy: REST APIs plus Kafka event streams for real-time signing, with event sourcing keeping an auditable, replayable history of every contract.

Java · Kotlin · Spring Boot · PostgreSQL · Elasticsearch · Kafka · Docker · Event sourcing · DDD · TDD

Jan 2019 – Mar 2021

Gijón, Spain

Backend Engineer · Empathy.co

Playboard, e-commerce search configuration platform.

  • Search configuration platform. Built the configuration platform enterprise clients (Kroger, Carrefour, Inditex) use to tune their Elasticsearch-backed search engines; executed zero-downtime migrations: Java 8 to 11, GCP to AWS, monolith to API Gateway.

Java · Spring Boot · MongoDB · Elasticsearch · Docker · Kubernetes · GCP · AWS · JUnit

Selected projects

Live

Web · iOS · Android

Facturias · Multimodal invoice-processing SaaS

facturias.es

Structured extraction from invoices with a self-hosted vision-language model (Qwen2.5-VL) plus RAG over Spanish tax regulation to classify and validate entries, with confidence scoring, a labelled evaluation set tracking field-level precision and recall across model versions, and human review on low-confidence fields. VeriFactu compliant, multi-tenant FastAPI backend on PostgreSQL 17 with row-level security and pgvector.

Python · FastAPI · SQLAlchemy (async) · PostgreSQL 17 · Row-level security · pgvector · Qwen2.5-VL · Docker

Live

iOS · Android

ZORRO · Consumer dating app for the gay and queer community, iOS and Android

somoszorro.com

Shipped solo to both app stores in June 2026, reaching 700+ users with 50% D1 retention in three weeks. Semantic matchmaking with embeddings and pgvector plus cross-encoder reranking, and self-hosted vision-language moderation of user photos handling GDPR special-category data with no third-party processors. Polyglot backend in Kotlin/Spring Boot, Elixir and Python.

Kotlin · Spring Boot · Elixir · Python · PostgreSQL · pgvector · Cross-encoder reranking · AWS SES · Hetzner · Docker

Live

iOS · Android · Web · Hardware

Apunta · Multi-tenant SaaS for shooting clubs, from custom PCB to mobile app

apuntapp.com

Multi-tenant SaaS for shooting clubs owned end to end: custom NFC PCB (ESP32-C6, PN532, PoE) and C/ESP-IDF firmware, Spring Boot backend and React Native app. Range access, training sessions, scoring and club administration on one stack.

Kotlin · Spring Boot · React Native · PostgreSQL · C · ESP-IDF · ESP32-C6 · PN532 · Docker

Private inference node

Self-hosted

Grabia · Self-hosted meeting intelligence, fully local AI

Local pipeline with WhisperX transcription and pyannote diarisation feeding a LangChain and LangGraph agent that produces structured summaries, decisions and action items, with RAG over the meeting archive. Served from a private node (Ryzen AI MAX+ 395, 128 GB, ROCm) running Qwen3-30B under Ollama and mistral.rs; nothing leaves the machine.

Python · LangChain · LangGraph · WhisperX · pyannote · Ollama · mistral.rs · ROCm · Qwen3

Live

Web

icekar · Distributed scraping and sub-second search over 100,000+ car listings

icekar.es

Distributed scraping and sub-second Elasticsearch search over 100,000+ car listings indexed nightly, with an agentic LLM layer that rewrites its own scraper rules when sites change markup.

Python · Elasticsearch · LLM agents · Docker

Education

  • M.Sc. in Artificial Intelligence Research (official) · UIMP / AEPIA. Specialisation in Machine Learning and Data Science. Started September 2026, part-time alongside work.
  • B.Sc. in Computer Science and Software Engineering · University of Oviedo. Oviedo, Spain.