Professional experience

Different systems, the same way of working

My experience combines backend, data and distributed systems with one constant: building solutions that end up being used, operated and evolved in production.

ViveLibre

Senior Software Engineer

I am part of the data analysis team during the progressive launch of an in-house teleassistance product. I work on services, data flows and internal tools related to the information generated by connected devices.

  • I work with end-to-end ownership over the services I contribute to: design, development, testing, deployment, maintenance, incidents and evolution.
  • Together with a team, I developed internal tools for interacting with connected devices through real-time services and integrations with other systems.
  • I proposed adopting Grafana and built dashboards on ClickHouse to replace and centralise less capable visualisations and facilitate operational data analysis.
  • I completely redesigned the internal interface of our most widely used tool, focusing on maintainability, reusable components and user experience.
  • I established the initial testing foundation with pytest across several services, applying an incremental strategy to new or modified code.
  • I take part in technical decisions, prioritisation, code review, delivery coordination and direct conversations with stakeholders.
~90% test coverage across critical repositories, starting from a codebase with no tests
~70% estimated reduction in the number of manual tasks in internal workflows through automation and new tools
  • Python
  • Java
  • FastAPI
  • Dash
  • Kafka
  • Redis
  • MongoDB
  • MySQL
  • ClickHouse
  • Grafana
  • WebSockets
  • Kubernetes

BBVA Technology

Software Engineer III

I contributed to the development and evolution of LRBA, an in-house batch framework and ecosystem based on Java and Apache Spark for running configurable read, transform and write processes in a banking environment.

  • I designed and developed generic connectors for reading and writing binary files from remote object storage without depending on their format.
  • I designed a configurable and extensible OAuth 2.0 authentication layer for API connectors, with initial support for client credentials and bearer tokens.
  • I worked across different areas of the framework and its ecosystem, within a platform whose number of managed processes was growing by approximately 20% annually.
  • I became a point of reference within the team for the Flask API used by other banking services to manage jobs and executions, as well as for other Python developments.
  • I took part in on-call and production support: diagnosis, configuration adjustments, urgent Kubernetes interventions through ArgoCD and coordination across teams.
~20% annual growth in the number of managed processes
~50% reduction in manual intervention for deployments and environment management through automation
  • Java
  • Apache Spark
  • Go
  • Flask
  • Django
  • MongoDB
  • Kubernetes
  • Helm
  • ArgoCD
  • Jenkins
  • REST
  • CI/CD

Acciona · Prime IT

Software Engineer

Development and evolution of projects involving computer vision, edge computing, applied AI and ETL processes.

  • I took ownership of the complete software for an edge device designed to analyse roads through semantic segmentation, crack detection and classification, and OpenCV-based processing.
  • I researched, configured and integrated models developed with TensorFlow and PyTorch for Raspberry Pi and NVIDIA Jetson Nano.
  • I contributed to creating an accessible onboarding website with a GPT-4-powered chatbot, restricted to a controlled set of possible questions.
  • I developed Python ETL processes that extracted data from scraping, Excel, APIs and databases to transform and store it in PostgreSQL. In turn, this data fed Grafana dashboards and was exposed through REST APIs.
  • I designed and developed the architecture and data model of a Django system for orchestrating document records across different blockchains, with configurable jobs, periodic transaction execution, grouping through Merkle trees to guarantee document traceability, and asynchronous status monitoring.
~4.25 FPS processing on a Jetson Nano while segmenting roads and classifying cracks in real time
10K+ blockchain transactions scheduled and monitored during the document platform's first quarter after deployment
  • Python
  • Java
  • TensorFlow
  • PyTorch
  • YOLO
  • OpenCV
  • PostgreSQL
  • Raspberry Pi
  • Jetson Nano
  • Angular
  • Django
  • Blockchain

Fever

Software Engineer

Development of the backend of a high-traffic platform built around a main monolith and several peripheral microservices, with occasional frontend contributions in Angular.

  • I designed and implemented the user phone-management system: creation, deletion, country codes, uniqueness and SMS-based OTP verification.
  • I developed a user and permission-management system for the different internal services using Django Admin.
  • I redesigned the sitemap generation process to reduce the number of queries, cache reusable data and correctly cover all language variants, reducing its execution time from ~60 s to ~10 s.
  • I extended the application's internationalisation layer to add new languages and ensure their consistent propagation across content, routes and related functionality.
  • I worked with asynchronous and event-driven components within a platform handling more than one million daily operations of different kinds.
1M+ daily operations across the corporate platform as a whole
50K+ verified user phone numbers managed by the system I developed during its first week after deployment
  • Python
  • Django
  • Flask
  • Angular
  • Kafka
  • RabbitMQ
  • Celery
  • Redis
  • PostgreSQL
  • Kubernetes
  • ArgoCD

Trantor MKT

Data Scientist & ML Engineer

I contributed to the first version of a startup's AI product, focused on marketing and based on personality, implicit interests and semantic image selection.

  • I prepared and validated survey data combining Big Five model results with open-ended questions about personal preferences.
  • I cleaned processed and redundant variables to improve the quality of the dataset used during development and validation.
  • I contributed to a deep-learning model designed to infer useful interests for campaigns, particularly within the Facebook ecosystem.
  • I developed an application that selected images from words and abstract concepts using semantic resources such as WordNet.
  • I participated in A/B testing by comparing different models with each other and against traditional marketing practices, using conversion and engagement metrics to guide the product's evolution.
~7% increase in conversion rate (CR) for A/B campaigns using the best-performing AI models versus traditional practices in small-scale experiments
  • Python
  • TensorFlow
  • Scikit-learn
  • Pandas
  • NumPy
  • WordNet

Technology in context

Tools, not a ranking

I do not use proficiency percentages. Here I highlight the technologies that have carried the most weight throughout my experience, without trying to provide a complete list of everything I have used.

Core technologies

  • Python
  • Java
  • SQL
  • NoSQL
  • FastAPI / Django
  • Dash
  • NumPy / Pandas
  • Apache Spark
  • Kafka
  • Kubernetes
  • Redis
  • Distributed systems
  • Data platforms
  • CI/CD
  • Angular
  • Android
  • WebSockets
  • MQTT
  • REST APIs
  • GraphQL
  • Grafana
  • AWS

Backend

Python · Java · FastAPI · Django · Flask · REST · GraphQL · Strawberry · WebSockets · gRPC

Data and events

SQL · Apache Spark · Kafka · Kafka Streams · ClickHouse · MongoDB · PostgreSQL · Redis · Apache Airflow · NumPy / Pandas · MQTT

Platform

Kubernetes · Docker · ArgoCD · Jenkins · CI/CD · Grafana · AWS · Azure · Helm · Portainer

Product and interfaces

Dash · Angular · JavaScript · Android · Astro · React · Jetpack Compose

Education

The academic foundation; the starting point

Professional experience is now at the centre of my profile, but education remains a relevant part of the journey that has brought me here and also reflects some of the interests that have emerged along the way.

2019 — 2023

University of the Basque Country · UPV/EHU

Bachelor's Degree in Computer Science

  • International mention for completing part of the degree in English.
  • 2022/23 academic year at Robert Gordon University (Scotland) through the Erasmus programme.
  • University recognition for academic excellence.
  • Qualified for ICPC SWERC 2022.

Highlighted additional training

  • Argo CD Essential Guide for End Users with Practice — Udemy
  • gRPC [Java] Master Class: Build Modern API & Microservices — Udemy