Bereits 10853 Beiträge!


Wenn Not am Mann ist ...

Beitrag von Dachschaden, am 28.06.2014
Durchschnittliches Voting: 5.12


... werden bestimmte Positionen auch mal mit vollkommen unpassendem Personal besetzt. In diesem Fall war ich das Personal, und die Position war, den Code eines Mitarbeiters, der mir bereits extrem negativ aufgefallen war und der den Laden inzwischen verlassen hatte, zu erweitern. Und bitte versteht mich nicht falsch, solange ich nichts damit zu tun habe, ist es mir sehr egal, wie jemand seine Arbeit erledigt - aber wenn ich am Ende DOCH damit zu tun habe, ändert sich das Blatt.

So hatte dieser Mitarbeiter die unangenehme Eigenschaft, alles über den Code, den er selbst verfasst hatte, zu vergessen. Mehr als ein "Ähm", "Äh", "Na ja", "Nun, tja" war bereits einen Monat, nachdem er sein "Werk" vollendete, selbst unter massiver Gewalt- und Folterandrohung nicht aus ihm rauszukitzeln, und stattdessen erwartete er, dass man seine Fehler dann fixen sollte, "weil so viel Aufwand ist das ja nicht."

Eine Bibliothek, die von mir bisher gewartet wurde (und die nach gängigen Maßstäben funktioniert hat) wurde ihm zugewiesen, und dies feierte er dann mit einem wochenlangen Umschreiben dieser. Laut seiner eigenen Aussage hatte er "nur ein bisschen den Code formatiert" (wozu gibt es dann automatisierte Code-Beautifier?) - eine Lüge, denn prompt gab es einen Fehler, dass die Bibliothek nach einiger Zeit den kompletten RAM unserer Server vollmüllte und wir diese nur unter Einsatz von Leib und Leben gerade so vor einem Reboot retten konnten.
Was war geschehen? Nun, unsere Datenbank stammt immer noch aus ISO-8859-1-Tagen <Lacher hier einfügen> und bei der Kommunikation mit externen Diensten müssen diese Daten in UTF8 konvertiert werden. Durch einen Referenzfehler wurden immer wieder die gleichen Daten in UTF8 konvertiert ... und irgendwann ist der Speicher ratzevoll.
Nun war sich dieser Ex-Mitarbeiter viel zu schade, selbst nach dem Fehler zu suchen (Aussage: "Ich versteh' das doch alles nicht, das hast du doch geschrieben (in welchem Universum?), ich habe das nur umformatiert!"). Allein dafür hätte ich ihn schon schlagen können, aber das hilft unseren Kunden ja nicht, bei denen grad nichts funktionierte. Also debuggte ich, fand den Fehler und schickte meine Informationen an den Ex-Mitarbeiter, damit er diesen fixen konnte. Rückantwort: "Ich dachte, du wolltest das fixen!?"

Äh, nö, nur debuggen, damit du deinen kaputten Code fixt. Soviel traue ich dir dann doch zu.

Jedenfalls ging es dann weiter, er hatte keine Ahnung, er hatte das nur umformatiert (ja, diese Lüge hat er MEHRMALS hervorgebracht, obwohl sie bereits wiederlegt war), und ich könnte das doch so viel besser. Zu dem Zeitpunkt habe ich dann ihm und dem Chefprogrammierer (der zwischenzeitlich hinzugezogen wurde) klargemacht, dass der Code ein vollkommen anderer ist und ich deswegen keine Verantwortung für die Probleme, die durch den neuen Code entstanden sind, trage, und das ich das gerne fixe, aber dann wieder mit der alten Version (die ich separat gepflegt hatte, weil ich's irgendwie im Urin hatte ... :)). Das führte dann dazu, dass mein Vertrag nächsten Monat ausläuft und nicht verlängert wird - nicht schade drum bei dieser Versagerbude. Aber das ist nur die Vorgeschichte ... denn der Chefprogrammierer besitzt ähnliche kognitive Fähigkeiten wie der Ex-Mitarbeiter.

Denn in meiner letzten Woche kommt er zu mir an, sagt "Du musst ABC vom $Ex-Mitarbeiter erweitern" und gibt mir einen Stoß von Papieren, wovon entfernt der Eindruck entstehen könnte, dass es sich hier um ein von einem Kunden vor einem halben Jahr angenommenes Angebot handeln könnte, und weil Cheffe dies mal wieder vollständig verdrängt hatte und der Kunde jetzt stunk machte, musste das jetzt alles schnell-schnell programmiert werden.

"Wird 'ne Weile dauern, bis ich den Code verstanden habe ~", wollte ich ansetzen, aber er unterbrach mich: "Nicht verstehen, nur erweitern!"
Und witzigerweise scheint er auch so zu programmieren, sodass er heute nicht mehr weiß, was er gestern geschrieben hat.

Also denke ich mir: Na jut, hast noch eine Woche, die kannst du durchhalten.
Und öffne eine Quellcodedatei von Modul ABC ... und es grinst mich ein ASCII-Elefant an, der sagt: "Ich mache dir ein Angebot!"
Dieses Gesamtkunstwerk hatte $Ex-Mitarbeiter hinterlassen ... in einer anderen Datei blinzelte mich eine ASCII-Kuh auf einer Weide an.

Seinen eigenen Code konnte er nicht mehr verstehen, aber Zeit für diese Kreativitätsausdrücke hatte er?
Wobei ich fairerweise sagen muss, dass ich verstehen kann, dass er seinen eigenen Code nicht mehr verstand, denn verstehen tue ich ihn auch nach dieser Woche nicht so ganz. Die Hauptfunktionalität hatte er in einer 3000 Zeilen großen Funktion untergebracht, welche ich dann mal auf 1700 geduzierte, indem ich so tolle Checks wie

if(0!=0)
{
//DoSomething();
}

entfernte. Und diese Funktion war eine eierlegende Wollmilchsau, durch deren Komplexität nicht mal Evolutionsbiologiker durchgeblickt hätten. Diese Funktion war eine eierlegende Wollmilchsau, durch deren Komplexität nicht mal Evolutionsbiologiker durchgeblickt hätten. Und davon hatte er mehrere.
Die Kommentare waren übrigins auch herzallerliebst: "Niagara 18", "Zuletzt abgeschmiert am", "Über Radioaktivität nachgedacht", "Krasse Indoktrination" , oder auch einfach "Katze" oder "Knusper".

Naja, aber bald bin ich nicht mehr da, und dann darf eine andere arme Sau diesen Code verwalten.

Oh, hatte ich schon den Grund erwähnt, warum er ging? Denn er kündigte, wurde nicht gefeuert - man versuchte sogar, ihn zu überreden, hierzubleiben. Er fühlte sich "nicht mehr wie der beste Programmierer hier".
Ich will nicht egozentrisch wirken, aber irgendwie hoffe ich doch, dass mein Widerstand, ihn einfach mit einem [ungefixtem] Fehler davonkommen zu lassen, ihm etwas klar gemacht hat.

Übrigens: nach dem, was ich gestern gehört hatte, hat Cheffe tatsächlich verschwitzt, dass ich bald nicht mehr da bin. Das kommt mir doch bekannt vor, wie bei meinem vorherigen Job? :) Anderer Chef, gleiche Hirnakrobatik.


ACHTUNG Archivsystem!

Es sind keine neuen Einträge, Bewertungen oder Kommentare mehr möglich.