- Was würdest du wählen, wenn sorgfältige Arbeit und das hohe Tempo eines Unternehmens miteinander kollidieren?
- Die Geschichte des Ingenieurs Chris Krycho, der sich zwischen dem Festhalten an seinen Überzeugungen mit Kompromissen und dem Weggang auf der Suche nach Arbeit im Einklang mit seinen Prinzipien für Letzteres entschied.
- Chris verließ LinkedIn letztlich, um Arbeit zu verfolgen, die seinen eigenen Grundsätzen entsprach.
- Zusammenfassung dessen, was er im Podcast erzählt hat.
- Seine Geschichte betont die Spannung zwischen der „Notwendigkeit von Innovation“ und der „Wichtigkeit der Projekthygiene“.
Chris Krychos erster Tag bei LinkedIn
- Chris kam Ende Januar 2019 zu LinkedIn. Er durchlief verschiedene Onboarding-Prozesse, wie sie in großen Unternehmen oder gesunden kleineren Firmen häufig vorkommen.
- Chris sollte remote aus Colorado arbeiten, verbrachte aber die ersten zwei Wochen mit Onboarding und Zeit mit dem Team.
Millionen von Codezeilen
- Im Vergleich zu seinen Erfahrungen bei früheren Unternehmen war er vom Umfang der Frontend-Client-App und der Backend-Services bei LinkedIn stark überrascht.
- Das LinkedIn-Frontend umfasst 2 Millionen Zeilen Code, deutlich mehr als die gesamte Codebasis seines vorherigen Unternehmens.
Das Infrastruktur-Team
- Chris’ Rolle im Infrastruktur-Team konzentrierte sich nicht auf den Serveraufbau, sondern auf Engineering Enablement bzw. die Verbesserung der Developer Experience.
- Ziel war es, die Arbeit an LinkedIns großer Desktop-App einfacher zu machen.
Modernisierung von JavaScript
- Er arbeitete an der Modernisierung des Codes durch die Einführung von JavaScript-Klassen. Während er Probleme löste, die beim Einsatz des Ember-Frameworks entstanden, lernte er viel.
- Bei Migrationen in einer großen Codebasis müsse so viel wie möglich automatisiert werden; der Arbeitsaufwand sei zu groß, um ihn manuell zu bewältigen.
Einführung von TypeScript
- Um Fehler im Frontend zu reduzieren, fiel die Entscheidung für einen Wechsel zu TypeScript.
- TypeScript lässt sich schrittweise einführen und bietet damit die Skalierbarkeit, die LinkedIn benötigte.
Langsamer Migrationsplan vs. „Finger Gun's Plan“
- Chris und sein Team schlugen einen 3- bis 5-Jahres-Plan vor, um Ember-Code nach React zu migrieren, während ein anderes Team den „Finger Gun's Plan“ präsentierte, der ein komplettes Umdenken und hohes Tempo versprach.
- Dieser Unterschied im Ansatz spiegelte den Konflikt zwischen den Problemen wider, die Chris und sein Team erlebten, und einer Unternehmenskultur, die Geschwindigkeit priorisierte.
Chris’ Erfahrungen und Erkenntnisse
- Er erkannte ein Problem mit unzureichenden Benachrichtigungen.
- Durch steigende Speichernutzung und eine Kettenreaktion von Serverneustarts fielen Server im gesamten Rechenzentrum aus.
- Er versuchte, das Problem durch System-Resets und Anpassungen von Berechtigungen zu lösen.
- Scheitern ist unvermeidlich, und Software Engineering bedeutet, Systeme zu entwerfen, die den Prozess unterstützen, in dem Ingenieure Produktresultate hervorbringen.
- Er betonte die Notwendigkeit von Systemen mit Resilienz auf mehreren Ebenen.
Gegenreaktionen auf den Vorfall
- Während der Problemlösung entstand Unzufriedenheit wegen mangelnden Vertrauens seitens des Managements.
- Es kam zu Meinungsverschiedenheiten mit einem Senior Engineer und zu Kommunikationsproblemen.
- Er betonte, dass ein System nicht nur im Bestzustand funktionieren, sondern in allen Situationen unterstützen können müsse.
Zunehmender Druck
- Trotz der Bemühungen, technische Schulden abzubauen und die Resilienz zu verbessern, wuchs die Unzufriedenheit der Führungsebene.
- Es kam zu Konflikten mit dem Management, das für komplexe Probleme einfache Lösungen verlangte.
Organisatorische Neuaufstellung
- Organisatorische Umstrukturierung und Rollenänderungen durch das „Finger-Guns-Team“.
- Er erkannte neue Erfahrungen und Lernchancen in einer anderen Rolle.
Reflexion und Erkenntnis
- Selbstreflexion durch frühere Erfahrungen und die aktuelle Situation.
- Erkenntnis der Bedeutung von Beziehungsaufbau und Kommunikation.
- Verständnis dafür, dass technische und soziale Probleme miteinander verknüpft sind.
Fazit und Lehren
- Chris behielt eine kritische Sicht auf eine Kultur bei, die Geschwindigkeit zum höchsten Wert erhebt.
- Durch die Reflexion über Karriere und persönliche Werte suchte er nach neuen Möglichkeiten.
- Chris’ Weg auf der Suche nach einer Rolle, in der Engineering Excellence angestrebt wird, geht weiter.
Meinung von GN⁺
- Chris Krychos Erfahrungen zeigen den Konflikt zwischen technischen Prinzipien und geschäftlichen Anforderungen deutlich.
- Seine Entscheidung unterstreicht, wie wichtig es ist, ein Gleichgewicht zwischen persönlichen Werten und beruflichen Entscheidungen zu finden.
- Change Management in einer groß angelegten technischen Umgebung wie bei LinkedIn ist komplex und bietet auch für andere Unternehmen wichtige Lehren.
- Die Einführung von Technologien wie TypeScript kann helfen, die Codequalität zu verbessern und Fehler zu reduzieren, erfordert in großen Codebasen jedoch einen schrittweisen Ansatz.
- Beim Vorantreiben solcher technischen Veränderungen sollte das Gleichgewicht zwischen Developer Experience und der Geschwindigkeit von Produkt-Releases berücksichtigt werden.
1 Kommentare
Hacker-News-Kommentare