“The only way to go fast, is to go well.”
Robert C. Martin
Um die Tätigkeiten von Software Entwicklern rankt sich eine Hecke von Unkenntnis und Ignoranz. Fast allen Führungskräften, Kollegen und vielen Akteuren ist nicht klar, was sie da eigentlich tun. Vermutlich hat es etwas mit dem Arbeitsplatz zu tun, der so vielen anderen Arbeitsplätzen ähnelt. Ein Schreibtisch mit einem Computerterminal. Während sich aber beim Chef nur Terminpläne, Kostenrechnungen und Email-Korrespondenz finden, entdeckt man beim Softwareentwickler eine ganze Werkstatt voller Werkzeuge. Der Programmierer ist ein Handwerker und wenn man ganz genau hinschaut, ein Kunsthandwerker.
Die Software Craftmanship Bewegung artikuliert dieses Verständnis von einer Handwerkskunst schon seit einigen Jahren. Programmieren ist eine Tätigkeit, die Kreativität voraussetzt, die geübt werden will, die sich durch stetiges Lernen über die Jahre verbessert. Wie Kunstschmiede, Steinmetze und Tischler müssen die Programmierer mit den vorhandenen Materialien neues schaffen und dabei sorgfältig die Eigenschaften ihrer Kreation herausarbeiten.
Was hilft dieser nostalgische Blick auf die Arbeitswelt des Programmierers?
Wer etwas mehr Verständnis darüber erlangt, was seine Mitarbeiter eigentlich tun und realisiert, dass er einer Manufaktur und keiner Produktionsstraße vorsteht, kann bessere und kostengünstigere Software erstellen. Ein paar einfache Regeln lassen sich aus dem Selbstverständnis der Programmierer als Kunsthandwerker ableiten.
- Die Arbeit ist ein kreativer Akt. Wenn Sie einen Schmied an der Esse bei der Arbeit unterbrechen, erhalten sie keine feinen Messer aus Damaszenerstahl sondern Schrott. Wie andere Kreative kommt der Programmierer bei der Arbeit in den Flow und sollte dann nicht gestört werden.
- Programmieren ist ein Prozess und kostet Zeit. Lassen sie den Tischler die Möbel verfrüht liefern, dann fehlt vermutlich der Lack und sie werden keine große Freude an seiner Arbeit haben. Geben sie auch ihrem Programmier die nötige Zeit.
- Der Programmierer ist eine kostbare Ressource, er sollte seiner eigentlichen Profession nachgehen. Wenn sie ihre besten Glasbläser die Scherben auffegen lassen, vergeuden sie Talent. Für Routineaufgaben im Büro und die Präsentationserstellung gibt es preiswertere Büroangestellte und Führungskräfte.
- Ein Entwickler sollte sich immer nur um ein Projekt kümmern. Kein Steinmetz wird schneller, wenn er sich um ein Dutzend Grabmale gleichzeitig kümmern soll.
- Handwerker sind in früheren Zeiten auf die Walz gegangen um bei anderen Meistern zu lernen und bei manchen Handwerkern ist dies noch immer Tradition. Man kann seine Entwickler zwar nicht auf Wanderschaft schicken, aber ohne neuen Anregungen stagnieren die Fertigkeiten der Programmierer. Schicken Sie ihre Mitarbeiter auf Konferenzen, damit Sie weiterhin ihre Techniken verbessern können.
- Junge Software Entwickler können noch nicht gut programmieren und so wie ein ein Meister seinen Lehrling schult, sollten erfahrenen Programmierer den Neulingen ihre Erfahrungen vermitteln.
- In der Abteilung sitzen unterschiedliche Talente, die nicht einfach austauschbar sind. Sie können aus dem Schuster nicht einfach einen Schneider machen oder aus einem App Entwickler über Nacht einen Backend Spezialisten.
Wer das Programmieren als Handwerkskunst begreift, kommt zu einem sehr viel besseren Verständnis der Arbeit eines Software Entwicklers und kann so seine Arbeit auch wirklich würdigen.