Ingeniero de Software Senior | Sistemas Distribuidos - Plataformas de Datos - Streaming

David
Barreiro Salgueiro

Ingeniero de Software Senior con experiencia práctica en el diseño y construcción de plataformas escalables, sistemas distribuidos y soluciones de datos en tiempo real. Mi trayectoria combina ingeniería backend, infraestructura de datos y plataformas dieñadas para la nube. He trabajado con Java, Go, Kafka, Spark (Python), ClickHouse, Kubernetes, Docker y entornos modernos de CI/CD, entregando sistemas fiables para cargas exigentes. Disfruto simplificando problemas complejos, mejorando rendimiento y construyendo soluciones prácticas que escalan. Áreas principales: ingeniería backend con Go y Java, sistemas distribuidos, arquitecturas de streaming basadas en Kafka, plataformas para la nube, APIs, microservicios y automatización DevOps.

Capacidades

Backend

Hexagonal · DDD · Event-Driven

Domain-centric design, decoupled architectures and scalable distributed systems focused on long-term maintainability.

Data

Batch & Stream · High Throughput · Scalability

Robust data pipelines capable of handling massive volumes, ensuring low latency and seamless scaling for complex workloads.

Platform

High Availability · Automation · Observability

Building resilient infrastructure, streamlining operations and providing deep insights into system performance.

Portfolio

Personal projects & technical work

go-auth-kit

Módulo reutilizable de autenticación en Go, pensado para backends productivos. Soporta estrategias configurables (sesiones con cookies o JWT access + refresh), validación de roles y permisos (RBAC), proveedores OAuth (GitHub / Google), recuperación de contraseña, rate limiting en endpoints de autenticación y auditoría orientada a seguridad. El objetivo es ofrecer una base segura y plug-and-play sin reimplementar patrones en cada servicio.

GoJWT + CookiesOAuthRBACAudit Logs

Concurrent Worker Runtime

Runtime concurrente para procesamiento asíncrono de trabajos en Go. Incluye pools dinámicos de trabajadores, reintentos exponenciales con jitter, gestión de la saturación, colas de entregas fallidas (DLQ), apagado controlado y propagación de cancelación por contexto. El enfoque es fiabilidad bajo carga y comportamiento predecible ante fallos, con observabilidad clara de velocidad, reintentos y salud de colas.

ConcurrenciaReintentosBackpressureDLQApagado Controlado

Go Microservice Suite (gRPC + REST)

Sistema de microservicios de referencia compuesto por User Service, Notification Service y un Billing Service simulado. La comunicación interna usa contratos gRPC con protobuf, mientras una pasarela REST expone endpoints públicos. Incluye políticas de timeout y reintentos, manejo de errores de transporte y límites de servicio realistas para entornos distribuidos.

gRPCPasarela RESTProtobuf

Proceso de analítico de eventos

Arquitectura orientada a eventos que cubre ingesta, modelado, transformaciones ETL, generación de métricas y capas de servicio analítico. Implementada con Go y combinaciones de almacenamiento/analítica como DuckDB, ClickHouse y PostgreSQL. Su objetivo es servir como blueprint pragmático para analítica near real-time con separación clara entre ingesta, procesamiento y consumo.

Arquitectura Event-DrivenETLGoClickHousePostgreSQL

observekit

Stack demostrativo de observabilidad para sistemas backend modernos. Integra instrumentación OpenTelemetry, trazas distribuidas, métricas con Prometheus, cuadros de mando en Grafana, logs centralizados, vistas orientadas a SLO y paneles analíticos en Superset. Está orientado a observar el comportamiento end-to-end del sistema: desde trazas por petición hasta KPIs de servicio y producto.

OpenTelemetryTrazasPrometheusGrafanaSuperset

CLI Suite

Toolkit profesional de CLI en Go, diseñado como plataforma multi-comando para flujos operativos y de ingeniería. Incluye comandos previstos como Data Quality CLI, API Audit CLI, Benchmark CLI, Migration CLI y utilidades para Kubernetes. La suite prioriza UX robusta, manejo sólido de errores, testabilidad y automatización repetible.

GoAutomatizaciónBenchmarksOpenSpecTesting

CLI Games Collection

Colección progresiva de juegos de terminal usada como laboratorio técnico de arquitectura y algoritmia. La hoja de ruta evoluciona desde juegos de rejilla (Snake, Sokoban) hasta bucles de acción/física (Flappy, Breakout, Space Invaders) y sistemas más complejos (IA estilo Pac-Man, movimiento estilo Asteroids, plataformas y Tetris). Enfocado en mejorar game loops, input handling, colisiones y patrones de motor reutilizables.

Bucles de JuegoSistemas de ColisionesTerminal UIAlgoritmosArquitectura

System Design

How I design data platforms

Timeline

Professional experience

Skills

Stack technology

Tip: select a category to view its keywords.

Contact

Let's build something with data

Available for data engineering, streaming platforms and software architecture.

david.barreiro@outlook.es