Available at short notice · Hamburg & remote
I get called when a project has gone sideways.
I make it safe to change again. Usually a stalled release, or a system the business runs on that has grown too tangled to touch. I work on it a piece at a time, while it keeps running.

You might need me if…
- The release date has moved twice and nobody can say why.
- Deploys are manual, rare, and a little bit frightening.
- There is a part of the codebase nobody wants to open.
- Nobody can say what else depends on it, so nothing gets changed.
- The developer who knew how it all worked has left.
- The team is good. It is simply one experienced pair of hands short.
- One problem has held up everything else for two weeks.
- You need to replace a system the business runs on, and it cannot stop while you do.
How it starts
- this week
A call
Thirty minutes. You describe the situation, I tell you honestly whether I am the right person for it, and what I would look at first either way.
- first two weeks
A written assessment
I read the codebase, the pipeline and the last few months of tickets, then write down what I found, what I would do about it and in what order. Two weeks at the outside, usually less, and in language you can forward to someone who does not write code.
- from there
Hands on the work
Two days to get you unstuck, or two years replacing a system that cannot stop. Remote, or in Hamburg when it genuinely helps.
What I do
Renewing a system that cannot stop
Replacing it piece by piece, or repairing what is already there. Usually both. The old system keeps running and the business keeps getting new features throughout. The two share data so nothing downstream notices, every integration with the systems around it keeps working, and what comes out is kept current rather than becoming the next thing nobody wants to touch.
Rescue and refactor
Stalled releases, legacy applications, and the module nobody wants to open. Tests around it first, then change it in daylight until it is boring again. Sometimes it is one thing rather than all of it: a two-week-old bug, a performance problem nobody can pin down, a migration that keeps failing. Then two or three days is the whole engagement.
An extra senior on the team
You are one experienced developer short and hiring will take months. Two days a week or five, for as long as that takes. I take tickets like everyone else, review the code other people write, and answer the questions that have been piling up.
Architecture and greenfield
Starting properly: application architecture, event sourcing and CQRS where they earn their keep, Docker, pipelines and workflows. DDD and TDD, and code somebody else can read. Sometimes on an empty field; more often beside the system it will replace, which is the harder brief.
A hand with the team
Leading and coaching teams, reviewing how the work gets planned as well as how it gets written, running workshops, and sitting in on hiring so you are not guessing about candidates. Usually alongside the code work rather than instead of it.
Tools of the trade
PHP and frameworks
How I build
How I ship
Data and infrastructure
Front end
Keeping it honest

A bit about me
I have been writing web applications since 2005, most of that in PHP, and I have been based in Hamburg for years now. Some of the work is greenfield: architecture, pipelines, doing it properly from the start. Rather more of it is the other kind: arriving at a system nobody enjoys touching, and making it boring again. Right now that is a fifteen-year-old application I have spent two years renewing a piece at a time, while it carries on running.
I work mostly remote, with clients almost all in Germany, and I come on site when it genuinely helps. When I am not behind a keyboard I am with my family, travelling, or training for a triathlon.
Tell me what you are dealing with.
Thirty minutes, no charge and no pitch. If I am not the right person for it, I will usually know who is.
Or write instead. A few paragraphs is plenty.