- In der Softwarebranche gibt es den Mythos des „10x-Engineers“, also einer Person, die zehnmal produktiver sei als ihre Kolleginnen und Kollegen
- Dieses Konzept ist jedoch nur schwach belegt und birgt die Gefahr, Vorurteile zu verstärken oder unrealistische Maßstäbe zu setzen
Produktivität zu messen ist komplex und unvollkommen
- Wie soll man Produktivität messen?
- Engineer arbeiten in sehr unterschiedlichen Bereichen: Mikroprozessoren, IoT, Datenbanken, Web-Services, UX usw.
- Auch die verwendeten Sprachen und Frameworks unterscheiden sich: Golang, Python, COBOL, Lisp usw.
- Erforderlich ist zudem Fachwissen zu angrenzenden Technologien, Märkten und Produkten: Sicherheit, Datenvisualisierung, Marketing, Finanzen usw.
- Auch Entwicklungsphase und Größenordnung des Produkts sind verschieden: ob Mars-Rover oder einfache Software, macht einen Unterschied
- Technologien verändern sich
- Selbst Engineer, die früher herausragend waren, können mit der Zeit bei bestimmten Technologien zurückfallen
- Wer in einem bestimmten Bereich ein „10x-Engineer“ ist, kann in einem anderen nur durchschnittlich sein
Software gehört nicht einzelnen Engineers, sondern dem Team
- Die Qualität von Software wird nicht durch die Leistung einzelner, sondern durch die Leistung des Teams bestimmt
- Selbst wenn eine einzelne Person extrem schnell Code schreibt, bleibt das Gesamttempo am Ende gleich, wenn die Prozesse des Teams langsam sind
- Für Tests, Reviews, Deployment und Wartung wird mehr Zeit benötigt als für das Schreiben von Code
- Wenn eine bestimmte Person die faktische Eigentümerschaft an einer Software hat, entsteht ein großes Risiko, falls sie ausfällt oder das Team verlässt
- Eine teamzentrierte Struktur der Softwareentwicklung ist langfristig stabiler
Die besten Engineering-Organisationen sind Orte, an denen „normale“ Engineer außergewöhnliche Ergebnisse erzielen können
- Die besten Engineering-Organisationen bestehen nicht zwingend nur aus herausragenden Engineers
- Wichtig ist eine Umgebung, in der gewöhnliche Engineer im Alltag gute Ergebnisse erzielen und Produkt sowie Geschäft kontinuierlich voranbringen können
- Das Team muss das System verstehen und Code-Deployments, Nutzerreaktionen und Problemlösungen routinemäßig bewältigen können
- Die besten Engineering-Organisationen sind Umgebungen, in denen normale Engineer wachsen und Leistung bringen können
Warum „normale“ Engineer wichtig sind
- Die Softwarebranche neigt stark dazu, „smarte Leute“ überzubewerten
- Netflix sagt, man bevorzuge Talente aus den „obersten 10 %“, Coinbase spricht sogar von den „obersten 0,1 %“
- Doch die meisten Menschen sind durchschnittlich → deshalb braucht es Systeme, in denen durchschnittliche Menschen Leistung bringen können
- Software-Engineer werden nicht geboren, sondern entwickeln sich durch Training und Erfahrung
Soziotechnische Systeme für „normale Menschen“ bauen
- Systeme sollten so entworfen sein, dass „normale Menschen“ sie leicht nutzen können
- Dabei müssen normale menschliche Eigenschaften berücksichtigt werden:
- kognitive Verzerrungen wie Bestätigungsfehler, Recency Bias und Halo-Effekt
- Müdigkeit und emotionale Verfassung beeinflussen die Leistung
- Wenn um 3 Uhr morgens ein Alarm losgeht, ist die Fehlerwahrscheinlichkeit höher als um 15 Uhr nachmittags
- Wenn ein System intuitiv und leicht zu bedienen ist, können Engineer ihre Energie auf die Verbesserung des Produkts konzentrieren
Starke Engineering-Organisationen bringen Engineers auf Weltklasseniveau hervor
- Eine starke Engineering-Organisation ist nicht die, die schon nur Spitzenkräfte beschäftigt, sondern die, in der normale Engineer wachsen können
- In einer guten Organisation können auch durchschnittliche Engineer kontinuierlich Leistung bringen und sich weiterentwickeln
- Die besten Engineer gehen aus einer solchen Umgebung ganz natürlich hervor
Man sollte nicht die „Besten“, sondern die „Passenden“ einstellen
- Wichtiger als „die besten Talente“ zu suchen ist es, „Talente zu finden, die zu unserem Team passen“
- Das System sollte eher die Teamleistung als die Einzelleistung fördern
- Es braucht ein Umfeld, in dem Teamwork und Zusammenarbeit wichtiger sind als individuelle Performance
- Eine inklusive und faire Kultur steigert die Leistung und schafft Chancen für Engineer mit unterschiedlichsten Hintergründen, sich zu entwickeln
Fazit
- „10x-Engineer“ kann es in der Realität durchaus geben, doch das direkt mit Teamleistung gleichzusetzen, ist schwierig und riskant
- Herausragende Engineering-Organisationen beruhen nicht auf einigen wenigen Genies, sondern auf einer Struktur, in der normale Engineer Leistung bringen können
- Systeme sollten die Teamleistung stärker fördern als individuelle Performance
- Entscheidend ist eine Umgebung, in der normale Engineer durch inklusive Kultur und passende Systeme wachsen und Leistung bringen können
3 Kommentare
In einem Unternehmen, in dem nur 100x-Ingenieure arbeiten, sind 100x-Ingenieure der Normalfall. Das Normale ist wichtig. Es auf den Standard des Normalen anzuheben, ist noch wichtiger …
Ich denke, dass die 10x- oder 100x-SW-Ingenieure, von denen Leute wie Steve Jobs gesprochen haben, Folgendes bedeuten.
Bei Arbeiten wie Bauarbeit, Lieferung oder Fahren ist es für selbst den besten erfahrenen Facharbeiter schwer, mehr als die doppelte Effizienz einer durchschnittlichen Person zu erreichen. Bei SW oder Finanzen hingegen liefern gute Leute manchmal Ergebnisse, die selbst 100 durchschnittliche Menschen absolut nicht hervorbringen können.
Ausbildung zur Förderung von Talenten ist zwar wichtig, aber die Auswahl von Talenten ist ebenfalls wichtig. Zwischen Ausbildung und Auswahl scheint es einen großen Unterschied zu geben. Man sollte beides nicht vermischen und verwechseln.
Hacker-News-Kommentare
Die Vorstellung, dass Software Engineering etwas Besonderes sei, ist tendenziell schädlich
Es gibt keine "normalen" Ingenieure; es gibt Entwickler auf unterschiedlichen Niveaus
Software wird nicht von Teams, sondern von Einzelpersonen entwickelt
Gegen die Entmenschlichung und Kategorisierung der arbeitenden Klasse
Enttäuschung darüber, dass IEEE clickbait-ähnliche Inhalte behandelt
Ein 10x-Ingenieur ist kreativ und achtet auf User Experience und Wartbarkeit des Codes
Das Konzept des 10x-Ingenieurs ist übertrieben, aber es gibt einige Menschen, die sehr viel leisten
Engineering-Arbeit hat andere Eigenschaften als andere Berufe
Manchmal fühlt man sich im Vergleich zu anderen ohnmächtig
Viele Ingenieure arbeiten wegen des Geldes, und ohne Leidenschaft ist es schwer, ein herausragender Ingenieur zu werden