Programmieren: Kunst oder Handwerk?

07.10.2010
Programmierer wollen kreativ sein, das Ergebnis ist ihnen zweitrangig. Ein Ex-Programmierer und heutiger Firmenchef fällt ein kritisches Urteil.

Einer meiner guten Freunde ist Manager bei einer großen Bank. Vor Kurzem klagte er: "Du kannst dir nicht vorstellen, wie schwierig es ist, einen vernünftigen Programmierer für unsere produktiven Systeme zu finden. Es ist jedes Mal das Gleiche: Ich lade einen Kandidaten ein, zeige ihm das System, und er wäre einverstanden, für die Hälfte des angebotenen Geldes alles von Grund auf neu zu programmieren. Aber selbst wenn ich das doppelte Gehalt anbiete, ist niemand bereit, das bestehende System weiterzupflegen."

Für viele Programmierer ist ihre Arbeit Kunst, und niemand kann sie vom Gegenteil überzeugen. Das unterscheidet sie von den meisten anderen Berufsgruppen. Oder haben Sie schon einmal davon gehört, dass Marketing-Leute ihre Arbeit als Kunst betrachten - oder Buchhalter, Vertriebsmitarbeiter, Ingenieure, Geschäftsführer? Selbst wenn sie für ihre Arbeit viel Kreativität benötigen, lassen sie nicht wegen eines diffusen künstlerischen Anspruchs ihre Ziele und Pflichten außer Acht.

Selbstverständlich ist Kreativität im Beruf wichtig. Aber manchmal - eigentlich meistens - arbeiten wir eben nicht für uns selbst und unsere eigenen Ideen. Selbst "echte" Künstler bekommen Aufträge, und die müssen sie im Sinne des Auftraggebers erfüllen.

Viele Programmierer möchten dagegen ständig kreativ sein. Sie wollen immer und überall lernen, neue Technologien erkunden, die aktuellsten Toolkits verwenden, Anwendungen in einer neuen Programmiersprache oder auf einer aktuellen Systemversion erstellen, Computer- und Entwicklungsumgebungen updaten, Patches installieren oder neue BIOS-Versionen ausprobieren. Jedes fertiggestellte Programm wird schon als veraltet betrachtet.

Aus tiefster Überzeugung begründet ein Programmierer dieses Verhalten damit, dass er daraus etwas für das nächste Projekt oder eine neue Stelle lernt. Aber was dann? Für die folgende Aufgabe verwendet er eine neuere Technologie. Damit bildet er sich wieder kreativ weiter und versucht, mit der neuen Technologie ein neues Projekt umzusetzen. Ich schreibe hier bewusst "versucht" - weil für viele Programmierer nicht das Ergebnis im Zentrum der Überlegungen steht, sondern das Ausprobieren.

Aber nicht jeder Lernprozess bringt am Ende gute Ergebnisse. Häufig benotet der Programmierer seine eigene Arbeit aus künstlerischer Sicht, nach geschaffenem Code oder gelesener Dokumentation, aber nicht anhand des Ergebnisses. Das eigentliche Ergebnis ist eine schöne Zugabe - es ist entweder reif für den produktiven Einsatz oder auch nicht (die Wahrscheinlichkeit liegt wohl bei 50 Prozent). Natürlich sind nicht alle Programmierer so, aber doch die Mehrzahl der Absolventen. Und zugegeben: Als ich von der Universität kam, war ich genauso.

Unter anderem arbeitete ich in jungen Jahren in einer Bank, in der alle Anwendungen auf Oracle-Formularen basierten. Besonders schön sahen sie nicht aus. Daher erlaubte ich mir, darauf hinzuweisen, und bot an, alles in Windows neu zu schreiben.

Meine Vorgesetzten belächelten meine Naivität und befragten mich zu den Kosten der Entwicklung, des Trainings, des IT-Audits für die Bank, der Softwarezertifizierung und zu anderen selbstverständlichen Punkten, die mir bis dahin nicht in den Sinn gekommen waren. Sie haben mich nicht direkt belehrt, sie arbeiteten und dachten einfach so. Denn sie waren IT-Profis, richtige Profis. Und sie veränderten meine Perspektive auf viele Dinge in vielerlei Hinsicht.

Jeder Beruf, auch der des Programmierers, besteht aus Kreativität, Handwerk und Kunst. Es ist wichtig, zu lernen und an der Spitze zu sein. Aber es ist auch wichtig, zu verstehen, was Professionalität bedeutet. Für Programmierer heißt sie nicht nur, viele Technologien zu kennen. Ihr Hauptmerkmal ist die schnelle und zuverlässige Lösung der Aufgaben. (hk)