Ein alter Entwicklerwitz

"A day of debugging saves you from five minutes of reading the documentation." - ein Witz, der in der Softwareentwicklung kursiert. Klingt übertrieben, trifft es aber oft ziemlich gut.

Warum passiert das eigentlich? Aus meiner Erfahrung nach über 15 Jahren in verschiedenen Teams und Projekten gibt es zwei Hauptgründe.

Wir probieren gerne selbst aus

Der erste ist ehrlich gesagt sympathisch: Wir probieren gerne selbst aus. Es gibt eine gewisse Befriedigung darin, eine Lösung auf eigene Faust zu finden. Das gehört zum Handwerk dazu.

Der zweite Grund ist der interessantere: Wir wissen schlicht nicht, dass das Framework oder die Sprache das Problem schon gelöst hat. Nicht weil wir faul wären, sondern weil man nicht sucht, was man nicht kennt.

Ein Beispiel aus JavaScript und Angular

Ein konkretes Beispiel aus dem JavaScript-Alltag: Jemand soll prüfen, ob ein String eine gültige URL ist, und ob die Domain auf einer Blacklist steht. Die erste Reaktion der meisten? Irgendein RegEx-Konstrukt zusammenbauen, den String manuell aufteilen, Domain extrahieren, vergleichen.

Dabei gibt es in JavaScript die URL-Klasse, die das alles bereits eingebaut hat. Keine Eigenentwicklung, keine fragile Regex-Logik.

Im Angular-Umfeld war das für mich damals CanDeactivate: ein Guard, der abfängt, wenn jemand eine Seite verlassen will, obwohl noch ungespeicherte Eingaben vorhanden sind. Kaum bekannt, aber in der Praxis sehr wertvoll.

Oder der ErrorHandler, der zentral alle HTTP-Fehler abfängt, statt dass jeder einzelne API-Call seinen eigenen try-catch-Block braucht.

Dasselbe Muster in DevOps und Cloud

Dasselbe Muster zieht sich übrigens durch die gesamte technische Arbeit, nicht nur im Code. Auch im DevOps- und Cloud-Umfeld passiert genau das: Man baut etwas selbst, weil man nicht weiß, dass es das schon fertig gibt.

CI/CD-Pipelines, die manuell zusammengeschustert werden, obwohl der Cloud Provider eine fertige Lösung mitbringt. Monitoring-Skripte, die jemand selbst schreibt, obwohl es einen Managed Service dafür gibt. Terraform-Module, die von Grund auf neu entstehen, obwohl die offizielle Registry längst etwas Passendes bereithält.

Der Aufwand, der dabei entsteht, ist nicht nur einmalig. Selbst gebaute Lösungen müssen gewartet, abgesichert und bei Updates angepasst werden. Das summiert sich.

Dokumentation überfliegen reicht oft

Was ich daraus mitgenommen habe und heute noch anwende: Man muss die Dokumentation nicht von vorne bis hinten lesen. Aber die Hauptbereiche einmal zu überfliegen, reicht oft schon.

Ein paar Keywords bleiben hängen, und beim nächsten passenden Problem kommt der Gedanke: "Warte, das gibt es doch schon irgendwo."

Habt ihr ein Beispiel, wo euch das Überfliegen der Docs mal wirklich viel Zeit gespart hat?