Working With Me
Freelance Senior Java Architect, available from January 2027. Legacy modernization and cloud migration for Java and Kotlin platforms, remote first, on-site in NRW when it helps.
Most of the work I get called in for starts the same way. There is a system that has been running for years, it still carries real business, and it is now in the way of something the company wants to do next. A rewrite has been discussed and, if it has been attempted, it has slipped.
That is the situation I am useful in.
What I take on
Legacy modernization
Putting a service layer in front of a system that cannot be replaced on your schedule, so new work stops having to speak the old system’s dialect. Strangler fig rather than big bang, with the legacy system still doing its job underneath while consumers move across one at a time. I have done this in logistics and in energy metering, including SAP integration over OData and SOAP, and work orders arriving from a platform nobody was going to rewrite.
Cloud migration
Moving applications from on-premise to Azure or AWS, and container platforms to Kubernetes. I have migrated a service landscape from Docker Swarm to Kubernetes and moved on-premise applications to Azure, and I run a self-hosted Kubernetes cluster for my own product, which means I have paid for the operational side as well as designed it.
Interim architect on a Java or Kotlin platform
Sitting in an existing team as the person who decides how the pieces fit and writes code while doing it. Event sourcing, CQRS, domain-driven design with the boundaries enforced by the build rather than by review, contract-first APIs, and a delivery pipeline that gates on something.
Architecture review
A short, scoped engagement that ends in a written assessment rather than a project. Useful when the decision on the table is migrate or rewrite, and the honest answer needs someone who has no stake in either.
How it works
Remote first. The work is backend architecture and code, and it does not need a desk in your building.
On-site when it earns its keep. Kick-off, workshops, the weeks where a team needs someone in the room. Within NRW that is easy. Further away works too if the rhythm is roughly monthly rather than weekly, since a day of travel for a day of work is a reasonable trade and four days a week of it is not.
Contract format. Direct or through an agency, both fine. Full-time or alongside an existing team, depending on what the project actually needs.
Day rate on request. It depends on scope, length and how much of the delivery risk sits with me.
What I bring
Java and Kotlin on Spring Boot, with Micronaut and GraalVM where startup time matters. PostgreSQL as more than a place to put rows, including event stores and read-model projections. Kubernetes on Azure and AWS, Terraform, GitLab CI and ArgoCD. Testing that goes past unit tests, with Testcontainers and a BDD layer that product people can read.
I also use Claude Code with custom agent skills as part of daily delivery, for review support, test generation and repetitive refactoring. Every change still gets read by a human before it merges, which is the only version of this that survives contact with a code review.
Fifteen years of backend work, in logistics, energy, e-commerce and fintech. Since 2020 I have also been a co-founder of my own product company, which is where I learned what an architecture decision costs when the bill lands on your own desk.
Getting in touch
I am available for freelance projects from January 2027. If you have something coming up, send me an email with roughly what the system is and what is in the way. That is enough for me to tell you whether I am the right person, which is sometimes no.