2016-09-05 digital life Der Gaertner und der Erbauer Man bezeichnet diese Menschen meist als Programmierer. Dabei ist dieser Begriff ebenso unspezifisch wie ``Handwerker'' oder ``Au- tor''. Selbst wenn wir alles abseits der reinen Programmierung ausklammern, sind Programmierer keineswegs so homogen wie man erwarten koennte. Ihre Akteure teilen sich in zwei Hauptgruppen. Da gibt es die ganz klassischen Erbauer: Am Anfang war das Nichts; dann schuf der Programmierer das Programm. Dies ist die Vorstellung, die die meisten von Programmierern haben. Es wird neu gebaut: neue Programme oder neue Features, immer etwas das es davor noch nicht gab. Die Produktivitaet der Erbauer wird gerne mal in geschriebenen Codezeilen pro Zeiteinheit gemessen. (Das ist zwar ein unangemessenes Mass, aber es stirbt nicht aus ... vermutlich weil es so schoen zum Bild des Maurers passt, den dieser Programmierertyp in der digitalen Welt verkoerpert.) Neben dem Erbauer gibt es einen weiteren Typ Programmierer, der weit weniger beachtet und noch weniger respektiert ist. Es ist der Gaertner. Dieser schreibt selten neue Programme oder neue Features. Er ``produziert'' auch keine Codezeilen, er eliminiert eher welche. Der Gaertner arbeitet am Bestehenden. Er pflegt den Code wie einen Garten. Er sucht verwilderte Stellen und bringt sie (wieder) in Form. Er glaettet Stilbrueche, er baut um und er raeumt auf. Waehrend der Erbauer die Quantitaetsaspekte des Projekts ver- bessert, traegt der Gaertner kaum dazu bei. Darum ist seine Ar- beit weniger sichtbar und wird folglich wenig wahrgenommen. Dabei ist die Arbeit des Gaertners keinesfalls wertlos, im Gegenteil, er arbeitet naemlich an den Qualitaetsaspekten. Er hilft mit, die Abweichung zwischen der ueblichen Wahrnehmung (``Die Codequali- taet ist gut.'') und der ueblichen Realitaet (``Die Codequalitaet ist schlecht.'') zu veringern. Wenngleich alle Arbeit des Gaertners positiv ist, wird sie selten so wahrgenommen. Die Leute wollen nicht gesagt bekommen, dass der Code schlecht ist. Die Programmierer wollen nicht realisieren muessen, dass ihr Code schlecht ist. Sie wollen auch ihren Code nicht nachgearbeitet bekommen, von einem ``der es besser weiss''. Dann koenne der Gaertner es ja gleich selber machen! -- Was fuer eine Fehlan- nahme, denn gerade das kann der Gaertner eben nicht. Er kann schlecht aufbauen; er kann nur gut verbessern. -- Und nicht zu- letzt fragt man sich, wozu es den Gaertner ueberhaupt braucht, wo das Programm davor ja auch schon funktioniert hat. Es waere besser, er wuerde mithelfen voran zu kommen, als staendig zu bremsen. -- So denken die anderen. Der Gaertner hat also einen schweren Stand. Statt Gaertner zu wuerdigen, heranzuziehen, bewusst einzusetzen, ihre Arbeit als natuerlichen Teil der Programmierung anzunehmen, werden sie ver- draengt. Aber es ist ja auch so, dass die Informatikwelt selbst nach Jahrzehnten der Erkenntnis, dass der Grossteil der Program- mierzeit in die Wartung und ins Codelesen geht, und nicht ins erstmalige Aufbauen und das Codeschreiben, dies noch nicht verin- nerlicht hat. Da wundert es nicht, dass der Gaertner, der die Lesbarkeit und Wartbarkeit von Code verbessert, als geringwertig gegenueber dem Erbauer angesehen wird. Am Ende wird man aber doch feststellen, dass manche Programmierer Erbauer und andere nunmal Gaertner sind. Die meisten sind sicher- lich Erbauer -- sie schreiben lieber Code fuer Neues, als sich mit Altem zu befassen. Gaertner dagegen haben mehr Freude daran oder empfinden ein groesseres Beduerfnis danach bestehenden Code zu lesen, zu verstehen und zu verbessern. Sie tun das aus innerem Antrieb. Neue Features zu entwickeln faellt ihnen gar nicht so leicht. Den neuen Code eines Kollegen, den sie beim Lesen der Versionskontrollhistorie analysieren, fuer die Lesbarkeit und Wartbarkeit zu verbessern, das draengt sich ihnen automatisch auf ... nicht aber weil der Kollege unfaehig waere, sondern weil jeder seine eigenen Staerken hat, die kombiniert zum besten Er- gebnis fuehren. Diese Energie des Gaertners, die direkt die Qualitaet verbessert, sollte genutzt werden, statt zu versuchen aus dem Gaertner einen Erbauer zu machen, was nicht funktionieren wird, denn Gaertner sind nunmal Gaertner. Ich bin ein Gaertner. http://marmaro.de/apov/ markus schnalke