Engineering
[Container: hands on the code]
Still writing code, rarely less than half my time. Tests that describe behaviour, CI that is allowed to say no.
Software Architect & Engineer
Shipped today, still changeable tomorrow.
20+ years of turning requirements into software that ships and keeps shipping. Boring tech, no quick & dirty. Kotlin and the JVM at heart.
buildit compiles? ship it!Four parts, each with its own job. And they talk to each other all the time.
[Container: hands on the code]
Still writing code, rarely less than half my time. Tests that describe behaviour, CI that is allowed to say no.
[Container: structure that survives change]
Hexagonal designs, event-driven systems, modernizing what runs and shaping what's new.
[Container: technical leadership]
I lead from inside the team as its architect, not from an org chart. The feedback I hear most: I'm good team glue.
[Container: you build it, you run it]
Cloud native and Kubernetes, observability built in: if I can't see it in production, it isn't done.
Christian Groth [Software System]
A slice of my side projects. Same cloud native ideas as at work, deliberately on a smaller stack: a handful of apps doesn't need Kubernetes. The rest lives on GitHub. Well, most of it.
[Container: Kotlin · Quarkus · Qute SSR · MongoDB]
[Container: Kotlin · Quarkus · Qute SSR · MongoDB]
[Component: Quarkus library · MongoDB]
The Transactional Outbox both apps rely on: no event lost on a crash, at-least-once delivery with deduplication, priorities and retries.
[Deployment Node: VPS · Docker Swarm · Traefik · Grafana Cloud]
One scripted VPS with Docker Swarm, Traefik and Grafana Cloud monitoring. A new app goes live with a single stack file.
The rules everything above is built with.
Every system has a history. Here's mine, semantically versioned.
Riffs and refactorings. Both need structure, both need feeling.
[External System: post rock]
Music has been running alongside the code for as long as I can remember. backdownscenario.de
[External System: half marathon]
Chasing a half marathon personal best, but just as happy with a short loop to switch off and breathe.