Produktiv programmieren

Warum man als Programmierer ungestört arbeiten muss

Welcher Programmierer kennt das nicht? Da hat man ein spannendes Projekt, die ersten Entwürfe sind fertig und die größten Probleme, die bei der Programmierung auftauchen können sind durchdacht. Der Editor geht auf, die ersten Zeilen sind geschrieben und dann folgt Unterbrechung über Unterbrechung. Produktiv Kurz vor Feierabend, wenn sich das Tagesgeschäft beruhigt sitzt man dann vor seinem Code und fragt sich, wie der geniale Einfall von heute Morgen denn noch einmal umzusetzen war… produktiv programmieren ist anders. Störungen sind für einen Entwickler das größte Übel, denn die Arbeit die er tagtäglich vollbringen muss sind nicht nur rein handwerklicher Natur. Man muss kreativ sein, um Klippen zu umschiffen, sich in den Kunden hinein versetzen, um optimale Usability zu erreichen und dabei die Anforderungen, die verschiedene Abteilungen gestellt haben erfüllen – und das alles in der Regel unter enormen Zeitdruck, sodass es zwingend nötig ist, produktiv zu programmieren. Eine schöne Illustration darüber, was auch nur die kleinste Störung auslösen kann, findet man auf Jason Heeris Seite. Damit man diese Herausforderungen bestmöglich umsetzen kann, sollte man dafür Sorgen, dass das Arbeitsumfeld der gestellten Aufgabe zuträglich ist und man einen guten „Coding Flow“ erzeugen kann.

Typische, tägliche Störungen

Schon wieder ist man gedanklich mitten in einem Problem und auf einmal bimmelt Outlook einen fröhlich aus seinen Gedanken: Eine E-Mail ist angekommen. Und selbst, wenn man diese für den Augenblick ignorieren möchte, arbeitet das Unterbewusstsein nicht mehr voll an der aktuellen Herausforderung. Stattdessen fragt es sich, ob die E-Mail vielleicht vom Kunden ist, der eine Änderung haben will, oder vielleicht auch vom Chef, der einen neuen Arbeitsauftrag hat. Ehe man sich versieht, ist die Email geöffnet und man ist gedanklich wieder ganz woanders (und verliert den Faden!). Aus diesem Grund ist es wichtig, die Kommunikationsmöglichkeiten, die man anderen zur Verfügung stellt zu begrenzen. Das heißt, kein Outlook-Bimmeln oder aufpoppen des Nachrichten-Kurztextes unten rechts in der Ecke. Falls ein Messenger läuft, sollte dieser sich maximal durch die Änderung des Icons bemerkbar machen. Die Bürotüre sollte, falls vorhanden geschlossen sein und das Telefon auf stumm stehen.

Durch feste Zeitintervalle produktiv programmieren

Der Ganze Sinn und Zweck dieser Übung ist es, produktiv zu programmieren und an dem aktuellen Problem ungestört arbeiten zu können. Trotzdem machen sich viele Programmierer Gedanken darüber, ob es eine gute Idee ist, für einen gewissen Zeitraum einmal nicht erreichbar ist. Keine Sorge: Wenn die Welt über einem zusammen bricht, wird sowieso jemand ins Büro stürmen und um Hilfe bitten. Nichtsdestotrotz muss natürlich Kommunikation statt finden und die vollkommene Isolation während der Implementierung lässt sich nicht erreichen. Aus diesem Grund sollte man feste Zeiten festlegen, an denen man Emails abruft, Chats beantwortet und Telefonate entgegen nimmt. Bei mir hat es sich als Praktikabel erwiesen, das ganze alle 1-2h durchzuführen und zwar immer, wenn man mit einer aktuellen (Teil-) Aufgabe fertig geworden ist. Ein fester Rhythmus ist auch für die Kollegen und Kunden gut, denn diese gewöhnen sich schnell daran, sich an diese Zeiten zu halten. Eine Kalender-Erinnerung zum Beispiel, die stündlich darauf hinweist, dass es mal wieder Zeit für Kommunikation ist, kann dabei ganz hilfreich sein. Wer die Beseitung von Störungen ins extreme treiben möchte, den möchte ich an dieser Stelle auf Timothy Ferris’s „>Die 4-Stunden-Woche: Mehr Zeit, mehr Geld, mehr Leben “ verweisen. Timothy geht in seiner Firma so weit, dass seine Abwesenheitsnachricht besagt, dass er um Verständnis bittet, dass seine Emails nur zu Zeitpunkt XY abruft. Auch sein Anrufbeantworter (der immer sofort ans Telefon geht) bittet den Anrufer, doch lieber eine Email zu schreiben, da diese in bestimmten Intervallen abgerufen werden. Hat man die obigen Punkte beherzigt, kann man seine Projekte schneller, effizienter und mit weniger Nerveneinsatz umsetzen und somit produktiv programmieren. Viel Spaß dabei!

Gepostet am 14.05.2015
Smarthack