Diego Castro 🚀

Diego Castro

Ingeniero en Informática

The Workshop

Resumen Profesional

Soy ingeniero en informática con más de 15 años de experiencia, durante los cuales he trabajado en entornos muy diversos y he asumido distintos roles dentro del ciclo de vida del desarrollo. Esta trayectoria me ha permitido adquirir una visión amplia del sector y adaptarme con facilidad a diferentes contextos técnicos y organizativos.

He pasado por grandes consultoras multinacionales, participando en proyectos de distinta naturaleza y colaborando con equipos distribuidos en varios países. También he vivido la experiencia de trabajar en una startup en sus primeras etapas, lo que me dio la oportunidad de involucrarme en la creación de un producto desde cero y conocer de cerca los retos del ámbito empresarial.

Me apasiona la programación y mantengo una actitud de aprendizaje continuo. Para mí, lo realmente importante no es dominar un lenguaje o framework concreto, sino la capacidad de aprender, evolucionar y comprender los problemas en profundidad para ofrecer soluciones sólidas. En este camino de aprendizaje he explorado áreas como Data Science y Big Data, estudiando un máster que representó un ejemplo más de mi interés por ampliar horizontes y entender nuevas perspectivas tecnológicas.

Educación

Máster en Data Science & Big Data

U-TAD

Ingeniería en Informática

Universidad de Deusto

Ingeniería Técnica en Informática de Gestión

Universidad de Deusto

Intereses

Programación Ciencia de Datos Impresión 3D IoT Privacidad

Experiencia

  1. Software Engineer [EN|ES]

    The Workshop

    The Workshop es una empresa de producto especializada en plataformas de games, betting y fintech. La plataforma da servicio a más de 500.000 usuarios activos diarios y procesa cerca de 1000 operaciones/s. El backend es multimarca y multitenant, ofreciendo servicios compartidos para múltiples líneas de negocio desde un mismo ecosistema técnico.

    Contribuciones destacadas

    • Optimización de servicios backend: Mejora del rendimiento y estabilidad del sistema de campañas mediante el refinamiento de la lógica de exclusiones y la centralización de la cola de tareas, evitando la sobrecarga de pods y logrando una distribución más homogénea de la carga de trabajo.
    • Actualización de clúster Kubernetes: Participación en la actualización del clúster corporativo a una nueva versión, desplegando todos los servicios del producto en un nuevo entorno de producción. Coordinación con equipos de DevOps, Network y Third Parties tanto integradas con nosotros como integradas por nosotros, en un proceso complejo y multi-equipo.
    • Automatización de tareas de soporte: Desarrollo de una herramienta interna para automatizar procesos relacionados con las guardias (on-call): redirección de teléfono, actualización de wiki y canales de mensajería, registro automático de incidencias y generación de tickets, incluyendo la rotación automática del calendario de soporte.
    • Colaboración interequipos: Participación en iniciativas de limpieza de código para eliminar dependencias específicas de cliente y mejorar la mantenibilidad de los servicios, además de desarrollar herramientas para analizar el alcance del código afectado en múltiples equipos.
    • Creación de un nuevo entorno de producción: Participación en la creación de un nuevo entorno de producción en un datacenter adicional, desplegando todos los servicios desde cero y gestionando la transición con un downtime controlado.
    • Innovación e impacto: Participación en un proyecto de hackathon orientado a la optimización de licencias de software, que obtuvo el 3.º puesto a nivel compañía.
    • Optimización de almacenamiento: Diseño y ejecución de un proceso de limpieza de base de datos en el sistema de marketing, reduciendo significativamente el almacenamiento requerido.
    • Migración tecnológica: Participación en la migración del sistema de marketing de Cassandra a Elasticsearch, mejorando la eficiencia de consultas y la mantenibilidad.
    • Fiabilidad operativa: Documentación de investigaciones técnicas complejas y estandarización de configuraciones críticas para facilitar despliegues estables y reproducibles.

    Logros destacados

    • Mejora del tiempo de ejecución de campañas en un 90–95 % mediante optimización de la lógica y refactorización de flujos.
    • Reducción del esfuerzo manual en operaciones on-call mediante la automatización completa de planificación y gestión de incidencias.
    • Soporte a equipos externos hasta alcanzar autonomía completa, mejorando la calidad del código y la eficiencia de entregas.
    • Participación clave en el programa corporativo de actualización de Kubernetes, resolviendo bloqueos de dependencias y configuración entre equipos y Third Parties.
    • Reducción del espacio ocupado por el sistema de marketing en un 15 % mediante procesos de limpieza y optimización de datos.
    • Contribución en un proyecto de hackathon con una estimación de ahorro superior a 300.000 €/año en costes de licencias.

    Java (17+), Spring Boot, Spring Cloud, REST APIs, Kafka, RabbitMQ, Cassandra, Elasticsearch, Prometheus, Micrometer, PromQL, AlertManager, Grafana, Docker, Kubernetes, Helm, Git, CI/CD (Bamboo), JUnit, Pitest, Mockito, Angular, Jasmine, Selenium, Contract Testing, Scrum/Kanban

    Remoto (desde Madrid, España)

  2. Analista-Programador [ES]

    BBVA (a través de Comunytek, ahora parte de VASS)

    Formé parte del departamento de arquitectura del área CIB de BBVA, trabajando en la “Plataforma NOVA”, un entorno tipo cloud interno para alojar y operar servicios del área CIB.

    La plataforma ofrecía: gestión de servicios desde web, definición de APIs REST en OpenAPI, generación de clientes/servidores con CLI, integración con Git, despliegue automático con Docker, testeo y despliegue en distintos entornos (dev, preproducción y producción), control de seguridad y monitorización.

    Contribuciones destacadas

    • Integré soporte para Python en una plataforma inicialmente orientada a Java
    • Integré la plataforma con el cluster Kubernetes del banco para despliegue de servicios, sustituyendo máquinas virtuales

    Mi rol fue de analista-programador, participando en todas las fases: análisis de especificaciones, diseño de arquitecturas y programación.

    Responsabilidades principales

    • Análisis y desarrollo de especificaciones técnicas
    • Programación backend y frontend

    Java 8, PostgreSQL, Microservicios, REST, Spring Boot, Docker, Swarm, GlusterFS, Python, NodeJS, Git, Maven, Scrum

    Madrid, España

  3. Software Engineer/Responsable Técnico [ES|FR]

    Locken (ahora parte del Grupo ISEO)

    En Locken, empresa de producto con un departamento de IT reducido y en constante evolución, desempeñé un rol polivalente que abarcó análisis, diseño, desarrollo, testing e innovación.

    Participé activamente en la definición técnica del producto, en la modernización de la infraestructura y en la adopción de nuevas tecnologías dentro del equipo.

    Responsabilidades principales

    • Desarrollo y revisión de especificaciones técnicas y funcionales.
    • Diseño de arquitecturas y definición de estándares de desarrollo.
    • Programación backend (Java, Spring Boot) y desarrollo web.
    • Revisión de código y soporte técnico al equipo.
    • Actividades de I+D y evaluación de nuevas tecnologías.

    Proyectos destacados

    • Refactorización de la infraestructura de testing: migración del código legacy a un proyecto Spring Boot modular con integración continua en Jenkins y Docker, reduciendo el tiempo de ejecución en un 60 % y el código duplicado en más de la mitad.
      • Java 8, Spring Boot, JUnit, Selenium, Jenkins, Docker, Rancher
    • Diseño de arquitectura de microservicios: desarrollo del backend para las aplicaciones móviles y web de la compañía, utilizando Spring Cloud, Consul y Docker.
      • Java 8, Spring Boot, Spring Cloud, Consul, Docker, Rancher
    • Implantación de un Identity Server: configuración y despliegue de WSO2 Identity Server como núcleo de autenticación para toda la infraestructura de microservicios.
      • WSO2 Identiy Server, Docker, Rancher
    • Desarrollo de un chatbot corporativo: creación de un chatbot para Skype y SMS basado en Microsoft Bot Framework y Dialogflow, ofreciendo un nuevo canal de soporte a usuarios.
      • Microsoft Bot Framework, Node.js, Restify, IA, NLP, DialogFlow, Azure Bot Service, Twilio, SMS, API REST, Spring Boot, Spring MVC, Spring State Machine, Redis, Docker, Docker Compose
    • Implantación de plataforma BI: puesta en marcha y mantenimiento de una plataforma Pentaho para la generación automatizada de informes.
      • Pentaho, PostgresQL
    • Aplicación web de gestión de acceso: desarrollo de un backend Spring Boot con WebSockets y API REST para el seguimiento en tiempo real de accesos a instalaciones.
      • Spring Boot, Apache Camel, XML/RPC, API REST

    Además, impulsé la adopción de tecnologías emergentes como Docker y Progressive Web Apps, fomentando su incorporación en los nuevos desarrollos del departamento.

    Madrid, España

  4. Analista-Programador [FR]

    Edelia (ahora parte de Datanumia, a través de SopraSteria)

    Desarrollo del backend del proyecto “Portal Equilibre”, una plataforma basada en microservicios para procesar lecturas de decenas de millones de contadores eléctricos inteligentes en hogares franceses, con actualizaciones horarias de datos.

    Mi rol fue de analista-programador, participando en todas las fases: análisis técnico, implementación y pruebas.

    Responsabilidades principales

    • Desarrollo de especificaciones técnicas
    • Revisión de especificaciones funcionales
    • Programación backend en entorno de microservicios

    Java 8, Spring Boot, Spark, Cassandra, Apache Camel, Activiti, JUnit, DB2, REST, Git, Maven, Scrum

    Nantes, Francia

  5. Referente Técnico [FR]

    Banque de France (a través de SopraSteria)

    Participación en el lanzamiento del proyecto “Programme FIBRE”, nueva aplicación web para la Banque de France.

    Mi rol fue de referente técnico, con fuerte enfoque en supervisión y mentoría de un equipo de desarrolladores mayoritariamente juniors.

    Responsabilidades principales

    • Revisión de código y aseguramiento de la calidad técnica
    • Estimación y seguimiento de presupuestos técnicos
    • Acompañamiento y mentoría de perfiles junior
    • Revisión de especificaciones técnicas y funcionales

    Java 8, REST, AngularJS 1.5, Angular Material, Angular UI Router, Gulp, Bower, Karma, Jasmine, Protractor, Arquillian, JUnit, Git, Maven

    Lille, Francia

  6. Responsable Técnico/Líder Técnico de Proyecto [FR|ES]

    EDF (a través de SopraSteria)

    Desarrollo desde cero de una aplicación web para la gestión de instalaciones cogeneradoras.

    Mi rol fue de responsable técnico, liderando el diseño técnico y la implementación, además de coordinar un pequeño equipo de trabajo.

    Responsabilidades principales

    • Diseño de componentes comunes y establecimiento de patrones de desarrollo
    • Definición de estructura del código y buenas prácticas para el proyecto
    • Desarrollo de funcionalidades backend y frontend
    • Gestión de un pequeño equipo de trabajo
    • Coordinación y mentoría de perfiles junior

    Java 7, JQuery, Thymeleaf, Spring MVC, Spring Security, LDAP, Weblogic, Hibernate, SQL, Oracle, Web Services, JUnit, SVN, Maven, Jenkins

    Madrid, España

  7. Referente Técnico [FR|ES]

    EDF (a través de SopraSteria)

    Mantenimiento y evolución de una aplicación web para la gestión de contratos de instalaciones fotovoltaicas para EDF.

    Mi rol fue de referente técnico, participando en análisis, programación y coordinación de perfiles juniors en el equipo.

    Responsabilidades principales

    • Análisis técnico de requerimientos funcionales
    • Elaboración de presupuestos técnicos
    • Acompañamiento y mentoría de perfiles junior
    • Programación backend y frontend

    Java 6, JQuery, JSP, Struts, Spring, Spring Batch, Weblogic, Hibernate, SQL, Oracle, REST, Web Services, JUnit, DBUnit, SVN, Maven, Jenkins

    Madrid, España

  8. Programador Fullstack [ES]

    Sportegos (startup)

    Desarrollo de una aplicación web para la búsqueda de carreras populares, gestión de inscripciones y ticketing.

    Trabajo realizado en una startup en fase inicial, participando en todas las fases: diseño de arquitectura, desarrollo fullstack y preparación de infraestructura.

    Responsabilidades principales

    • Diseño de arquitectura de la aplicación
    • Programación frontend y backend
    • Preparación y gestión de la infraestructura

    Java 6, Spring MVC, REST, Integración con Paypal, Spring Social, Spring Security, Spring Batch, Apache Camel, JSP, HTML, JQuery, AngularJS, Elasticsearch, Spring Data, JPA, Hibernate, MySQL, JUnit, Tomcat, Git

    Madrid, España

  9. Analista-Programador [ES]

    Gobierno Vasco (a través de Bilbomática)

    Desarrollo de una aplicación web para la gestión de instalaciones industriales (ascensores, instalaciones frigoríficas, etc.) y gestión de inspecciones.

    Mi rol fue de analista-programador, liderando un pequeño equipo y participando en análisis y programación.

    Responsabilidades principales

    • Gestión de un pequeño equipo de trabajo
    • Análisis técnico de requisitos funcionales
    • Programación backend y frontend

    J2EE, Struts, JSP, JSTL, Servlet, JavaScript, CSS, EJB, Web Services, JUnit, SVN, Weblogic, SQL, Oracle, Maven, Hudson

    Bilbao, España

  10. Programador [ES]

    Gobierno Vasco (a través de Bilbomática)

    Desarrollo de una aplicación web para la dirección de juego y espectáculos, incluyendo gestión de licencias, inspecciones de instalaciones y cobro de multas y sanciones.

    Mi rol fue de programador, centrándome en la implementación y mantenimiento de la aplicación.

    Responsabilidades principales

    • Programación backend y frontend

    J2EE, Struts, Documentum, JSP, JSTL, Servlet, JavaScript, CSS, EJB, MDB, Web Services, JUnit, DBUnit, SVN, Weblogic, SQL, Oracle, Maven, Hudson

    Bilbao, España

Educación

  1. Máster en Data Science & Big Data

    U-TAD
    • Analítica de datos:
      • Introducción a Clasificación, Reresión, Clustering, Reducción de dimensiones
    • Machine learning:
      • SVM, Decision Tree, Random Forest, K-means, Logistic Regression con SciKit Learn y Spark MLlib
    • Deep Learning:
      • Redes neuronales, Redes Neuronales Convolucionales, Redes Neuronales Recurrentes con Keras y Tensorflow
    • Preparación de datos con Python:
      • Pandas, Numpy
    • Preparación de datos con R:
      • dplyr, tidyverse
    • Machine Learning avanzado:
      • Sistemas de recomendación, NLP, Topic Modeling, Algoritmos aproximados, Sentiment Analysis
    • Visualización de datos:
      • Tableau, ggplot2, Bokeh, d3.js, CartoDB
    • Trabajo Fin de Máster
  2. Ingeniería en Informática

    Universidad de Deusto
  3. Ingeniería Técnica en Informática de Gestión

    Universidad de Deusto
Competencias
Lenguajes
Java (17+)
Bash
Python
TypeScript
JavaScript
Frameworks
Ecosistema Sprign
Microservicios
REST APIs
Métricas
Dashboards
Angular
Node.js
Datos & Mensajería
Cassandra
PostgreSQL
ElasticSearch
Oracle
RabbitMQ
Kafka
DevOps & Cloud
Docker
Kubernetes
Helm
Jenkins
CI/CD
Git
Scrum
Kanban
Testing & Calidad
JUnit & Mockito
Mutant Testing
Selenium
Packt Contract Testing
Jasmine
Logros
3er puesto en el Hackaton de la ‘Geek Week’ de The Workshop
The Workshop ∙ octubre 2025
Desarrollo de una solución para optimizar la gestión de licencias de software de la compañía. El proyecto obtuvo el 3.º puesto en el hackathon corporativo gracias a su impacto potencial, estimado en más de 300.000€ anuales en ahorro de costes.
Spark and Python for Big Data with PySpark
Udemy ∙ enero 2022
Learn how to use Spark with Python, including Spark Streaming, Machine Learning, Spark 2.0 DataFrames and more!
Istio Hands-On for Kubernetes
Udemy ∙ agosto 2020
Learn how the Istio service mesh can turbo charge your Kubernetes career - with hands on real world practicals
Docker Mastery - with Kubernetes + Swarm from a Docker Captain
Udemy ∙ agosto 2020
Build, test, deploy containers with the best mega-course on Docker, Kubernetes, Compose, Swarm and Registry using DevOps
M101JS - MongoDB for Node.js Developers
MongoDB University ∙ mayo 2014
Recognized for contributions to scaling laws in deep learning.
Sun Java 6 Certified Programmer
Oracle ∙ enero 2011