Als Inspiration zu diesem Artikel diente mir der Artikel „Achtstündiges Brennen“ von Bob Martin und das Buch „der leidenschaftliche Programmierer“ von Chad Fowler. Die Jungs gehören zu den Ober-Chef-Programmierer der Extrem Programming Comunity. Bob Martin meint, dass man so schonungslos arbeiten soll, dass man dies unmöglich länger als acht Stunden durchhalten kann. Nun wie ist das genau gemeint? Also wenn es um die Arbeit geht kann weniger wirklich mehr sein. Wie ist das schon wieder gemeint? Ja, wer müde ist, denkt nicht so effizient wie jemand, der ausgeruht ist. Sagen die Extrem Programmierer. Wenn wir ausgebrannt sind, sind wir nicht mehr so kreativ und motiviert, und die Qualität unserer Arbeit lässt drastisch nach. Wir beginnen somit leichtsinnige Fehler zu machen, die wiederum uns mehr Zeit und Geld kosten.
Die meisten Projekte dauern lange und sind wie ein Marathonlauf an zu sehen, und nicht als Sprints. Möchte man einen Marathonlauf zu Ende bringen, kann man das nicht mit der Geschwindigkeit eines Sprinters ohne Verluste Aufrecht halten. Bei der Sprinter Variante mag sein, dass die Produktivität innerhalb kürzester Zeit sich beträchtlich erhöhen wird, dafür aber kommt der Programmierer langfristig im stauchen. So dauert die Erholungszeit länger als die Produktivitätsgewinne, die ein Programmierer in seine 60 bis 80 Stunden-Woche erzielt hat.
Allgemein gilt, dass knappe Ressourcen für uns wertvoller sind, und wir sie deswegen bewusster und effizienter nutzen. Das kann auch auf die Arbeitszeit angewandt werden. Wenn wir zuviel Zeit zum Arbeiten haben, reduziert sich der wahrgenommene Wert zu unserer Arbeitszeit. Wenn wir 60 Stunden zu Verfügung haben, ist jede Stunde weniger wertvoll, als wenn wir 40 Stunden haben.
Bob Martin möchte uns also einer Beschränkung unterwerfen, und gibt uns gleichzeitig eine Strategie mit dieser Zeitbeschränkung umgehen zu können. Wenn der Anfang und das Ende einer Arbeitszeit streng begrenz sind, fangen wir auf natürlicher Weise, die Zeit vorab zu planen und sie komplett auszuschöpfen. Wir setzen dann die Zeit effizienter ein. Man setzt zum Anfang der Arbeitszeit einen Satz von Aufgaben die auf jeden Fall am diesen Tag erledigt werden müssen, ordnet sie nach der Priorität und erledigt sie zügig einer nach der Anderen.
Damit versucht man die Arbeit nicht nach Hause zu nehmen. Denn die Freizeit dient dazu, sich zu entspannen. Zugegeben, das geht nicht immer. Oft arbeitet man in seinem Kopf während man in der Straßenbahn fährt oder während man sich einen Film mit Freunden anschaut. Das sollte nicht all zu oft passieren wenn man jeden Tag intensiv arbeitet. Dabei wird man feststellen, dass die Arbeit einen nicht nach hause verfolgt. Man hält sicht also nicht nur bewusst davon ab, Überstunden zu machen, sondern der Geist und das innere Befinden werden einen tatsächlich dazu bringen, keine Überstunden zu machen.
Die Umsetzung, zitiert aus Chad Fowlers Buch „Der leidenschaftliche Programmierer“
„Sorgen Sie dafür, dass Sie heute gut schlafen. Essen Sie morgens Ihr Frühstück und beginnen Sie dann, zu einen genauen Zeitpunkt zu arbeiten, am besten etwas früher als üblich. Arbeiten Sie intensiv vier Stunden lang. Machen Sie eine Stunde Mittagspause. Arbeiten Sie dann weitere vier Stunden so intensiv, dass Sie absolut erschöpft sind und nicht mehr leisten können. Gehen Sie nach Hause, entspannen Sie sich und gehen Sie Ihren Vergnügungen nach.“
So, jetzt seid Ihr dran! Schreibt mir wie eure Arbeitszeit so gestaltet ist. Stimmt Ihr dem Bob Martin zu oder doch nicht? Wie viele Stunden seit Ihr am brennen bei der Arbeit?
Es stimmt absolut, dass man nicht wirklich viel länger konzentriert programmieren kann als 6-7h.
Ich hatte eine Phase, als ich ca. 3 Monate jeden Tag 10-12h programmiert habe und auch noch am Wochenende arbeiten musste. In dieser Phase hatte ich eine sehr grosse Präsenzzeit. Die Effizienz war aber erschreckend. Ich machte viel Fehler, konnte nicht mehr gut schlafen und war ständig im Stress.
Ein wichtiger Punkt, der häufig unterschätzt wird ist wohl auch das Störungsmanagement beim programmieren. Ich habe dazu einen kurzen Artikel verfasst -> http://daraff.ch/2010/02/storungsmanagement/
Ja, dem kann ich auch zustimmen.
Während meiner Lehre, versuchte mich mein Chef so lange wie nur möglich im Büro zu behalten und ich solle soviel wie möglich machen. Natürlich machte er die Projektplanung, da ich keine Erfahrung damit hatte.
Das endete damit, dass ich dann immer gegen Projektende (1-2 Wochen vor Deadline) massig Überstunden und am Wochenende arbeiten durfte. Daraus resultierte eine schreckliche Gastritis…
Deswegen „kann“ ich mir auch nicht mehr vorstellen, irgendwo 40h als Programmierer „fest“ angestellt zu sein.
Seitdem ich nun von Zuhause arbeite, bzw nur ab und zu in einem Büro bin hat sich die Gastritis auch nicht mehr blicken lassen:)
Das kommt stark auf das Projekt an bei mir. Wenn es ein interessantes, spannendes, forderndes Projekt ist, dann häng ich auch schon mal nahezu den ganzen Tag dran und die Zeit fliegt nur vorbei.
Aber bei langweiligen Routineprojekten, oder schlimmer noch, Sachen die reine Fleisarbeit sind, geht 70% meiner Energie allein dafür drauf, dass ich überhaupt in die Gänge komme. Ich hab mich schon erwischt, dass ich dann sogar alte Emails lese, weil das spannender ist als das, was ich gerade tue.
Ich denke vor allem Wichtig ist der Punkt, dass man die Arbeit nicht geistlich mit nach Hause nimmt. Ich hatte schon Situationen früher, da habe ich bis spät in den Abend programmiert und bin dann an einem Problem hängen geblieben.
Als ich mich dann hingelegt habe konnte ich die ganze Zeit nur noch über das Problem nachdenken und überhaupt nicht entspannen.
Zum Glück habe ich die Fähigkeit im Traum Programmier-Probleme zu lösen und ich konnte am nächsten morgen mich sogar noch an die Lösung erinnern, die ich geträumt hatte.
Klingt komisch, ist aber wahr ;-)
Das ist vllt. das einzig positive an der ganzen Sache..
Ja, dem kann ich auch zustimmen.Während meiner Lehre, versuchte mich mein Chef so lange wie nur möglich im Büro zu behalten und ich solle soviel wie möglich machen. Natürlich machte er die Projektplanung, da ich keine Erfahrung damit hatte.Das endete damit, dass ich dann immer gegen Projektende (1-2 Wochen vor Deadline) massig Überstunden und am Wochenende arbeiten durfte. Daraus resultierte eine schreckliche Gastritis…Deswegen “kann” ich mir auch nicht mehr vorstellen, irgendwo 40h als Programmierer “fest” angestellt zu sein.
+1
I consider, that you are not right. Write to me in PM, we will discuss.