Retrato de Diego Gil, desarrollador backend en prácticas en la Fundación General de la ULL

Disponible para prácticas / primer empleo backend

DIEGO GIL

Prácticas en Fundación General ULL · DAM

Backend · Bases de datos · Arquitectura

Sobre mí

Estudiante de Desarrollo de Aplicaciones Multiplataforma en Tenerife. Me obsesiona entender cómo funcionan las cosas por dentro y construir soluciones que aporten valor real.

DAM Tenerife
C1 Inglés
Carnet B
Prácticas ULL
Diego.java
public class Diego {

  // Identidad
  private String nombre = "Diego Gil";
  private String rol = "Backend Developer";

  // Stack actual
  private String[] stack = {
      "Java", "Spring Boot", "PostgreSQL",
      "Node.js", "JavaScript", "PHP"
  };

  // Ahora aprendiendo
  private String[] aprendizajeActual = {
      "Sistemas distribuidos",
      "PL/pgSQL avanzado",
      "APIs REST"
  };

  // Filosofía
  public void construir() {
      pensar();
      programar();
      mejorar();
  }
}

En qué estoy ahora

Actualizado · junio 2026
  • Prácticas en la Fundación General de la ULL, trabajando en Canarias Convive.
  • Aprendiendo sistemas distribuidos, PL/pgSQL avanzado y APIs REST.
  • Manteniendo tsunagi y Diésel Barato como proyectos personales activos.

Terminal

diego@portfolio: ~

$ whoami

Diego Gil — Backend Developer · estudiante de DAM en Tenerife · prácticas en la Fundación General de la ULL.

$ help

Comandos: help · whoami · stack · proyectos · contacto · clear

Stack

Backend

Logo de Java

Java

POO, APIs REST

Logo de Spring Boot

Spring Boot

JWT, JPA, microservicios

Logo de Node.js

Node.js

Servicios distribuidos

Logo de PHP

PHP

WordPress y APIs

Bases de datos

Logo de PostgreSQL

PostgreSQL

PL/pgSQL, triggers, ACID

C

CockroachDB

SQL distribuido

Logo de MySQL

MySQL

Consultas relacionales

Logo de SQLite

SQLite

Persistencia embebida

Web

Logo de JavaScript

JavaScript

Lógica e interactividad

Logo de HTML5

HTML

Estructura semántica

Logo de CSS3

CSS

Animaciones y responsive

Logo de WordPress

WordPress

Temas y WooCommerce

Pensar Construir Mejorar Línea tras línea

Proyectos

Canarias Convive

Automatización del flujo de gestión de facturas con validaciones en cascada y trazabilidad documento a documento.

Google Apps Script Next.js Vercel Google Sheets
Ver detalle Cerrar

Contexto. La gestión de facturas del programa se hacía a mano, con validaciones repetitivas y sin un rastro claro de en qué punto estaba cada documento.

Mi rol. Durante las prácticas en la Fundación General de la ULL desarrollé el flujo de automatización de principio a fin.

  • Backend sobre Google Apps Script para integrarme con Sheets sin levantar infraestructura nueva.
  • Validaciones en cascada que comprueban cada factura antes de dejarla avanzar.
  • Frontend en Next.js desplegado en Vercel y trazabilidad documento a documento.

Aprendí a modelar un proceso real de negocio y a poner la trazabilidad por delante de añadir funciones.

AnimeShowdown

Torneos y ranking ELO de personajes anime. Backend con autenticación JWT y persistencia en PostgreSQL.

Spring Boot 3 JWT PostgreSQL Jikan API
Ver detalle Cerrar

Contexto. Quería comparar personajes de anime con un ranking que fuese justo y se mantuviera entre sesiones.

Mi rol. Backend full-stack: API, autenticación y persistencia.

  • Ranking ELO para que cada duelo ajuste la puntuación de forma proporcional.
  • Autenticación con JWT para sesiones sin estado.
  • Datos integrados desde la Jikan API (MyAnimeList) y normalizados en PostgreSQL.

Aprendí a diseñar una API REST autenticada y a tratar datos de una fuente externa que no controlo.

TinerPay

Sistema de pagos distribuido tolerante a fallos sobre una base de datos SQL global.

Node.js CockroachDB REST
Ver detalle Cerrar

Contexto. Procesar pagos sin perder consistencia aunque caiga un nodo o una región entera.

Mi rol. Diseño e implementación del backend distribuido.

  • CockroachDB por su SQL distribuido con consistencia serializable global.
  • Una capa de servicio que aísla la lógica de negocio de la persistencia.
  • Operaciones idempotentes: reintentar un pago tras un fallo no lo cobra dos veces.
Arquitectura — pulsa o enfoca cada bloque
Cliente Cliente API REST en Node.js API REST Node.js Capa de servicio Capa de servicio CockroachDB, 3 nodos distribuidos Nodo 1 Nodo 2 Nodo 3

CockroachDB mantiene el pago consistente aunque caiga un nodo. Pulsa o enfoca cada bloque para ver su rol.

Aprendí cómo funcionan la tolerancia a fallos y el consenso en bases de datos distribuidas.

tsunagi

SDK de datos de anime para Java: un único cliente unificado sobre AniList, TMDb y Jikan.

Java SDK AniList TMDb
Ver detalle Cerrar

Contexto. Cada fuente de datos de anime (AniList, TMDb, Jikan) tiene su propia API, su formato y sus rarezas.

Mi rol. Diseño del SDK y su API pública.

  • Un cliente unificado con un modelo de datos común a las tres fuentes.
  • Adaptadores por proveedor que ocultan las diferencias de cada API.
  • Una API fluida pensada para que quien la use no tenga que conocer las fuentes.

Aprendí a diseñar una librería y a abstraer proveedores detrás de una interfaz estable.

Anime Title Matcher

Matcher difuso multi-señal entre AniList y TMDb con algoritmos de similitud propios y scoring explicable.

Java Algoritmos Fuzzy matching
Ver detalle Cerrar

Contexto. Enlazar un anime de AniList con su entrada en TMDb cuando los títulos no coinciden exactamente (traducciones, romanizaciones, subtítulos).

Mi rol. Diseño del algoritmo de emparejamiento.

  • Similitud multi-señal: combina título, año y tipo con pesos.
  • Algoritmos de similitud de cadenas escritos a mano, sin librerías de matching.
  • Scoring explicable que justifica por qué cada match recibe su puntuación.

Aprendí matching difuso y a diseñar un score que una persona pueda interpretar.

Diésel Barato

PWA con los precios oficiales del diésel en Tenerife: la gasolinera más barata, también offline.

PWA JavaScript Datos oficiales
Ver detalle Cerrar

Contexto. Encontrar rápido la gasolinera de diésel más barata de Tenerife, también sin conexión.

Mi rol. Desarrollo completo de la PWA.

  • App instalable con caché offline para consultarla sin datos.
  • Precios oficiales del Ministerio como única fuente de verdad.
  • Orden por precio para responder a la pregunta real: ¿dónde lleno más barato?

Aprendí a construir una PWA con service workers y a consumir datos abiertos oficiales.

Formación

Prácticas profesionales · Fundación General ULL

Automatización del flujo de gestión de facturas del proyecto Canarias Convive. Backend con Google Apps Script, frontend con Next.js, validaciones automáticas y trazabilidad.

DAM · Desarrollo de Aplicaciones Multiplataforma

Aprendizaje en programación orientada a objetos, desarrollo backend, bases de datos y arquitectura de aplicaciones.

Nociones en Backend

Fundamentos de programación en Java, lógica de aplicaciones, estructuras de datos y primeros pasos en backend.

Abierto a colaborar en proyectos que busquen evolucionar, optimizar procesos y construir soluciones sólidas a largo plazo.

Estudiante de Desarrollo de Aplicaciones Multiplataforma en Tenerife. Interesado en backend, arquitectura de software y mejora continua de sistemas que aporten valor.