Max ist ein Data Engineer im Team für das Data Warehouse einer grossen Schweizer Versicherung. Jeden Tag kümmert er sich darum, wichtige Daten aus verschiedenen Quellen zu extrahieren, zu transformieren und für die Analyse bereitzustellen.
Doch je mehr Code Max und seine Kollegen schreiben, desto komplexer werden seine täglichen Aufgaben. Eines Morgens merkt Max, dass er für ein neues Projekt eine SQL-Abfrage benötigt, die er vor einigen Wochen erstellt hat.
Ein kurzer Blick in den Code zeigt ihm, dass er sich nicht erinnern kann, wo er diese Abfrage abgelegt hat. «Warum gibt es nicht einfach eine zentrale Stelle für solche Informationen?», murmelt er genervt.
Hinzu kommt, dass Max mehrere duplizierte SQL-Codes findet. Das kommt daher, dass mehrere Entwickler:innen ständig unabhängig voneinander ähnliche Abfragen schreiben, was den Code unübersichtlich macht und zu Fehlern führt.
Die Situation wird komplizierter, als Max versucht, seine Änderungen nachzuvollziehen. Ohne Versionskontrolle kann er frühere Versionen nicht vergleichen. Bei einem letzten Deployment hat ein Kollege versehentlich einen Fehler eingebaut.
Max denkt an die mühselige Zeit, die er mit der Überprüfung der Daten verbracht hat – eine systematische Methode, um neue Daten und Code zu testen, hat Max’ Team bisher nicht gefunden.
Die Zusammenarbeit mit seinem Team gestaltet sich ebenfalls schwierig. Jeder hat seinen eigenen Ansatz, und die Dokumentation ist oft lückenhaft.
«Ich wünschte, ich könnte einfach nachschlagen, wie die anderen das machen», denkt Max frustriert, während er versucht, den Code eines Kollegen zu verstehen.
Als er schliesslich versucht, die Abhängigkeiten zwischen den verschiedenen Modulen nachzuvollziehen, wird ihm klar: «Das ist alles zu kompliziert!» Er erkennt, dass es an der Zeit ist, über den Tellerrand hinauszusehen.
Von seinem Kollegen Fredi, der als Software Engineer in einer anderen Abteilung arbeitet, hört er nie von derartigen Problemen.