Hinweis zu Affiliate-Links: Alle Produkte werden von der Redaktion unabhängig ausgewählt. Im Falle eines Kaufs des Produkts nach Klick auf den Link erhalten wir ggf. eine Provision.

Skills-Kolumne / Kathrin Passig und Anne Schüssler über die Zerstörungswut der Coder

von Kathrin Passig
Programmierer sind wie Architekten: Sie renovieren nur ungern, was andere gebaut haben. Lieber machen sie alles neu. Nur oft schlimmer.

Einer der schönsten Momente der Schulzeit: Man schreibt zu Anfang des Schuljahrs zum ersten Mal in ein neues Heft. Alle Seiten noch unbekritzelt, keine Fehler durchgestrichen, keine halb gemachten Hausaufgaben. Dafür die Chance, dieses Mal alles richtig zu machen. Alles, aber auch alles wird in diesem Heft ordentlich sein, bis zur letzten Seite. Natürlich ist das nur eine Illusion, deren Scheitern — solange man sie auf Schulhefte anwendet — keinen Schaden anrichtet.

Nicht so beim Programmieren. Die Verlockung ist dieselbe: Der alte Code scheint abgeschmackt und unrettbar verworren, außerdem nicht mehr modern genug, da haben schon zu viele Hände dran rumgepfuscht, das bringt nichts mehr, das muss neu. Im Unterschied zum richtigen Leben ist es beim Programmieren tatsächlich eine Option, noch mal komplett von vorne anzufangen.

Einer der schönsten Momente der Schulzeit: Man schreibt zu Anfang des Schuljahrs zum ersten Mal in ein neues Heft. Alle Seiten noch unbekritzelt, keine Fehler durchgestrichen, keine halb gemachten Hausaufgaben. Dafür die Chance, dieses Mal alles richtig zu machen. Alles, aber auch alles wird in diesem Heft ordentlich sein, bis zur letzten Seite. Natürlich ist das nur eine Illusion, deren Scheitern — solange man sie auf Schulhefte anwendet — keinen Schaden anrichtet.

Nicht so beim Programmieren. Die Verlockung ist dieselbe: Der alte Code scheint abgeschmackt und unrettbar verworren, außerdem nicht mehr modern genug, da haben schon zu viele Hände dran rumgepfuscht, das bringt nichts mehr, das muss neu. Im Unterschied zum richtigen Leben ist es beim Programmieren tatsächlich eine Option, noch mal komplett von vorne anzufangen.

WIRED MEMBERSHIP

Du willst mehr? Dann werde WIRED Member.

Jetzt anmelden


Man muss den Job nicht aufgeben, die Beziehung nicht beenden. Man braucht auch keine Zeitmaschine, um sich zehn Jahre vorher für einen anderen Berufsweg zu entscheiden. Man muss nur alles noch mal neu machen, mit schöneren Technologien, ausgereifteren Ideen und selbstverständlich mehr Motivation, weil dieses Mal eben alles besser werden wird.

Eine viel zitierte Warnung vor diesem Glauben stammt vom Softwareentwickler Joel Spolsky, der ihr 2000 in einem Blogbeitrag den Titel Things You Should Never Do, Part I gab. „Programmierer“, so Spolsky, „sind im Herzen Architekten, die grundsätzlich alles platt walzen und ein neues Gebäude hinstellen wollen. Für kleine Veränderungen interessieren sie sich nicht. Den alten Code halten sie für einen Haufen Schrott. Diese Täuschung rührt daher, dass es einfacher ist, neuen Code zu schreiben, als alten zu lesen und zu verstehen.

Doch der neue wird genauso getestet und debuggt werden müssen wie der alte, und das dauert. In der Zeit macht die Konkurrenz was Vernünftiges.“ Joel Spolsky übersetzt damit, vielleicht ohne es zu wissen, die zentrale Aussage eines Buchs über Demokratie auf die Softwarebranche: Der Philosoph Karl Popper beschrieb 1945 in Die offene Gesellschaft und ihre Feinde den Schaden, den große Veränderungsideen anrichten. Gerade weil der utopische Ansatz so viele Opfer fordert, hält der Utopist auch dann an seinem Plan fest, wenn sich seine Strategie als Irrweg entpuppt. Die Opfer dürfen ja nicht vergeblich gewesen sein.

Der Neubau führt auch keineswegs sofort zu einem funktionierenden System. Man hat ja noch keine Erfahrung mit dem Neuen, also macht man viele Fehler, die sich nur durch graduelle Verbesserungen beheben lassen – also genau durch die Methode, die der Utopist eigentlich vermeiden wollte. Die Ansichten darüber, wie ein Ideal-zustand aussehen könnte, gehen sowieso auseinander. Daher widmet man sich besser der Behebung einzelner Missstände, über die sich alle halbwegs einig sind.

Der tschechische Präsident Václav Havel nahm 1995 in einer Rede an der neuseeländischen Victoria University auf Poppers Buch Bezug und erklärte, es sei deshalb noch lange nicht falsch, langfristige Pläne oder Vorstellungen von einer besseren Welt zu haben. Aber man solle solche Pläne bitte schön langsam umsetzen und nach jedem Schritt das Ergebnis überprüfen. Und wenn man das Grundprinzip, dass die Welt ein kompliziertes Ding ist, mal begriffen habe, solle man nicht gleich wieder in Arroganz verfallen und glauben, man wüsste jetzt Bescheid.

Das alles ist in der Softwareentwicklung nicht anders als im Umgang mit Demokratien: Wer ein Problem nach dem anderen behebt und danach kontrolliert, ob alles noch funktioniert, richtet weniger Unheil an.

Vielleicht ist es aber auch gar nicht so schlimm um die Branche bestellt, wie Spolsky vermutet. Wahrscheinlich gibt es genügend Bastlerinnen, die hier etwas refakturieren und dort etwas verschönern und in der Freizeit Rechtschreibfehler in der Wikipedia entfernen. Wir hören nur selten von ihnen, weil sie weniger spektakuläres Unheil anrichten.

Kathrin Passig und Anne Schüssler schreiben leidenschaftlich Blogs, Tweets und Code. In WIRED geben sie regelmäßig Überlebenstipps für Nachwuchsprogrammierer.

GQ Empfiehlt