Senior Software Engineer | Distributed Systems · Data Platforms · Streaming

David
Barreiro Salgueiro

Senior Software Engineer with hands-on experience designing and building scalable platforms, distributed systems and real-time data solutions. My background combines backend engineering, data infrastructure and cloud-native platforms. I have worked with Java, Go, Kafka, Spark(Python), ClickHouse, Kubernetes, Docker and modern CI/CD environments, delivering reliable systems for demanding workloads. I enjoy simplifying complex problems, improving performance and building practical solutions that scale. Core areas include backend engineering with Go and Java, distributed systems, Kafka-based streaming architectures, cloud-native platforms, APIs, microservices and DevOps automation.

Capabilities

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

Reusable Go authentication module designed for production-ready backends. It supports configurable authentication strategies (cookie-based sessions or JWT access + refresh tokens), role and permission checks (RBAC), OAuth login providers (GitHub / Google), password reset flows, rate limiting at auth endpoints, and security-oriented audit logs. The objective is to provide a drop-in foundation for secure auth without reimplementing the same patterns in every service.

GoJWT + CookiesOAuthRBACAudit Logs

Concurrent Worker Runtime

Concurrent processing runtime for asynchronous jobs in Go. It includes dynamic worker pools, exponential retries with jitter, backpressure management, dead-letter queue (DLQ), graceful shutdown, and context cancellation propagation. The focus is reliability under load and predictable behavior during failure scenarios, with clear observability hooks for monitoring throughput, retries, and queue health.

ConcurrencyRetriesBackpressureDLQGraceful Shutdown

Go Microservice Suite (gRPC + REST)

Reference microservice system composed of User Service, Notification Service, and a mock Billing Service. Internal communication uses gRPC contracts with protobuf, while an external REST gateway exposes public endpoints. It includes timeout and retry policies, transport-level error handling, and service boundaries oriented to real-world distributed systems. Built to demonstrate practical service decomposition and robust inter-service communication.

gRPCREST GatewayProtobuf

Event Analytics Pipeline

Event-driven analytics architecture covering event ingestion, data modeling, ETL transformations, metric generation, and analytical serving layers. Implemented with Go and analytical/storage combinations such as DuckDB, ClickHouse, and PostgreSQL. The goal is to provide a pragmatic blueprint for near real-time analytics with clear separation between ingestion, processing, and consumption concerns.

Event-DrivenETLGoClickHousePostgreSQL

observekit

Observability demo stack for modern backend systems. It integrates OpenTelemetry instrumentation, distributed tracing, Prometheus metrics, Grafana dashboards, centralized logs, SLO-oriented views, and Superset analytics boards for exploratory analysis. The project is focused on making system behavior observable end-to-end: from request-level traces to service KPIs, alerting, and product-level analytical insights.

OpenTelemetryTracingPrometheusGrafanaSuperset

CLI Suite

Professional Go CLI toolkit designed as a multi-command platform for operational and engineering workflows. Planned commands include Data Quality CLI, API Audit CLI, Benchmark CLI, Migration CLI, and Kubernetes helper utilities. The suite emphasizes robust UX, strong error handling, testability, and repeatable automation for day-to-day engineering tasks.

GoAutomationBenchmarkingOpenSpecTesting

CLI Games Collection

Progressive terminal game collection used as a technical playground for architecture and algorithmic practice. The roadmap advances from grid-based games (Snake, Sokoban) to physics and action loops (Flappy, Breakout, Space Invaders), and then to more complex systems (Pac-Man style AI, Asteroids movement, platformers, Tetris). It is intentionally structured to improve game loops, input handling, collision systems, and reusable engine patterns.

Game LoopsCollision SystemsTerminal UIAlgorithmsArchitecture

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