Das Wunder des Neuschreibens

Manchmal ist man gezwungen, eine Software komplett neuzuschreiben. Zum Beispiel weil die Architektur der existierenden Version so an ihre Grenzen gekommen ist, dass jede Weiter-entwicklung zum Problem wird.

Wenn man das System tatsächlich komplett von Null auf neu entwickelt, ohne der Versuchung zu erliegen, doch noch irgendwelche Teile wiederzuverwenden, dann kann man eine erstaunliche Erfahrung machen:

Es ist, obwohl man vielleicht gar nicht an diese Aufgabe heranwollte, eine positive Erfahrung, weil man fühlt, hier kommt etwas heraus das Substanz hat.

Das lässt sich noch weitertreiben, indem man die Software oder auch nur einen bestimmten Algorithmus einige Zeit später noch einmal neuschreibt, und dann noch einmal und dann noch einmal usw.

Es passiert dann etwas, das einen wirklich umhauen kann: Es kommen Lösungen heraus, die geradezu unbeschreiblich sind. Ich nenne sie essentielle Algorithmen: sehr kurz, sehr mächtig (d.h. vielseitig anwendbar), absolut elegant und einfach vollkommen schön. Es stellt sich das Gefühl ein, echte Werte zu erschaffen. Ein ziemlich einfacher Weg, wirkliche Magie zu erleben – vorausgesetzt man schafft es, eine Reihe von Hürden zu überwinden, auf die ich gleich noch zu sprechen komme.

Entscheidend ist, die vorhergehenden Lösungen wirklich loszulassen und ganz aufzugeben. Sobald man versucht, irgendetwas mitzunehmen, wird der Effekt schon eingeschränkt.

Es ist dies eine Erfahrung, die auf eine weitere grundlegende Eigenschaft schöpferischer Prozesse führt: Ideen oder Visionen bringen mit der Zeit immer neue Materialisierungen hervor, die aber untereinander nicht verbunden sind. Bzw. würde eine erzwungene Verbindung die Möglichkeiten der neu entstehenden Materialisierung einschränken. Sie sind nur durch die Idee oder Vision verbunden. Wie eine Knolle, die immer neue Blüten hervorbringt. Und es sind nicht irgendwelche Blüten, sondern sie entwickeln sich immer perfekter auf das anvisierte Idealbild hin.

"Ja", wird jetzt mancher denken, "natürlich hat man mit den Vorversionen Erfahrungen gesammelt, die sich auszahlen". Aber das ist es nicht nur. Es kommt auf diese Weise mehr zum Vorschein, als man auf rational-bewusst gemachte Erfahrungen zurückführen kann.

Die Haupthürde ist, eine bestehende Implementierung aufzugeben.

Auf dem Weg, ein guter Softwareentwickler zu werden, gibt es Dinge zu lernen, die über technische Details hinausgehen. Gegen die grundlegenden schöpferischen Fähigkeiten, um die es hier geht, sind die Details von Programmiersprachen und Betriebssystemen einfach nur Pippifax. Da ist die ganze Persönlichkeit gefordert. Und die vorgenannte Fähigkeit, bestehende Implementierungen aufgeben zu können, ist eine der anspruchsvollsten.

Denn man hat ja sooooooo viel Arbeit rein-gesteckt ...

Den vollständigen Text finden Sie im Buch
nächstes Kapitel: Entrümpeln und Aufräumen
Bitte unterstützen Sie das Projekt, wenn Sie von diesen Informationen profitieren konnten: