Startseite > Persönliches > Anekdoten >

Anekdoten aus meinen Projekten

Es war einmal in einem Projekt-Review bei IBM

Die einzelnen Teilprojekte berichteten über ihre Fortschritte und Probleme mit dem Feindesign. Ein Teilprojektleiter erwähnte nebenbei, die Komponente XYZ müsste ausgebaut werden. Alle nickten verständnisvoll. Der Gesamtleiter, den ich persönlich sehr schätzte, nickte nicht. Er hatte vermutlich als einziger versucht, den Satz wirklich nachzuvollziehen. Schließlich fragte er nur trocken:

"Wird die Komponente jetzt erweitert oder herausgenommen?"

Alle anderen Zuhörer hatte je nach Vorwissen das eine oder das andere stillschweigend angenommen.

Fazit:deutsche Sprache - schwere Sprache

Damals bei Linotype

Im Testraum brummen einige Prime-Minirechner vor sich hin. Mehrere Kollegen sitzen vor ihren Terminals, suchen konzentriert nach Fehlern oder überlegen, wo sie jetzt den nächsten Breakpoint setzen können, nachdem das Programm endlich bis kurz vor den kritischen Punkt gelaufen ist.

Plötzlich geht das Licht aus, alle Rechner fahren gleichzeitig runter, der Blick aller Kollegen geht zur Tür, wo knallrot der Notausknopf für die Stromversorgung angebracht ist. Da steht mit ebenso rotem Kopf Karl-Heinz. Er hat noch den Stecker in der Hand, den er gerade aus der Steckdose gezogen hat. Der Zusammenhang ist zwar nicht ganz klar, aber er muß es gewesen sein. Es ist jetzt absolut still im Raum.

Da kommt die erlösende Bemerkung von Heike, die es geschafft hat, in dieser Situation aus dem Fenster zu schauen.

"Leute, seht euch das an. Die Lichter in ganz Eschborn Süd sind aus!"

Die Sache klärte sich langsam auf. Es war ein Stromausfall.

Kein Zusammenhang mit dem gezogenen Stecker - nur zeitlich nahe beieinander.

Fazit: Auch Entwicklergehirne reagieren erst mal spontan.

Anfängerglück?

Nach Uni und Referendariat arbeitete ich in meiner ersten Anstellung als Programmierer. Wegen meiner frühen Spezialisierung auf Computer und weil der Abteilungsleiter zufällig meine "Wendel" (eine Linearbeschleunigerstruktur für Forschungszwecke) aus seiner Studienzeit kannte, war ich direkt als Systemprogrammierer eingestellt worden. Das war damals besser bezahlt als Anwendungsprogrammierer, war mir also ganz recht.

Ich sollte wie üblich erst mal sechs Monate die Anwenderschulung durchlaufen und mich dabei in den Quellcode des Satzprogramms, alles in Prime Assembler, einarbeiten. Nach zwei Monaten wurde mir das zu langweilig. Ich fragte im Schulungszentrum nach, ob es nicht eine Aufgabe gäbe, die immer zurückgestellt wurde, weil keine Zeit dafür war.

Der Trainer wunderte sich über so eine Frage, aber dann zog er einige Features aus der Schublade, die ich gerne einbauen dürfe - wenn es nahm ihm ginge. Mit dieser Liste ging ich zu meinem Projektleiter und fragte ihn, ob das OK wäre. Ich sagte ihm, ich würde lieber etwas Sinnvolles einbauen als ganz ohne konkretes Ziel mich "einzuarbeiten". Wir fanden ein relativ unbedenkliches Thema: "den harmonischen Flattersatz" - und den realisierte ich innerhalb einiger Wochen. Als Nebeneffekt lernte ich alle beteiligten Komponenten kennen, auch die zentrale Steuerschleife, ein Urgestein dieses Systems, das von Anfang an dabei war und an das sich keiner so recht herantraute. Es war einfach zu gefährlich, hier etwas zu verändern.

Der Test meiner neuen Komponente begann. Glücklicherweise hatte jeder Entwickler zeitweise seinen eigenen Testrechner, so dass ich niemand anderen stören konnte. Das war auch gut so, denn das System mit meiner Komponente stürzte ab. Ich testete zwei, drei Tage, analysierte Registerinhalte und behauptete dann, es müsse an der Zentralschleife liegen. Das war von einem Anfänger wie mir natürlich nicht ernst zu nehmen, aber ich war fest davon überzeugt. Ich hatte nur keine Beweise. Also fing ich an zu experimentieren, veränderte hier ein paar Zeilen, schrieb Werte in Logfiles und hatte das Problem schließlich so eng eingegrenzt, dass ich meine Beweise mit Kollegen diskutieren konnte. Und siehe da:

Es gab wohl einen seltenen Pfad durch diese Zentralsteuerung, bei der ein Registerinhalt verändert wurde, der tabu war. Ausgerechnet meine Änderung produzierte diesen Fall recht häufig. Als kleine Schikane am Rande aber leider nicht immer. Sonst wäre mir das veränderte Register schneller aufgefallen. Schließlich konnte ich mit speziell vorbelegten Parametern den Fall jederzeit reproduzieren und damit hatte der Fehler die Schlacht verloren. Erfahrenere Kollegen konnten mit dieser Vorgabe die fehlerhafte Zeile finden und korrigieren. Es stellte sich heraus, dass ich durch Unwissen eine zwar erlaubte aber unübliche Konstruktion benutzt und damit den Fehler herauf beschworen hatte. Insgesamt hatte sich der Aufwand gelohnt, weil damit auch die Ursache für andere mysteriöse Systemabstürze behoben wurde.

Ich freute mich natürlich riesig über meine zutreffende Diagnose und war stolz wie Oskar, auch wenn viele Kollegen es einfach für Anfängerglück hielten.

Mir ist noch manchmal die Intuition zuhilfe gekommen, allerdings umgekehrt: es stellte sich mehrmals heraus, dass ich intuitiv die einzig funktionierende Lösung unter mehreren gewählt hatte. Als nach einer Codeumstellung eine andere Möglichkeit benutzt werden sollte, stellte sich heraus, dass benutzte Bibliotheken bestimmte Parameter - entgegen der Dokumentation - nicht unterstützten oder nicht stabil liefen.

Ich nahm das immer als Anzeichen, dass Programmentwicklung für mich der richtige Beruf ist.

Ich behaupte sogar: jemand kann sicher sein, dass er seinen Beruf gefunden hat, wenn er bemerkt, dass er intuitiv die richtigen Entscheidungen trifft.

©2006 Alfred Schilkenaktualisiert am: 11.02.04 | Impressum| Sitemap | Kontakt | powered by phpcms.
Translate this page with Google | Druckversion