Mit dem Auge des Adlers

Ein Tag im Leben eines Entwicklers

06.12.2011 von Alexandra Messmer
Was macht ein Software-Entwickler eigentlich den ganzen Tag? Wir haben Günther Reisner vom Münchner Systemhaus Pentasys acht Stunden lang über die Schulter geschaut.
Entwickler aus Leidenschaft: Günther Reisner mag es, komplexe Strukturen zu begreifen und zu entwerfen.
Foto: Friedrich Schanda/Pentasys

9:00 Ein verregneter Montagmorgen, Notarzteinsatz am Münchner Marienplatz, U- und S-Bahnen fahren mit Verspätung. Günther Reisner kommt darum eine halbe Stunde später als gewohnt ins Büro. Er schlüpft gleich ins Besprechungszimmer, dort warten schon drei Kollegen auf ihn. In der nächsten Stunde gilt es, den Aufwand für ein neues Projekt zu schätzen. Ein Kunde will sein Lieferantenportal verschlanken, wie lange werden die Entwickler von Pentasys für die Umsetzung brauchen? Reisners Erfahrung ist gefragt, auch wenn sein Kollege Manuel Lilienberg das Projekt umsetzen wird.

Seit über elf Jahren arbeitet Reisner als Entwickler, davon über neun Jahre im Java-Bereich, er kennt das Lieferantenportal aus früheren Projekten. Zusammen gehen Reisner, die Kollegen und die beiden verantwortlichen Führungskräfte Günter Wildner und Eckhard Bahle das Fachkonzept Punkt für Punkt durch. Bald steht hinter jedem Arbeitsschritt ein Zeitraum, angegeben in Manntagen, berechnet nach der PERT-Methode, die einen minimalen, mittleren und maximalen Zeitwert berücksichtigt. Wildner, der eine Java-Division leitet, ist zufrieden: "Eine valide Schätzung. Mit der Kennzahl kann unser Vertrieb dem Kunden ein kaufmännisches Angebot unterbreiten."

10:10 Günther Reisner fährt seinen Laptop hoch, öffnet seinen Mail-Account und wundert sich, dass dieser mit Mails zu den automatischen Softwaretests, die in der Regel nachts oder am Wochenende ablaufen, überflutet ist. Normalerweise bekommt er zwischen zehn und 20 Mails pro Tag, die er bearbeiten muss. Projektleiter Bertram Ufer winkt ab, die Test-Mails seien nicht das Problem, vielmehr brauche er Reisners Arbeitsbericht von Freitag. Was hat er gemacht, und wie lange hat er dafür gebraucht? Diese Informationen, täglich in das Planungs-Tool eingetragen, verschaffen allen den Überblick, wie sie im Projektplan stehen und ob sie ihn einhalten können. Letzteres ist nicht immer der Fall, räumt Reisner ein.

"Der Idealfall ist natürlich ein Projekt, in dem ich als Entwickler gemeinsam mit dem Kunden das Fachkonzept erarbeiten und ohne Reibungsverluste programmieren kann. Doch oft liegt das Fachkonzept bereits vor, und erst hinterher stellt sich heraus, dass vieles nicht so einfach in Code umzusetzen ist. Da ist viel Abstimmung nötig, vor allem, wenn nicht nur der Kunde, sondern weitere Dienstleister beteiligt sind." So wie in Reisners aktuellem Projekt: Für einen Kunden soll sein Team vier wichtige Applikationen, mit denen Kunden ihre Bestellungen konfigurieren können, auf eine neue Plattform transformieren. Während die Pentasys-Entwickler in den kommenden Monaten für die Transformation zuständig sind, kümmert sich ein zweiter Dienstleister um den Betrieb des Rechenzentrums. Morgen steht für Reisner zum Beispiel wieder die wöchentliche Telefonkonferenz mit dem zweiten Dienstleister an, in der technische Probleme im Vordergrund stehen.

Entwickler aus Leidenschaft

10:30 Reisner öffnet sein rotes Buch, in das er alles hineinschreibt, was er heute noch erledigen will. Ohne Stift und Papier wäre er aufgeschmissen. "Das mag für einen Softwareentwickler altmodisch anmuten", schmunzelt er, "aber auf Papier kann ich Skizzen malen und zum Beispiel in Schaubildern den Datenfluss aufzeigen oder Strukturen auf einen Blick erkennen."

Vorteil der Projektarbeit beim Kunden: "So bekomme ich Einblick in die unterschiedlichsten Anwendungen und Prozesse."
Foto: Friedrich Schanda/Pentasys

Komplexe Strukturen begreifen, durchdenken, verändern oder neu entwerfen gehört zu den Kernkompetenzen von Entwicklern. Je komplexer, desto reizvoller, findet Reisner, der am liebsten Applikationen entwickelt und dafür mit neuen Frameworks arbeitet. Im aktuellen Projekt hat er kaum neuen Code zu schreiben, da die Applikationen bestehen bleiben und sich nur die Plattform ändert. Dennoch muss Reisner manchmal tief in den Java-Code eintauchen, um etwa einen Fehler zu finden. Nach der Migration einer Datenbank suchte er zum Beispiel fast zwei Tage lang nach einem Bug, führte die betroffene Prozedur immer wieder aus, tauschte sich mit dem Kunden aus, um neue Fahndungswege zu finden. Erst als er den Fehler gefunden und korrigiert hatte, konnte er die Prozedur von der Developer- in die Integrationsumgebung einspielen. Hier kann Reisner überprüfen, ob sie auch im Zusammenspiel mit anderen Anwendungen funktioniert. Seine Änderungen am Code hält er gleich in der technischen Dokumentation fest, damit der Kunde weiß, was geändert wurde.

11:20 "Das ist doch alles Käse." Nach dem dritten Versuch, sich mit der produktiven Datenbank beim Kunden remote zu verbinden, gibt Reisner auf. Kein Zugriff für den externen Dienstleister, obwohl dieser versprochen war. Das Unvorhergesehene ist eine Konstante im Projektalltag, die aller Planung zum Trotz ein hohes Maß an Anpassungsfähigkeit und Bereitschaft zu Plan B oder C erfordert. Reisner bleibt nichts anderes übrig, als die geänderten Systeme "im Blindflug" zu testen und dann nächste Woche zum zweiten Dienstleister zu fahren, um von dort aus in die Datenbank zu gelangen. Ein neuer Aspekt in der "Offene-Punkte-Liste", in der Projektleiter Ufer und Reisner alle Probleme erfasst haben und die die Basis für das wöchentliche Treffen mit Kunden und zweitem Dienstleister bildet.

12:30 Reisner nimmt sich Jacke und Brotzeitbox und geht trotz des Nieselregens eine Runde spazieren. Die Mittagspause verbringt er gern an der frischen Luft, "das macht den Kopf wieder frei".

Glücksbringer: Das Marzipanschweinchen aus dem ersten Projekt hat Reisner elf Jahre und unzählige Projekte später noch.
Foto: Friedrich Schanda/Pentasys

14:00 Kollegin Irina, die gerade ein Fachkonzept für ein anderes Projekt erarbeitet, hat ein Problem, das sich auf Zuruf nicht lösen lässt. Günther Reisner schaut ihr über die Schulter und hilft. Im Lauf des Tages wird er immer wieder von den Kollegen gefragt. Nicht nur daran merkt man, dass er zu den erfahrenen Entwicklern gehört. Auch das Marzipanschweinchen neben seinem Bildschirm ist dafür ein Indikator: Einst der Glücksbringer für sein erstes Projekt, hat es im Lauf der Jahre unter der Celluphanfolie auch den letzten Schimmer seiner quietschrosa Farbe verloren.

14:22 Ein einziger falscher Buchstabe kann mitunter eine ganze Applikation zum Erliegen bringen. Als Softwareentwickler braucht Reisner den Blick eines Adlers. Das zeigt die nächste Stunde, in der er verschiedene Versionen von Dutzenden SQL- und Unix-Skripten vergleicht und aktualisiert. Sein Blick ruht auf dem Bildschirm, konzentriert scannt er Zeile um Zeile, pflegt schnell die Änderungen, oft nur ein Buchstabe, ein. Am Ende hält er die Anpassungen nicht nur in der technischen Dokumentation fest, sondern erstellt auch eine read.me-Datei mit Hinweisen, was vor der Übertragung der Skripte in die Produktivumgebung zu beachten ist.

So wird jedes Projekt zur Qual
Uferlose Projekte ...
sind in der Praxis häufig und kommen manchem Chef sogar gelegen. Je mühsamer das Projekt, umso besser kann sich der Chef damit profilieren, meint Projekt-Berater Jürgen Rohr. Er hat zehn Tipps zusammengestellt, wie jedes Projekt aus dem Ruder läuft.
Uferlose Projekte ...
... sind in der Praxis häufig und kommen manchem Chef sogar gelegen. Je mühsamer das Projekt, umso besser kann sich der Chef damit profilieren, meint Projekt-Berater Jürgen Rohr. Er hat zehn Tipps zusammengestellt, wie jedes Projekt aus dem Ruder läuft.
1.Setzen Sie die Verantwortlichen unter Termindruck!
Mit engen Terminen stellen Sie sicher, dass möglichst wenige Betroffene ins Boot geholt werden. Damit vermeiden Sie die sowieso unnötigen Diskussionen um Meinungs- sowie Wahrnehmungsunterschiede. Und: Sie behalten die vermeintliche Kontrolle über Budget und Termine.
2. Sehen Sie immer nur Probleme!
Beginnen Sie mit einer problemorientierten Ist-Analyse. Fragen Sie immer zuerst danach, was nicht gut läuft. Damit fokussieren Sie die Aufmerksamkeit aller Beteiligten auf die Schwächen der Organisation. Sie stellen sicher, dass niemand auf die Idee kommt, sich auf den Erfolgen der Vergangenheit auszuruhen. Und das Beste: Die Veränderungsenergie wird so gering sein, dass die operative Arbeit kaum gestört wird.
3. Lassen Sie viele Fragen offen!
Geben Sie möglichst kein zusammenfassendes Feedback! Halten Sie die Betroffenen im Unklaren. Das fördert zwar die Gerüchteküche, hält aber den Änderungsaufwand für die Konzeptionierer gering. Sie erhalten schon mit dem ersten Wurf ein Konzept aus einem Guss - ohne lästige und zeitaufwändige Anpassung an unterschiedliche Wahrnehmungen der Beteiligten.
4. Schreiben Sie das Konzept allein!
Lassen Sie das Konzept ohne Beteiligung der Betroffenen ausarbeiten. Hier können Sie Aufwand und Budget einsparen. Jeder Betroffene wird mit seinen individuellen Ansichten sowieso nur das Konzept verwässern. Außerdem: Wenn ein Außenstehender den Sollzustand konzipiert, kommt endlich frischer Wind in die Organisation. Bei der Umsetzung werden sich die Betroffenen schon an die neue Ausrichtung gewöhnen.
5. Benutzen Sie viele Powerpointfolien!
Vermitteln Sie das Konzept frontal mit mindestens 100 Powerpoint-Folien. Hier gilt: Je mehr Input, desto weniger lästige Rückfragen. Halten Sie das Präsentationstempo hoch. Planen Sie ja keine Zeit für die Diskussion ein. Das Konzept steht. Basta!
5. Benutzen Sie viele Powerpointfolien
Vermitteln Sie das Konzept frontal mit mindestens 100 Powerpoint-Folien. Hier gilt: Je mehr Input, desto weniger lästige Rückfragen. Halten Sie das Präsentationstempo hoch. Planen Sie ja keine Zeit für die Diskussion ein. Das Konzept steht. Basta!
6. Planen Sie keine Zeit für die Überarbeitung des Konzepts ein.
Das wäre ja noch schöner: Sie kalkulieren Budget und Termine knapp und wollen sich den Erfolg nicht durch unplanbare Überarbeitungsaufwände vermiesen lassen. Denn jede Überarbeitungsschleife würde den schönen Entwurf zerstören. Und am Ende wären Sie womöglich bei einer Liste von rasch wirksamen Interventionen, die es auch getan hätten. Völlig undenkbar.
7. Schränken Sie die Zugriffsrechte auf neue Tools möglichst stark ein.
Ganz wichtig: Wenn Sie im Rahmen der Organisationsentwicklung neue Werkzeuge (zum Beispiel ein IT-System) einführen, achten Sie darauf, dass niemand außer den Konzeptionierern in der Lage ist, die Werkzeuge anzupassen. Das würde nur dazu führen, dass persönliche Arbeitsprozesse abgebildet werden. Sie wollen aber, dass die neuen, besseren Prozesse gelebt werden.
8. Lassen Sie die Betroffenen beim Umsetzen des Konzepts alleine.
In diesem Punkt gilt das Motto: Die Leute werden sich schon umgewöhnen. Durch die Unterstützung während der Umsetzungsphase könnte wiederum das sorgfältig ausgearbeitete Konzept verwässert werden. Das ist unbedingt zu vermeiden. Widerstände sind normal. Manche Mitarbeiter lernen eben nie, was wirklich gut für sie ist.
9. Vermeiden Sie persönlichen Kontakt zwischen den Beteiligten.
Stellen Sie sich vor, was Sie hier an Reisekosten einsparen können. Diskussionen können auch per E-Mail geführt werden. Das spart richtig Geld. Und Sie können leichter die Kritiker ausschließen.
10. Betrachten Sie jegliches Feedback als persönliche Kritik.
.Wenn jemand mit einer Rückmeldung zu Ihnen kommt, will er damit eigentlich sagen, dass Sie Ihre Arbeit nicht richtig gemacht haben. Das wirkt sich schlecht auf Ihr Selbstwertgefühl aus. Möglicherweise geben Sie dem anderen noch das Gefühl, er hätte mit seiner Wahrnehmung Recht. Dann haben Sie wirklich keine Ruhe mehr, um am nächsten Konzept zu arbeiten.

Austausch mit Studenten

15:30 Diplomand Caspar kommt vorbei. Er ist einer von zwölf Studenten, die bei Pentasys ihre Abschlussarbeit schreiben. Das Systemhaus gibt das Thema vor und betreut den Studenten sechs Monate lang, was oft der Ausgangspunkt für den anschließenden Berufseinstieg ist. Auch Günther Reisner, der physikalische Technik studierte und seine Leidenschaft fürs Programmieren entdeckte, war einst Diplomand bei Pentasys und wurde damals von Vorstand Franz Wenzel betreut.

Entwickler gesucht

Projekt-Manager, Softwareentwickler und -architekten sucht Martin Lehnert das ganze Jahr über. Er leitet das Personal-Management des Münchner Systemhauses Pentasys, das 130 Mitarbeiter beschäftigt. "Eigentlich war es nie besonders einfach, Java-EE (Enterprise Edition)-Entwickler zu bekommen", sagt Lehnert. "Aber heute brauchen wir mehr Energie, um die passenden Leute zu finden." Zu Letzeren zählt Lehnert nicht unbedingt die Einser-Absolventen. Die Note ist nur ein Kriterium unter mehreren, viel entscheidender sei die Projekterfahrung, die auch schon ein Berufseinsteiger in Praktika oder Entwicklungsjobs erworben haben kann.

Um möglichst früh Bewerber auf Pentasys aufmerksam zu machen, betreuen Mitarbeiter wie Günther Reisner Abschlussarbeiten von Studenten. Das Thema gibt das Systemhaus vor, der Student setzt es im Unternehmen um und steigt dann oft nach dem Abschluss fest ein. Jedes Jahr werden auf diese Art etwa zwölf Abschlussarbeiten geschrieben.

Heute betreut Reisner selbst Studenten. Caspar, der sich in seiner Arbeit mit der Programmiersprache Scala befasst, ist etwas frustriert, die letzten drei Tage hat er auf der Stelle getreten. Die Entwicklungsumgebung Eclipse scheint in diesem Fall nicht die richtige zu sein. Zusammen beschließen sie, dass Caspar es mit Netbeans versuchen soll. Vom Austausch mit den Studenten profitiert auch der erfahrene Entwickler: "Die Studenten bearbeiten immer die neuesten Themen, so dass ich auch einen guten Einblick bekomme", sagt Reisner, der sich im Internet, mit Fachzeitschriften und internen Workshops weiterbildet.

Den Erfolg sichtbar machen: Ist eine Anwendung in die neue Plattform migriert, hängt Entwickler Reisner das Post-it um.
Foto: Friedrich Schanda/Pentasys

Allerdings ist er lange genug im Geschäft, um die Grenzen der Weiterbildung zu kennen: "Das Feld ist einfach zu groß, um überall am Ball zu bleiben." Technisches Wissen, belegt auch durch diverse Zertifizierungen, ist für den Entwickler und Softwarearchitekten nur die eine Seite der Medaille. Die andere sind die Soft Skills: Reisner hat nicht nur innerhalb von Pentasys schon Workshops und Vorträge gehalten, sondern auch beim Kunden. Und eine Fähigkeit, die man im Studium nicht ausbilden kann, ist in seinen Augen besonders wichtig im Projektalltag: "Im direkten Kundengeschäft muss man lernen, diplomatisch zu sein."

Dass Reisner die meisten Projekte direkt beim Kunden vor Ort abwickelt, schätzt er sehr. "Dadurch bekomme ich einen guten Einblick in die unterschiedlichsten Anwendungen und Prozesse. Und je mehr man kennen lernt, um so mehr neue Ideen bekommt man."

17:00 Reisner packt zusammen. Acht Stunden sind genug für den Familienvater, der seine Kinder nicht nur zu Bett bringen möchte. Morgen wartet ein neuer Tag mit neuen Bugs. Ein Fall für den Entwickler mit dem geübten Auge und der Ruhe der Erfahrung. (Computerwoche)