Distributed Backend Platform
A large Java microservice platform on Azure and Kubernetes. I own its technical concept and architecture, and made it faster on the same infrastructure: from 8,000 to 10,500 requests a minute, and up to 60% less latency on critical paths.
- Role
- Senior Java Software Engineer, since 2024 Senior Software Engineer
- Since
- March 2019
- Where
- Dresden on-site, now hybrid from Berlin
- Mentoring
- More than 10 engineers over the years
Context
In 2019 SMS GmbH moved me to Dresden to work on a large distributed backend: Java microservices on Azure and Kubernetes, RabbitMQ for messaging, PostgreSQL and Redis for data. I started by building and maintaining services and grew into the person who decides how they fit together. Since 2024 I own the platform’s technical concept and architecture direction, from first design through production operation.
The client, the industry and the business numbers are under NDA, so this page sticks to the engineering.
Problem
Traffic spikes were breaking components. The async processing layer handled around 8,000 requests a minute, and the slowest request paths were exactly the ones that fell over under load spikes.
At the same time the platform kept growing, and on-call needed to see a degrading service before customers felt it.
Constraints
- Same infrastructure. The gains had to come from the code, not from more machines.
- Evidence before shipping. Every change had to hold up under the same load that broke the old version.
- Not allowed to go down. Every change lands on a live system that people depend on.
- A platform that keeps growing. Services had to stay independently deployable as it grew.
What I did
- Measured first. Profiled the hot paths on the JVM (Java 21, Spring Boot 3) and rebuilt the traffic spikes in Gatling and JMeter, so every fix started from evidence, not assumptions.
- Reworked the async processing layer with Java 21 virtual threads and Spring WebFlux.
- Rebuilt the critical data paths: redesigned indexes and rewrote the paths that fell over under load spikes.
- Built the team’s observability: Grafana dashboards, Prometheus metrics and alerting across the distributed backend.
- Kept it maintainable: Domain-Driven Design and Clean Architecture for the service boundaries, and the team’s code-review and testing standard on JUnit, Testcontainers and SonarQube.
- Brought the team along: mentored more than 10 engineers through code review, pairing and 1-on-1s, and wrote down the architectural trade-offs behind our decisions so they didn’t get lost when people moved on.
Result
requests a minute, up from 8,000, on the same infrastructure
up to 60% lower latency on critical paths
more throughput without extra infrastructure
And on-call now sees a degrading service before customers feel it.
Stack
- Java 21
- Spring Boot 3
- Spring WebFlux
- RabbitMQ
- PostgreSQL
- Redis
- Kubernetes
- Azure
- Docker
- Jenkins
- Grafana
- Prometheus
- Gatling
- JMeter
- JUnit
- Testcontainers
- SonarQube
Building software that has to work.
Open to senior backend roles in Berlin, hybrid or remote. Just as happy to talk distributed systems with no job attached.