- Arthur Westbrook gab mit 58 Jahren seinen vorzeitigen Ruhestand bekannt und arbeitete 35 Jahre lang an einer Legacy-Codebase, die angeblich irgendeine medizinische Software betreibt
- Während seiner Zeit dort steuerte er Hunderte Zeilen Code bei; satirisch heißt es, einmal habe er sogar Legacy-Code angefasst, ohne das Unternehmen zu ruinieren
- Westbrook glaubte, mehr als 4 % der gesamten Codebase verstanden zu haben; ein ehemaliger Kollege nannte sie „Krieg und Frieden in Wingdings“
- Im Unternehmen war er als „einer der Programmierer im Team“ bekannt; sein Manager bescheinigte ihm das Talent, lange durchzuhalten, ohne übertragbare Fähigkeiten zu erwerben
- Die Reaktionen zum Ruhestand waren verhalten; Westbrook plant Straßenmusik, Müllcontainertauchen sowie die Verfeinerung eines Gerichts aus Soylent und Whole Foods Premium Adult Cat Salmon Mix
35 Jahre Legacy-Codebase
- Arthur Westbrook gab diese Woche mit 58 Jahren seinen vorzeitigen Ruhestand bekannt
- Er arbeitete 35 Jahre lang an einer Codebase, die angeblich irgendeine medizinische Software betreibt
- Während seiner Betriebszugehörigkeit steuerte er Hunderte Zeilen Code bei
- Einmal fasste er Legacy-Code an, aber das Unternehmen ging nicht unter
- Westbrook glaubt, mehr als 4 % der gesamten Codebase zu durchblicken
- Ein ehemaliger Kollege nannte die Codebase „Krieg und Frieden in Wingdings“
Reaktion des Unternehmens und Pläne nach dem Ruhestand
- Im Unternehmen war Westbrook als „einer der Programmierer im Team“ bekannt
- Ein Manager sagte, Westbrook habe ein Talent dafür gehabt, hart zu arbeiten, ohne übertragbare Fähigkeiten zu lernen
- Er fügte hinzu, um ihn zu ersetzen, brauche man „zwei Junior-Entwickler und eine Keurig“
- Zur Würdigung seiner jahrzehntelangen Betriebszugehörigkeit bot ein Kollege an, ihm „so nächsten Monat“ einen Drink auszugeben
- Kein Teammitglied reagierte auf eine Bitte um Kommentar
- Nach dem Ruhestand will Westbrook Straßenmusik und Müllcontainertauchen ausprobieren
- Außerdem will er weiter ein Gericht aus Soylent und Whole Foods Premium Adult Cat Salmon Mix verfeinern
1 Kommentare
Hacker-News-Kommentare
Ich glaube, in jeder Firma, in der ich gearbeitet habe, gab es so jemanden.
Wenn man auf Legacy-Code stößt, bei dem man partout nicht versteht, wie er funktioniert, geht man zu dieser Person – und bekommt eine zweistündige Geschichtsvorlesung über zehn Jahre interner Politik und gescheiterter Replatforming-Projekte. Trotzdem kann man ihr kaum böse sein.
Weißt du, warum ich dir zwei Stunden Geschichte erzähle? Erstens: weil menschliche Interaktion nötig ist, ich Menschen aber nicht besonders mag. Zweitens: weil ich will, dass du lernst und verstehst, statt es nur auswendig zu lernen und nachzuplappern, damit du das nächste Mal selbst damit klarkommst und mich nicht nervst. Und jetzt geh, mein soziales Wochenkontingent ist aufgebraucht. /scherz — oder ist es wirklich ein Scherz?
Sieht besser aus, als mit 50 zu versuchen, einen 28-jährigen Interviewer mit Kenntnissen des allerneuesten Frameworks zu beeindrucken.
Ein Mensch verbringt seine ganze Karriere damit, sich selbst einzureden, er wechsle ständig den Job, „weil andere schlechten Code schreiben“.
Karl Hackerman beschwert sich in jedem Meeting. Er wirkt mürrisch, weil man ihm nicht erlaubt hat, das System in Rust neu zu schreiben. Er kennt viele aktuelle Frameworks und Best Practices und ist ständig genervt, dass er sie bei der Arbeit nicht einsetzen kann. Er denkt, die anderen hätten sich als Lohnsklaven eingerichtet, statt zu versuchen, die besten Programmierer zu werden. Alle ertragen ihn, weil sie wissen, dass er in sechs Monaten sowieso kündigt. Karl ist inzwischen 47 und war nie länger als ein paar Jahre bei einer Stelle. In letzter Zeit arbeitet er hauptsächlich freiberuflich und versucht, Bücher über Technologien und Frameworks zu verkaufen, für die sich niemand mehr interessiert.
Ich schreibe auch an einem langen Roman im Stil von A Confederacy of Dunces über übermotivierte Alleswisser-Engineers. Da steckt zu viel von meiner Seele drin, deshalb werde ich ihn wohl eine Weile nicht fertigstellen.
Aber ich bin immerhin noch nicht in den Vierzigern, also bleibt noch Zeit, mich von meinem Irrweg zu erholen.
Am Anfang fühlte ich mich auch so, aber bald lernte ich, im Hauptjob meine Befriedigung rein aus dem Ausliefern von Dingen zu ziehen und die Geheimnisse der Informatik größtenteils in meiner Freizeit zu erkunden. Manchmal überschneiden sich beide, aber selbst ein guter Job besteht meiner Erfahrung nach zu 80 % aus Langeweile.
Ich habe zehn Jahre lang an einer C++-Codebasis gearbeitet, die keinerlei Third-Party-Libraries verwendete. Nicht einmal die STL, weil man damals schnellere und thread-sichere Strings und Maps brauchte. Boost? Was soll das sein?
Es gab eine selbstgebaute Messaging-Middleware direkt auf Sockets, ein eigenes verteiltes Prozessmanagementsystem auf Basis von Unix-Systemaufrufen, und keine einzige Zeile HTML oder Java. Es war ein bequemes, hoch bezahltes Leben, und wir lösten anspruchsvolle Probleme wie High-Frequency Trading sowie verteiltes und nebenläufiges Computing. 2013 bin ich gezwungenermaßen gegangen, um diesem Schicksal zu entkommen, wechselte zu einer kleinen Firma, die mir nur die Hälfte zahlte, und lernte den Web-Technology-Stack von Grund auf. Ich würde gern glauben, dass es geklappt hat
Als Grund, so eine Stelle zu wechseln, fällt mir höchstens ein, die Zeit einer Vergütung für ein Wettbewerbsverbot zu überbrücken; aber ich bin nicht in dieser Branche, also übersehe ich vielleicht etwas
Ich bin mir nicht sicher, ob das als Humor gemeint war oder nicht
Ich wurde allmählich zu dieser legendären Person, die alles wusste — nicht weil ich technisch so brillant war, sondern weil ich das Business verstand und wusste, wie es auf die verschiedenen Architekturelemente abgebildet war. Dann bekam ich das Gefühl, dass ich vielleicht mein ganzes Leben dort bleiben könnte, dachte, dass es da draußen die große weite Welt des Webs gibt, und begann 2004, PHP zu lernen. Nachdem die legendäre Rails-Demo „Blog in 5 Minuten“ erschienen war, wechselte ich 2007 den Job und habe nie zurückgeblickt
Wenn man weder der Sprache noch den Tools noch anderen Entwicklern zutrauen kann, richtigzuliegen, ist es schwer, produktiv zu sein
Man sollte nicht leben, um zu arbeiten, sondern arbeiten, um zu leben. Arthur war früher vermutlich ausgiebig feiern, kam ohne Schlaf zur Arbeit und machte während Retrospektiven und Refinement-Meetings Nickerchen. Als Entwickler war er vielleicht der am wenigsten nützliche, aber auf dem Burning Man könnte er der König gewesen sein. Jetzt kann er mit einer gut gefüllten 401k in Rente gehen und kleine Holzfiguren herstellen, die er auf dem Bauernmarkt verkauft. In Wahrheit will er den Leuten dort wahrscheinlich nur von dem größten Fisch erzählen, den er je gefangen hat, oder von seinem Traum, einen Ramen-Foodtruck zu eröffnen, wenn die Schwiegereltern mitinvestieren. Arthur hat sein Leben gelebt — nur eben nicht bei der Arbeit
Ich hasse die Vorstellung, dass mein Leben erst beginnt, wenn ich in Rente bin. Umso mehr, wenn das gesetzliche Rentenalter dort, wo ich lebe, 67 sein könnte
Meistens ist es aber nicht so rosig. Arthur könnte übergewichtig sein, viele gesundheitliche Probleme haben, allein leben und sich ungesund an XYZ klammern, zum Beispiel Anime oder Spiele. Wenn er aber Kinder hat und sie gut großgezogen hat, dann habe ich als Elternteil allein dafür großen Respekt. Rückblickend ist der Rest nur Detail
Talentierte Menschen gibt es überall, und die Wahrscheinlichkeit, etwas Bahnbrechendes zu werden, das die Welt beeinflusst, ist absurd gering. Wenn man seinen Selbstwert daran knüpft, gerät die psychische Gesundheit stark ins Wanken.
Seit ich Kinder habe, haben sich mein Maß an Ehrgeiz und Verbissenheit deutlich verändert. Früher war ich besessen davon, der Beste zu werden, heute ist es eher „rück einfach das Geld raus“, und Priorität hat, möglichst viel freie Zeit für Familie und Freunde zu haben. Ich finde eine Karriere wie die von Mr. Westbrook völlig okay. Zum Glück hatte ich in meiner Laufbahn nicht durchgehend so schlechte Kollegen wie er. Jeder will etwas anderes, da muss man nicht urteilen. Wie die große Denkerin Alicia Keys sagte: „Du machst dein Ding.“
Ich habe nie konkurriert, sondern einfach meine Arbeit gemacht. Dabei habe ich gemerkt, dass ich schon mehr weiß und weiter bin als viele der Leute, von denen ich mich inspirieren ließ. Trotzdem war das nie mein Ziel und ist es auch heute nicht. Ich bin nur einer dieser sogenannten Dark-Matter-Entwickler. Ich mache einfach meine Arbeit, versuche es jedes Mal besser zu machen, und kümmere mich nicht um irgendeine Hall of Fame, egal ob scherzhaft oder ernst gemeint.
Als ich zum ersten Mal ein Kind bekam, schlug ich stark in die Richtung aus, von der Arbeit nichts mehr zu erwarten außer dem Lebensunterhalt für die Familie und Zeit mit ihr. Natürlich solange ich Kollegen unterstütze und kein Vertrauen breche. Aber als die Kinder größer und unabhängiger wurden, kam ich in eine Phase mit mehr mentalem Freiraum und Energie, und inzwischen freue ich mich wieder darauf, diese Energie in wirkungsvolle Arbeit zu stecken. Wichtig ist nur, dass ich viel klüger darin geworden bin, für mich und meine Familie eine gesunde und glückliche Balance zu finden. Ich bin nicht naiv genug zu glauben, dass das leicht wird, und denke, dass man ständig daran arbeiten muss. Aber als ich aus dem benommenen Nebel der Babybetreuung herauskam, wurde mir wieder klar, dass weder die vollständige Konzentration auf die Familie noch die vollständige Konzentration auf die Arbeit mein Weg ist.
Weltbewegendes für alle wird ziemlich überschätzt.
Man entscheidet sich dafür, interessante Software zu bauen, oder man entscheidet sich aus einem von Tausenden völlig legitimen Gründen dafür, klein zu leben. Wenn man sich für so großartig hält, sollte man nicht der Firma vorwerfen, sie habe einem „keine Chance gegeben“. Die Werkzeuge, die man zum Coden braucht, hat man bereits alle. Man muss nur etwas Cooles bauen.
Lustig ist es schon, aber wenn Arthur glücklich war oder es jetzt ist, gibt es kein Problem. Dieser Teil kommt im Text nicht vor.
Es ist 2023, und heutige Unternehmen entlassen dich bereitwillig in dem Moment, in dem sie dich für unrentabel halten. Diese hypothetische Person hat es bis zur Rente geschafft, also ist es gut ausgegangen. Aber was ist mit jemandem, der diese Strategie 15 Jahre lang verfolgt hat und jetzt auf Jobsuche ist, weil das Unternehmen 18 % der Belegschaft abbauen muss? Da klafft eine große Lücke bei nützlichen Fähigkeiten, und bis zur Rente sind es noch Jahrzehnte. Diese Person steckt wirklich in Schwierigkeiten.
Unser Unternehmen stellt Medizinprodukte her. Das ist ein Bereich mit einem strengen Softwareentwicklungs-Lebenszyklus. Ein Kollege wechselte zu einem deutlich größeren anderen Medizinprodukteunternehmen, und als ich ihn ein paar Jahre später traf, sagte er rückblickend, unser Unternehmen sei eine hochleistungsfähige, extrem agile Organisation gewesen. In der neuen Firma dauere eine zweizeilige Codeänderung, die faktisch nichts ändere, sondern nur etwas hinzufüge, ein Jahr. Und das, obwohl er immer weiter Druck gemacht habe.
Fairerweise muss man sagen: Änderungen an einem Hämodialyse-System sind kein Spaß.
Das wirkt wie die Programmierer-Version von WH Audens Gedicht The Unknown Citizen [0].
Als ich es zum ersten Mal las, hielt ich es für ein trauriges Gedicht über jemanden, der sein Leben mit dem Gewöhnlichen und Alltäglichen vergeudet hat. Heute sehe ich es als positives Gedicht: Er hat nach außen hin ein durchschnittliches Leben geführt, hatte aber sehr wahrscheinlich ein reiches Innenleben, das er nicht mit der Welt geteilt hat; und man sollte nicht erwarten, dass sich Größe an von außen messbaren Kennzahlen ablesen lässt. Großartig ist auch, dass die Leidenschaft dieses Mannes eine Soylent-Katzenfutter-Mischung für Menschen ist. Er hat all die Jahre gearbeitet und wurde am Ende für seine Leidenschaft freigesetzt.
[0] https://poets.org/poem/unknown-citizen
Die Vorstellung, dass das Leben sinnlos ist, dass man im Mühsal oder in der Wiederholung glücklich sein muss und stattdessen mit der „Reise“ und jedem einzelnen Moment zufrieden sein sollte. Das ist in Literatur und Geschichte sehr verbreitet. Als moderne Menschen mit Technik möchten wir glauben, wir seien irgendwie anders, erreichten eine neue Stufe und fänden einen Zweck, aber inzwischen bin ich mir da nicht mehr sicher. Vielleicht leben wir immer noch einfach von Tag zu Tag und sterben dann.
https://en.wikipedia.org/wiki/Sisyphus
https://en.wikipedia.org/wiki/The_Myth_of_Sisyphus
Trotz der letzten Zeile des Gedichts scheint es offensichtlich, dass er tatsächlich glücklich war. Sonst wäre er bei der Arbeit explodiert, Alkoholiker geworden oder geschieden worden. Oder er war ein extremer Stoiker.
Wenn das ein Seitenhieb auf sogenannte durchschnittliche Programmierer sein soll, ist es nicht lustig.
Ich habe einen Freund, nennen wir ihn AP, der als Programmierer bei einem lokalen Java-Entwicklungsunternehmen arbeitet. Er ist seit seinem Abschluss vor 12 Jahren am selben Ort und passt bis zu einem gewissen Grad auf die Beschreibung in diesem Text, gehört aber zu den glücklichsten Menschen, die ich kenne. Er verdient überdurchschnittlich, die Arbeit ist einfach und nicht besonders stressig. Er kennt die Codebase in- und auswendig und kommt auch mit seinen Kollegen gut klar. Außerhalb der Arbeit fährt er mit Freunden Fahrrad oder trinkt Bier und reist mit seiner Frau um die Welt. Menschen haben unterschiedliche Prioritäten, und nicht jeder ist davon besessen, bei der Arbeit herausragend zu sein.
Es gibt auch viele hervorragende Engineers, die an langweiligen, verrotteten Codebases arbeiten. Das ist nichts, wofür man sich schämen müsste.
[0] https://news.ycombinator.com/item?id=36985316
Jeder kann auf der grünen Wiese etwas Neues und Glänzendes bauen. Wenn es nicht klappt, kann man immer jemanden oder etwas finden, dem man die Schuld gibt, schließlich war das, was man ursprünglich bauen wollte, ja ein großartiger und sehr innovativer[1] Versuch. Mit der Zeit zu etwas anderem Neuen und Glänzenden weiterzuziehen, ist nicht nur in Ordnung, sondern wird sogar erwartet.
Dagegen können nicht viele Menschen durch gute und schlechte Zeiten hindurch bei einer Sache bis zum Ende dranbleiben. In den meisten Fällen reicht das allein nicht aus, aber für nachhaltigen Erfolg scheint es notwendig zu sein. Beispiele: Guido van Rossum[2], Linus Torvalds, Daniel Stenberg.
[1] Den „Hochrisiko“-Charakter muss man nicht einmal im Kleingedruckten erwähnen. Das verstehen ohnehin schon alle so.
[2] Ich kann die Quelle nicht finden, aber ich erinnere mich an ein Interview, in dem Guido auf die Frage nach dem Durchbruch von Python sagte, es habe keinen gegeben, es sei einfach stetig weitergewachsen.
Wenn ein Unternehmen eine Programmiersprache oder ein Betriebssystem baut, sollte man sicherstellen, dass diese Arbeit wirklich das ist, was man liebt.