Intuition

Intuition ist Vernunft, die es eilig hat.

Unbekannt

Leider ist diese Tugend den seltensten Softwareentwicklern von Anfang an gegeben, aber sie ist durch Erfahrung erlernbar. Diese Tugend stößt jedoch häufig auf Unverständnis. Wenn eine Lösung diskutiert wird und sich dieses Gefühl einstellt: “Das kann nicht funktionieren!”, dann erntet man selten Verständnis, weil in diesem Augenblick keine offensichtlichen Gründe vorliegen. Nimmt man sich die Zeit und denkt nochmal darüber nach, wird man häufig fündig. Leider ist dieser Schritt ein seltener in der Praxis und es wird meist sofort mit der Implementierung der erdachten Lösung begonnen. Nicht selten stellt sich heraus, das es dann wirklich nicht so funktioniert und umgedacht werden muß. Aber auch im Kleinen meldet sich die Intuition immer häufiger zu Wort. Ob man einen Fehler sucht oder Quelltexte gegenlesen muss, es stellt sich plötzlich dieses Gefühl von “Bullshit!” ein. Ein flüchtiger Blick genügt um ein Gefühl dafür zu bekommen, ob in neinem Programmteil etwas faul ist oder nicht. Ob es Redundanzen enthält oder einfach nur schlecht programmiert ist. Das liegt daran, wie das Gehirn mit der Zeit lernt Strukturen zu erkennen. Manche dieser Strukturen assoziiert das Gehirn mit einem Fehler, weil in solchen ähnlichen Programmteilen in der Vergangenheit schon oft Fehler gesucht werden mussten. Als Beispiel könnte man fünf ineinander verschachtelte if-Anweisungen nennen. Jeder halbwegs erfahrene Programmierer hört sofort die Alarmglocken läuten. Dies ist aber nur eine sehr offensichtliche fehleranfällig Struktur. Das Gehirn lernt aber viel mehr, auch die kleinen uns nicht bewusstgewordenen Strukturen nimmt es auf. Auch wenn dieses Beispiel etwas anmaßend daherkommt: Auf die gleiche Weise funktionieren auch die Gehirne von Schachmeistern. Sie schauen nur auf das Spielbrett und erkennen unbewusst Muster und können danach handeln. So ist es möglich, das manche gleichzeit 18 Partien spielen und alle gewinnen. Dafür trainieren sie täglich acht Stunden oder mehr. Analysieren Fehler und entwickeln neue Möglichkeiten. Sie sind in der Lage hunderte von Partien im Kopf nachzuspielen. Diese massive Konzentration auf ein Ziel, ermöglicht diese herrausragenden Leistungen. Was bedeutet es für uns? Diese Intution kommt also nur, wenn man sich um gutes Softwaredesign bemüht und ständig seinen Horizont erweitert. Fehler analysiert und nach neuen Lösungen sucht. Viele der genannten Tugenden sind nötig, um diesen Weg zu gehen und die Intuition als Geschenk dafür zu erhalten. Da es unsere Arbeit ist, die wir tagtäglich verrichten, haben wir auch mindestens diese acht Stunden zur Verfügung. Wenn wir diese effektiv nutzen, können wir enormes Potentzial erreichen. Wir stehen ehrfüchtig vor der Leistung, dass ein Schachmeister zahllose Partin im Kopf hat und vergisst dabei, das er selbst riesige Programmteile aus dem stehgreif erneut nachprogrammieren könnte, wenn er es müsste. Diese sind auf abstrakte Strukturen und Zusammenhänge zurückzuführen die unser Gehirn zu Schablonen zusammensetzt und uns als Intuition zur Verfügung stellt.