Software Consultant
After 19 engagements at DACH enterprises — from BMW and Lufthansa to Douglas and Fielmann — I've learned that the bottleneck is rarely the technology. It's the architecture decisions, the practices, and how the team works together. I fix all three.
Bad architecture doesn't slow you down immediately — it slows you down six months later, when every change requires negotiating with the past. I design systems that stay fast to change as they grow, because velocity without architecture is just borrowed time.
Most delivery problems aren't technical. They're a standup that doesn't surface blockers, a retro where nothing changes, or a new hire left to figure it out alone. I fix the process friction that quietly kills sprint after sprint.
I use agents to handle what I already know and AI to learn what I don't — then I review and steer. The teams I work with learn to do the same: leverage AI for speed without losing the judgment that makes the output trustworthy.
TypeScript done well is a communication tool as much as a type system. Precise types catch bugs before they ship, make refactoring safe at scale, and let new team members read intent without asking. I've applied this across React, Next.js, .NET, WebRTC, and state-machine architectures.
Quality isn't what slows you down — the absence of it is. I've taken teams from deploying at 9pm out of fear to deploying any time with confidence, by introducing the right testing strategy, documentation habits, and resilience patterns for the actual codebase they have.
I run my own Kubernetes cluster in production — this site runs on it. In my current engagement I work daily with Kubernetes, Azure DevOps, Entra ID, MongoDB, Instana and Grafana across ~1,800 retail locations. Cloud native isn't a certification; it's knowing what breaks at 2am and why.
Trusted By
Most projects don't fail because of the technology. They fail because expectations weren't aligned, requirements stayed unclear, and nobody said so until it was expensive. The best technical work in the world doesn't matter if the team isn't communicating honestly.
My view of clean code has sharpened over two decades: it's not a checklist to enforce — it's a set of principles to understand deeply enough to break wisely. Velocity is the goal. Clean architecture is how you sustain it without accumulating a debt that eventually stops you from shipping at all.
I use AI to learn new things and let agents handle what I already know — freeing my attention for what actually needs judgment. The part that surprises most people: the clean code practices that went out of fashion are exactly what make AI collaboration effective. When you can read patterns across any stack and ask precise questions, you steer the agent rather than just prompt it. AI amplifies expertise. It doesn't substitute for it.
Clean code is not about purity. It's about understanding the rules well enough to break them for the right reasons — and building systems that stay honest under pressure, ship with confidence, and don't punish the next person.
Whether it's a legacy codebase, slow delivery cycles, or team dynamics that need a reset — let's talk about what's actually in the way.