Available at short notice · Hamburg & remote
I get called when a project has gone sideways.
Freelance software engineer in Hamburg. Sometimes that means a stalled release, or a codebase nobody wants to open. Sometimes it is smaller — a team one experienced pair of hands short. Sometimes it is much larger: renewing a system the business runs on, without stopping it.

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 days
A look at the code
I read the codebase, the pipeline and the last few months of tickets, then write down what I found and what I would do about it. 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.
An extra senior on the team
You are one experienced developer short and hiring will take months. 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.
Getting unstuck
A two-week-old bug, a performance problem nobody can pin down, a migration that keeps failing. Often two or three days is the whole engagement.
A second opinion
A few days with the codebase and the process, and a written answer to the question you actually have: is this salvageable, is the rewrite justified, what would I do first.
Coaching and workshops
Leading and coaching development teams, running workshops, and sitting in on hiring so you are not guessing about candidates.
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.