DENIS CASIAN BALOSIN SOFTWARE ENGINEER · ING SPAIN

I build systems that
don't fail in production.

Software Engineer at ING Spain shipping full-stack in the SWIFT Payments tribe — microservices, event-driven architecture, and front-end. Scrum Master for a cross-functional squad managing end-to-end international payment flows. On the side: building my own products.

0k+ Peak concurrent users
100ms Downtime in live migrations
0+ Years in critical systems
SWIFT Full payments tribe scope

High-stakes systems,
real consequences.

The places where your code either works, or costs someone millions.

ING Spain · Software Engineer & Scrum Master — SWIFT Payments Tribe
Tier-1 Banking

Full-Stack Engineering in International Payments & Scrum Leadership

Working across the full stack within ING Spain's SWIFT Payments tribe — designing and shipping backend services and front-end interfaces for international money transfer flows. Serving as Scrum Master for a cross-functional squad responsible for the end-to-end lifecycle of SWIFT payment processing.

SWIFT payments scope — Engineering across the complete international payment flow: message routing, transformation, validation, and settlement under SWIFT standards (MT & MX) in a live, regulated Tier-1 banking environment.
Zero-downtime legacy modernisation — Contributed to migrating critical banking components from legacy monolithic systems to event-driven microservices with no transaction loss under strict PCI-DSS and SLA constraints.
Scrum Master — Facilitating sprints, removing blockers, aligning engineering delivery with business priorities, and fostering ownership across a cross-functional banking squad.
Observability & quality — Working with Prometheus, Grafana, and ELK stack for telemetry on payment flows. Testing culture enforced through JUnit, WireMock, and contract testing in a regulated CI/CD pipeline.
Java 21 Spring Boot Apache Kafka SWIFT MT/MX ISO 20022 Oracle DB Kubernetes / OpenShift Azure DevOps Prometheus / Grafana ELK Stack Hexagonal Architecture Scrum / SAFe
Palco4 · Systems Engineer — High-Concurrency Infrastructure
Peak Traffic

Virtual Queue Engine for 200,000+ Simultaneous Users

Built and optimized the ticketing queue system handling flash-sale traffic spikes for major events in Spain. The engineering challenge: absorbing sudden, massive request surges without losing a single transaction or degrading under load.

200k+ concurrent users — Designed distributed queueing with Redis-backed locks preventing race conditions and duplicate ticket allocations at peak load.
Revenue protection — Sub-100ms API response times maintained throughout surge windows; zero transaction integrity failures during highest-demand events.
Java / Spring Boot Redis PostgreSQL Docker Distributed Locks Event-Driven Architecture
Government & Regulated Integrations · Lead Backend Engineer
Compliance

FEB Accreditation Platform · ICAA Integration · Electronic Invoicing (DR & Argentina)

Delivered mission-critical integrations across regulated domains: official sports accreditation for the Spanish Basketball Federation, government agency synchronization with ICAA, and automated e-invoicing engines compliant with Dominican Republic and Argentine tax law — all in production, all legally binding.

Spring Boot REST APIs E2E Encryption OWASP Security Regulatory Compliance

FuelFlow

Real-time fuel price comparison across Spain & France. Built end-to-end — backend, frontend, infra, and a Telegram bot.

Live in production
Open app ↗
STACK Java 21 / Spring Boot 3.4 / Next.js 16 + React 19 / MapLibre GL / Redis / PostgreSQL + Flyway / Docker

The Problem

Existing public fuel price portals for Spain and France are slow, ad-saturated, and mobile-hostile. Official government APIs exist but require normalization, caching strategy, and a geo layer to be usable.

The engineering challenge: serve 11,000+ stations across two countries under concurrent user load, with graceful degradation when upstream government APIs fail — without blocking the UI.

Architecture Decisions

Viewport-based loading

No global data dump on load. The backend resolves which regions fall within the map viewport and loads only those — bounded by a thread pool with Redis locks to prevent concurrent duplicate warming.

Redis resilience

Primary cache + 7-day backup per region. If the upstream API fails mid-load, the backend serves stale backup data. Failure cooldowns prevent hammering broken endpoints.

Frontend

Next.js 16 + React 19 with next-intl for ES/EN/FR. MapLibre GL for vector tile rendering. Supercluster for client-side marker clustering at scale. Zustand for UI state, Framer Motion for micro-interactions. Playwright E2E tests for map and search flows.

Trade-offs Made

MapLibre GL over Leaflet

Vector tiles + WebGL rendering gives smooth 60fps pan/zoom at any density. Leaflet SVG DOM couldn't handle 11k+ markers on mobile without degrading. MapLibre was the right tool.

Multi-country via factory pattern

Each country (ES, FR, DE in progress) has its own service implementation behind a FuelServiceFactory. Different governments, different APIs, different geo sources — abstracted cleanly.

Metrics that matter
2+ countries live
<50ms viewport API p99
ViewportResolver.java
@Service
public class ViewportResolver {

    public ViewportResult resolve(Viewport vp, String country, String fuel) {
        List<String> regions = regionMapper.intersecting(vp, country);
        List<String> missing  = cacheService.filterUncached(regions);

        if (!missing.isEmpty()) {
            executor.scheduleBounded(missing, country);  // bounded thread pool + Redis lock
        }

        List<StandardStation> stations = cacheService.getOrBackup(regions, fuel);
        boolean complete = missing.isEmpty();

        return new ViewportResult(stations, regions, missing, complete);
    }
}

How I think,
not just what I build.

01

Clean Architecture & Separation of Concerns

Domain logic lives inside the domain. Infrastructure is a plugin. I've seen what happens when business rules leak into frameworks — you can't test it, can't change it, can't survive a dependency upgrade.

02

Data Over Opinion

I don't guess at performance issues. I instrument, measure, and trace. p99 latency, error rates, queue depth — the data tells you where to invest. Everything else is cargo-culting.

03

Technical Leadership as Unblocking

Being a tech lead isn't about being the smartest engineer in the room. It's about creating an environment where everyone ships faster, decisions are reversible, and the team is never blocked waiting for a review.

04

AI as a Force Multiplier

I use LLMs, agent pipelines, and AI-assisted tooling to go faster — not to replace engineering judgment. The critical thinking, the architecture decisions, the trade-offs? That's still a human job.

BACKEND

  • Java 21Primary language — banking services & independent products
  • Spring Boot 3.xMicroservices, REST APIs, data JPA, validation, actuator
  • Apache KafkaEvent-driven payment pipelines at ING
  • RedisDistributed locks, primary + backup caching strategy
  • PostgreSQL / OracleTransactional data — products & banking respectively
  • FlywaySchema versioning and migration management
  • Node.jsHigh-concurrency queue systems (Palco)

FRONTEND

  • React 19 / Next.js 16SSR, App Router, i18n with next-intl
  • TypeScriptType-safe APIs, strict mode, shared models
  • MapLibre GLWebGL vector tile maps — smooth at 11k+ markers
  • SuperclusterClient-side geospatial marker clustering
  • Zustand / Framer MotionUI state management, micro-animations
  • Tailwind CSS v4Utility-first styling in product UIs
  • PlaywrightE2E testing of map and search flows

INFRA & PRACTICES

  • Kubernetes / OpenShiftContainer orchestration — ING regulated environments
  • DockerImage builds, VPS deployments via Compose
  • Azure DevOpsCI/CD pipelines at ING Spain
  • Prometheus / Grafana / ELKObservability — metrics, traces, logs
  • SWIFT MT/MX · ISO 20022International wire transfer standards
  • Hexagonal ArchitectureDomain isolation, testability, clean boundaries
  • JUnit / WireMockUnit, integration & contract testing
Copied to clipboard