Senior Backend & Platform Engineer
Kundenprojekte parallel zum Aufbau und Betrieb einer produktiven Kubernetes-Plattform end-to-end: Deploy-Pfad, Observability, Vorfälle und Rufbereitschaft. Nach drei Jahren in einem On-Premise-Haus ist das die operative Hälfte, die die meisten Backend-Rollen nie abgeben, und genau die bringe ich in ein Team ein.
- Kundenprojekt, Dance Fusion Aachen: die Event-Plattformen für den Bachata Sensual Congress Germany 2025 und 2026 gebaut und ausgeliefert.
- Baute die Internal Developer Platform, über die jeder Service ausgeliefert wird, den ich betreibe: ein gemeinsames Helm-Chart und ein ArgoCD-GitOps-Flow, der einen neuen Service ohne handgeschriebene Infrastruktur vom Repository in den Produktivbetrieb bringt, über 8 Linux-Hosts bei Hetzner, mit Terraform provisioniert, einer privaten Registry und DNS-01-Zertifikaten.
- CI/CD auf GitHub Actions prüft jeden Push mit Typecheck, Linting und einer Gradle-Testsuite (JUnit 5 und Testcontainers gegen echtes Postgres, Konsist-Architekturtests sichern die hexagonalen Grenzen, Vitest und Playwright im Frontend), bevor ein Docker-Image gebaut wird. Mehrfach pro Woche ausgeliefert, Rollback per Revert des Commits.
- Baute die Observability darunter (Prometheus, Grafana, Loki, Alertmanager) und tunte sie gegen echte Fehlalarme, etwa Replikationsverzögerung, die von Zeitstempeln auf WAL-Byte-Distanz umgestellt werden musste, weil der Zeitstempelwert auf einem unbeschäftigten Cluster endlos stieg.
- Fand einen 13 Tage unbemerkten Ausfall der TLS-Erneuerung mit 17 Tagen Restlaufzeit und diagnostizierte dann, warum nichts alarmiert hatte: CDN-terminiertes TLS machte die Prüfungen strukturell blind, sie meldeten 75 Tage, während der Origin 17 hatte. Zertifikatswahrheit auf einen Collector am Origin verlegt.
- Baute und betreibt DanceClub (danceclub.app), eine Event-Plattform im Produktivbetrieb über 15 lokalisierte Märkte: Kotlin und Spring Boot über 10 isolierte PostgreSQL-Schemata mit je eigenem Migrationsstrang, PostGIS-Geosuche für Viewport- und Umkreisabfragen, Kafka für ereignisgetriebene Kommunikation und vier Next.js-Frontends.
- Baute elvix (elvix.is), den OIDC-Identitätsdienst, über den sich jede Anwendung dieser Plattform authentifiziert: passwortlose Anmeldung mit E-Mail-OTP, Google, GitHub und WebAuthn-Passkeys, RS256-JWTs mit JWKS-Endpunkt, damit Resource Server lokal verifizieren, OAuth 2.0 Device Grant für CLI-Logins, Rollen und Scopes je Anwendung, Rate Limiting und HMAC-signierte Webhooks. TypeScript auf Prisma und PostgreSQL, SDK auf öffentlichem npm.
- Baute PulseAI (pulseai.run), eine selbst gehostete Workflow-Automatisierungs-Engine in der Art von n8n: mehrstufige Pipelines mit bedingter Verzweigung, Retries und nachvollziehbaren Fehlern, die die Automatisierung dieser Plattform antreibt.
- Optimierte die Datenschicht auf die tatsächlich laufenden Zugriffsmuster: PostGIS-GIST-Indizes für Viewport- und Umkreissuche, partielle und Sortier-Indizes über 70+ Flyway-Migrationen, und Connection-Pool-Größen am Limit des Servers gerechnet statt je Service kopiert, was verhindert, dass eine Service-Flotte 110 Verbindungen zu einer Datenbank öffnet, die 100 annimmt.
