Wie man einen 10x-Entwickler einstellt

13. Juni 2018
Wie man einen 10x Entwickler einstellt - die besten 2018 HR-Artikel und Ressourcen

Millionen von Anschlägen wurden im Internet auf das Thema des 10x-Entwicklers verwendet. Es gibt eine Reihe unterschiedlicher Definitionen und viele Fragen, ob es sich überhaupt um ein reales Phänomen handelt. Aber der Mythos ist für die meisten Menschen zu schön, um ihn aufzugeben. Gibt es wirklich Entwickler da draußen, die Ihre Ergebnisse um das Zehnfache verstärken können?

Die Wahrheit ist, dass es da draußen Entwickler gibt, die 10x sind, aber sie sind nicht diejenigen, die Sie denken. Sie sind keine einsamen Wolfs-Rockstars, die den Ruf haben, alleine in ein paar Stunden das zu schaffen, wofür die meisten Teams eine Woche brauchen würden. Die Wahrheit ist sogar noch faszinierender und kann der Schlüssel zur Multiplikation der Effektivität Ihres Teams sein.

Was ist ein 10x Programmierer oder Entwickler?

Es gibt eine Reihe von Definitionen für einen 10x-Entwickler. Hier sind einige, die wir gefunden haben.

  • Ein Entwickler, der mit den ihm zur Verfügung stehenden Werkzeugen und Ressourcen die 10-fache Leistung der schlechtesten Entwickler erreichen kann. Quelle: Kenny Bergquist
  • Ein Entwickler, der Dinge tun kann, die ein Team von 10 kleineren Entwicklern nicht tun könnte. Quelle: Jewgenij Brikman
  • Ein Entwickler, der in der Lage ist, die 10-fache Produktivität in seinem Team freizusetzen. Quelle: Sylvain Kalache über Stapelüberlauf

Aber ist einer von ihnen die wahre Definition eines 10x Softwareentwicklers? Kommt das aus einer Kombination von allen drei dieser Eigenschaften? Wenn Sie Mitarbeiter einstellen, ist Ihre erste Priorität, die Ergebnisse Ihres Unternehmens zu verstärken. Kommt das von einem hyper-effizienten Entwickler oder einem Team-Builder? Um herauszufinden, welche Eigenschaften am wichtigsten sind, ist es sinnvoll, dorthin zurückzugehen, wo die Idee des 10x-Programmierers und später Entwicklers begann.

10x Entwickler-Attribute

Quelle: Der negativ produzierende Netto-Programmierer

Die Ursprünge des 10x-Entwicklers

Die Idee des 10x Software-Entwicklers tauchte erstmals in einer Studie mit dem Titel "Explorative experimentelle Studien zum Vergleich der Online- und Offline-Programmierleistung" von 1968. Die Autoren der Studie, Sackman, Erikson und Grant, wollten eigentlich nicht testen, ob der 10-fache Softwareentwickler real ist. Stattdessen wollten sie die Unterschiede in der Effizienz zwischen Online- und Offline-Programmierern testen (online bedeutet auf einem Computer, während offline auf Papier bedeutet), eine Unterscheidung, die uns heute nicht mehr interessiert, da so gut wie alle Programmierungen online durchgeführt werden.

Das Interessante an dieser Studie war jedoch, dass es große Unterschiede in der Leistung scheinbar identischer Programmierer gibt, was darauf hindeutet, dass einige sehr viel effizienter sein könnten als andere. Nun, einige der Unterschiede waren weniger dramatisch, wenn man einige der Mängel der Studie berücksichtigt. Wenn man diese Mängel berücksichtigt, sind Befürworter wie Steve McConnell von Construx Software behaupten immer noch, dass die Studie einen bis zu 10-fachen Unterschied in der Leistung scheinbar identischer Programmierer aufzeigt.

Seit der Veröffentlichung dieser Studie sind in anderen Untersuchungen Variationen des 10x-Effekts aufgetreten.

  • Barry Boehm und andere Forscher kamen zu dem Schluss, dass die Entwicklung eines Programms mit einem Team im 15. Perzentil der nach Fähigkeiten gereihten Programmierer in der Regel etwa 3,5-mal so viele Mitarbeitermonate erfordert wie die Entwicklung eines Programms mit einem Team im 90. Quelle: Konstruieren
  • Auch Joel Spolsky beobachtet den Effekt bei Informatikstudenten in Yale. Es lohnt sich, seine Erklärung der 10x-Phänomene in Die hohen Töne treffen.

Ein 10x-Entwickler benötigt viel weniger Zeit zur Erledigung von Aufgaben als seine Kollegen.

In einer Gruppe von ebenso erfahrenen Informatikstudenten korreliert die für ein Projekt aufgewendete Zeit nicht mit der Qualität des Codes. Quelle: Joel Spolsky

Dies sind kaum die einzigen Studien, die einen Vergrößerungseffekt bei G. Gordon Schulmeyer beobachtet haben,

Forscher haben zwischen einem niedrigen von 5 zu 1 bis zu einem hohen von 100 zu 1 Verhältnissen in der Programmiererleistung gefunden. Das bedeutet, dass Programmierer auf dem gleichen Niveau, mit ähnlichem Hintergrund und vergleichbarem Gehalt, 1 bis 100 Wochen für die gleichen Aufgaben benötigen könnten.

QuelleDer negativ produzierende Netto-Programmierer

Aber wie Gordon betont, berücksichtigen diese Studien nicht die negativen Auswirkungen, die diese Entwickler auf die Produktivität haben können. Ein Entwickler kann ein Programm in einem Zehntel der Zeit wie ein anderer vernichten, aber es könnte alles Spaghetticode sein. Wenn ihre Kollegen 10 Mal länger brauchen, um es zu entwirren, ist der Beitrag des Entwicklers effektiv 1x.

Wenn Sie Spaghetti-Code mit einem Entwickler koppeln, der dem Zusammenhalt des Teams schadet, könnte er dazu übergehen, einen negativen Beitrag zur Leistung des Unternehmens zu leisten. In Anbetracht dessen müssen Sie sich eine wichtige Frage stellen, bevor Sie versuchen, einen 10-fachen Softwareentwickler in Ihr Unternehmen aufzunehmen.

Auf welche Eigenschaften sollten Sie bei einem 10x-Softwareentwickler achten?

Auf welche Eigenschaften sollten Sie bei einem 10x-Entwickler achten?Quelle: Jewgeni Tscherkasski auf Entblößt

1. Sie wissen, was zu tun ist

Dies sollte ein offensichtlicher erster Schritt sein, aber ein 10x Software-Entwickler weiß, wie die meisten Probleme sofort gelöst werden können. Zumindest sollte er wissen, was er zu tun hat und wenn nicht, welche Fragen er stellen muss. Quelle: Stapeln Sie

Unabhängig davon, ob ihre Fähigkeiten auf überlegenen Erfahrungen oder Kenntnissen beruhen, können sie die richtigen Entscheidungen darüber treffen, wie bei einer Softwareentwicklungsaufgabe vorzugehen ist. Wie Chris Stainthorpe, der technische Mitbegründer von CustomerSure, sagt:

Die "10x"-Codierer, mit denen ich gearbeitet habe, haben die Gabe, "langweilige" Technologieentscheidungen zu treffen, Einfühlungsvermögen für die Bedürfnisse der Benutzer zu zeigen und den Lebenszyklus von Softwareprodukten in großen Bildern zu betrachten.

Quelle: Stapel-Überlauf

Jemand, der nicht 10x ist, kann diese Rolle einfach nicht ausfüllen. Wie Joel Spolsky es beschreibt,

Es geht nicht nur um "zehnmal produktiver". Es geht darum, dass der "durchschnittlich produktive" Entwickler nie die hohen Töne trifft, die großartige Software ausmachen.

Quelle: Joel Spolsky

Was Sie feststellen werden, ist, dass die besten Programmierer sehr gute Erfahrungen mit Fähigkeiten im Bereich des Mustervergleichs haben und auch sehr komplexe Debugging-Aufgaben erledigen können, zu denen ein weniger guter Programmierer einfach nicht in der Lage wäre. Quelle:

2. Sie verstehen, warum sie es tun sollten

Man muss eine Leidenschaft für das Problem haben und es von innen und außen verstehen, um wirklich ein 10x-Entwickler zu sein.

Quelle: Stapeln Sie

Wenn Sie das Problem in- und auswendig kennen, werden Sie die richtigen Entscheidungen treffen können. Schließlich ist ein 10x-Entwickler nicht nur 10x, weil er schnell arbeiten kann, sondern 10x, weil er keine Zeit damit vergeudet, den falschen Weg einzuschlagen. In der Regel haben sie ein Verständnis für die Maschine, an der sie arbeiten (das Betriebssystem und andere Komponenten) und haben gute theoretische Kenntnisse der Technologien, mit denen sie sich mit dem Quellcode befassen:

3. Sie wissen, wann sie jede Sache tun sollten

Ein 10x Softwareentwickler versteht, wo Zeit und Ressourcen aufgewendet werden sollten, um ein optimales Ergebnis zu erzielen. Ein echter 10x-Softwareentwickler wird nicht einfach sofort mit dem Programmieren beginnen und alles ausspucken, was ihm einfällt. Stattdessen werden Sie feststellen, dass sie entscheiden, wie sie ihre Zeit am besten verbringen. Quelle: Stapeln Sie

Ein vollständiges Verständnis der Architektur des Projekts, an dem sie arbeiten, bevor sie mit der Arbeit beginnen, kann zu massiven Zeiteinsparungen führen. Es bewahrt sie davor, in die falsche Gasse zu gehen, unnötige Arbeit zu leisten und generell an zeitaufwändigen Projekten zu arbeiten, die nur einen minimalen Nutzen haben.

Anders ausgedrückt: Ein 10x Softwareentwickler wird einen Teil des Projekts kürzen, der 5% des Gesamtergebnisses beisteuern könnte, aber 80% der investierten Zeit und Mühe ergibt:

4. Sie tragen zur Arbeitskultur bei

Der 10x-Entwickler trägt zur Arbeitskultur beiEs gibt eine große Debatte um 10x Programmierer, die die Idee für viele Leute beschmutzt. Der springende Punkt dabei ist, dass man oft Leistungsträger bekommt, die einfach nicht mit dem Rest des Teams zusammenarbeiten. Diese Leute, die manchmal als Ninja-Programmierer bezeichnet werden, können vielleicht erstaunliche Ergebnisse erzielen, aber sie sind nicht in der Lage, das Team um sie herum anzuheben. Im Extremfall treibt ihre Arroganz den Rest des Teams dazu, das Team zu verlassen, wodurch jeder von ihnen erbrachte Nutzen zunichte gemacht wird. Quelle: Der Nachrichtenstapel

Tatsächlich warnt Rand Fishkin, CEO von Moz, davor, 10x Idioten einzustellen, und zwar genau aus diesem Grund: Er würde vorschlagen, jeden Tag einen durchschnittlichen Teambuilder einzustellen, weil es einfach eine Freude ist, mit ihnen zusammenzuarbeiten. Quelle: Code-Mentor

Aber wenn die Idee von 10x ist, dass man 10x das Ergebnis schafft. Wenn Sie einen Entwickler haben, der 10 andere Personen dazu befähigt, ihre Produktivität zu steigern, was letztendlich zu einer 10-fachen Produktivität für das Team führt, dann ist er ein 10-fach-Entwickler. Quelle: Stapel-Überlauf

Nehmen Sie diese Anekdote aus einem Beitrag von pradn auf Hacker News. Der Beitragende gibt ein perfektes Beispiel dafür, wie eine Person einen enormen Wert für das Team, dem sie angehört, schaffen kann.

Ich bin gerade in einem Team, das, glaube ich, einen 10-fachen Softwareentwickler hat. Er hat ein einfaches Threading-Modell gewählt, um tonnenweise verschwendete Zeit für Deadlocks und andere Threading-Probleme zu vermeiden. Es ist auch einfacher zu begründen und neue Leute an Bord zu holen. Wenn er Code überprüft, findet er Fehler, die tagelange Fehlersuche verhindern und schlägt einfachere Architekturen vor, die den Code leichter zu verstehen und zu ändern machen. Er hat diesen Effekt bei ~20 Leuten über ~5 Jahre gehabt. Ich wäre nicht überrascht, wenn er uns insgesamt ~1 Jahr Entwicklungszeit erspart.

Quelle: Hacker-Nachrichten

Der Beitrag, den dieser bestimmte Teammacher leistet, erhebt nicht nur ihn selbst, sondern das gesamte Team. Diese Person fungiert als Multiplikator für das Team, und das sind die wahren Ergebnisse, die Sie sich bei der Einstellung wünschen. Quelle: Sean Cassidy

5. Ein 10x Software-Entwickler passt in die Rolle, die Sie von ihm benötigen

Ein weiteres Thema, das häufig mit der Idee der 10x-Softwareentwickler aufwartet, die in jede beliebige Rolle versetzt werden können und auf 10x-Ebene arbeiten können, egal in welcher technischen Umgebung sie arbeiten. Quelle: Kodierer

Es ist sicherlich richtig, dass ein 10x-Darsteller in den meisten Situationen fortgeschrittene Ergebnisse erzielen kann, aber das täuscht darüber hinweg, dass manche Menschen für bestimmte Situationen und bestimmte technologische Umgebungen 10x sein können. Anderswo werden sie wirklich nur normale Ergebnisse erzielen. Es ist wichtig, dafür zu sorgen, dass ein Entwickler in Ihrem Unternehmen das 10fache an Leistung erbringt.

6. Sie versuchen immer, sich zu verbessern

Ein 10x sollte immer neue Dinge lernen. Jede neue Fertigkeit, jedes neue Werkzeug und jeder neue Ansatz ist ein neuer Weg, ein Problem zu lösen. Und nicht nur das, sondern sie werden mit den technologischen Veränderungen Schritt halten und auf einem 10x-Niveau produzieren.

Wie man die Fähigkeiten eines 10x Software-Entwicklers testet

Wie man die Fähigkeiten eines 10x-Entwicklers testet10x Software-Entwickler, die nicht mit ihrem Ruf als Rockstars handeln, sind ziemlich schwer zu finden. Sie benötigen eine stärkere Überprüfung als ein regulärer Kandidat.

Prüfen Sie ihre fachlichen Fähigkeiten

Wenn Sie einen Entwickler finden, von dem Sie vermuten, dass er Ihrem Team helfen wird, die 10-fache Produktivität und den 10-fachen Output zu erreichen, sollten Sie als erstes mit seinen beruflichen Fähigkeiten beginnen. Wahrscheinlich ist der beste Weg, dies zu betrachten, wo die Arbeitsprobe-Test. Der Arbeitsproben-Test ist einzigartig angepasst, um Fähigkeiten zu identifizieren, die den Output verstärken. Denn im Gegensatz zu einem algorithmischen Test werden bei einem Arbeitsproben-Test eher Geschäftsprobleme als einfache Codierfähigkeiten getestet. Und mit DevSkiller ist er wirklich einfach durchzuführen.

Sagen wir, Ihr Kandidat fühlt sich mit Java am wohlsten. Geben Sie ihnen einen Java-Test für Fortgeschrittene und sehen Sie, wie sie abschneiden.

Prüfen, wie anpassungsfähig sie an neue Programmierumgebungen sind

Aber ein Java-Test ist nicht genug. Ein 10x-Entwickler sollte in der Lage sein, sich bis zu einem gewissen Grad an andere technologische Umgebungen anzupassen, wenn es nötig ist. Nehmen wir also an, Ihr Kandidat sagt, dass er sehr gut mit Java umgehen kann, aber nie Python verwendet. Geben Sie ihnen zusätzlich zu ihrer Java-Aufgabe eine einfache Python-Aufgabe. Selbst wenn sie Python noch nie benutzt haben, sollte ein echter 10x-Entwickler in der Lage sein, herauszufinden, wie er eine einfache Aufgabe in der vorgegebenen Zeit erledigen kann.

Prüfen Sie ihre Debugging-Fähigkeiten

Eines der wahren Markenzeichen eines 10x-Entwicklers ist seine Fähigkeit, komplexes und hochgradiges Debugging durchzuführen. Dies ist die Art von Debugging, für die ein normaler Entwickler unendlich viel Zeit zur Verfügung hätte und die er trotzdem nicht durchführen könnte. Das liegt daran, dass er einfach nicht über die Fähigkeiten und das Verständnis der Technologie verfügt.

Auch hier können Sie eine automatisierte Plattform wie DevSkiller verwenden, um dem Kandidaten fortgeschrittenen Code mit fortgeschrittenen Fehlern zu geben, die er finden und entfernen muss. Sie werden feststellen, dass ein Entwickler, der dies tun kann, einen Produktivitätsvorteil von hundert zu eins gegenüber einem normalen Entwickler bietet. Quelle: Nevo

Laden Sie Ihre besten Kandidaten zu einem Code-Interview ein, um zu sehen, wie gut sie mit anderen zusammenarbeiten

Ein Teil der Prüfung der Kodierfähigkeiten einer Person besteht darin, zu sehen, ob sie über das technische Wissen verfügt, um wirklich einen 10-fachen Beitrag zu leisten. Aber die andere Hälfte eines 10x-Entwicklers besteht darin, die anderen Personen in Ihrem Team zu befördern, so dass das Team selbst einen 10x-Beitrag leistet. Um dies zu erreichen, müssen Sie herausfinden, wie gut der Kandidat mit anderen zusammenarbeitet und wie sie den Output des Teams verbessern können.

Der wahrscheinlich beste Weg, dies zu tun, ist ein Paar-Codierungs-Interview. In dem Interview arbeitet ein Interviewer mit dem Kandidaten an der Lösung eines Geschäftsproblems. Bei dieser Art von Interview geht es nicht nur darum, ein Gefühl dafür zu bekommen, wie gut sie die Codierung verstehen. Es kann auch zeigen, welche Art von Entscheidungen sie treffen, wie sie auf Feedback reagieren und wie gut sie mit anderen zusammenarbeiten. Selbst wenn der Entwickler nicht für ein persönliches Interview zur Verfügung steht, ist es einfach, eines dieser Interviews aus der Ferne mit einer Plattform wie DevSkiller.

Es ist an der Zeit, Ihren 10x-Entwickler zu finden

Bevor Sie auf die Jagd nach Einhorn-10x-Entwicklern gehen, ist es wichtig zu verstehen, dass sie fast so selten sind wie die Fabelwesen. Sie werden wahrscheinlich eine Menge durchschnittlicher Entwickler finden und die Wahrheit ist, wenn Sie einen 10x-Entwickler im Team haben, können sie die Produktivität der durchschnittlichen Programmierer um sie herum stark erhöhen, also lohnt es sich trotzdem, nach dem einen Verstärker zu suchen.

Es ist wichtig, sich daran zu erinnern:

  • Finden Sie einen Entwickler, der Ihren Bedürfnissen entspricht (Sie können damit beginnen, indem Sie sich ihre Open-Source-Beiträge). Dies bedeutet einen, der sowohl in der technologischen als auch in der Management-Umgebung Ihres Unternehmens 10x sein wird.
  • Stellen Sie sicher, dass sie sowohl für sich allein als auch im Team hervorragend sind. Sie wollen niemanden, der für sich allein erstaunlich ist, aber dann den Rest des Unternehmens herunterzieht.
  • Führen Sie umfangreiche Tests durch, um zu sehen, wie gut sie in ihrem gewählten Bereich sind, wie gut sie sich an neue Umgebungen anpassen können und wie gut sie mit anderen zusammenarbeiten können.

Jetzt, wo Sie bereit sind, ist es also an der Zeit, Ihren 10x-Entwickler zu finden. Die Belohnungen werden für Sie und Ihr Unternehmen erstaunlich sein.

Beitrag teilen

Es ist mehr als nur ein Newsletter

Erhalten Sie nützliche Einblicke direkt in Ihren Posteingang und erfahren Sie mehr über die Einstellung von Technikern.

Kodierfähigkeiten nahtlos verifizieren & entwickeln.

Sehen Sie DevSkiller-Produkte in Aktion.

Sicherheitszertifizierungen & Konformität. Wir sorgen dafür, dass Ihre Daten sicher und geschützt sind.