Meet5 ist eine App zum Organisieren und Teilnehmen an Gruppenaktivitäten, um neue Menschen kennenzulernen und offline Freundschaften zu schließen. Das Unternehmen wurde 2017 gegründet und hat derzeit über 2 Millionen Nutzer, hauptsächlich in Deutschland, den Benelux-Ländern und Frankreich.
Ich bin dort als Senior Backend Engineer in einem kleinen Team von 4 Personen beschäftigt.
Gemeinsam mit einem ehemaligem und neuen Kollegen von Komoot haben wir im ersten Monat eine ganze Reihe von Verbesserungen umgesetzt:
- Die nicht verwendete Suite aus Unit Tests wieder zum Laufen gebracht.
- Wir haben es ermöglicht, staging-Deployments zu nutzen, die nicht die Produktionsdatenbank verwendet.
- Eine CI-Pipeline eingerichtet, um das backend auf AppEngine zu deployen.
- Eine bestehende, sonst manuell ausgeführte, Reihe von API-Tests in die Pipeline integriert.
- Das Gitflow-ähnliche git setup durch einen trunk-basierten Entwicklungsstil ersetzt – mit automatischem Deployment vom
mainbranch.
Nach diesem grundlegenden Setup haben wir begonnen, größere Refactorings in jede Feature-Entwicklung einzubauen. Logik wurde aus den Servlets herausgelöst und in testbare Services verschoben – begleitet von neuen Unit Tests.
Parallel haben wir an längerfristigen Initiativen gearbeitet, um zukünftige Verbesserungen vorzubereiten:
- Bessere Observability, Monitoring und Alerting
- Einen Plan um von der schwer testbaren Codebasis zu einer modernen Architektur zu kommen, inklusive einer Migration weg von AppEngine
Auf Basis dieser Pläne sind weitere Verbesserungen hinzugekommen:
- Einführung von Logging im gesamten Code (anstelle der zahlreichen println-Logs)
- OpenTelemetry-basiertes Tracing für große Teile der Anwendung
- Monitore und Alerts zur Überwachung der Endpoint-Gesundheit hinzugefügt