10x-Entwickler sind die Fabelwesen unserer Zeit.
Was sind sie? Was machen sie, um so besonders zu sein?
Was bedeutet 10x überhaupt? Ein 10-facher Entwickler ist jemand, der so produktiv ist wie 10 andere (vermeintlich). Er/sie wäre also in der Lage, das 10-fache seiner/ihrer Kollegen zu produzieren.
Wovon reden wir hier eigentlich?
Natürlich könnte ein leitender Ingenieur 10-mal produktiver sein als ein Praktikant, aber wäre das unter Kollegen mit den gleichen Erfahrungsjahren und zumindest auf dem Papier den gleichen Fähigkeiten wirklich möglich?
Wenn man über Leistung und Produktivität in Teams liest, stößt man oft auf Dinge wie das Pareto-Gesetz und die Gaußsche Kurve. (
Das Pareto-Gesetz ist die berühmte 80-20-Regel, die für fast alles gilt: von der Verteilung des Reichtums und der globalen Ungleichheit bis hin zu Zeitmanagement und Produktivität.
Wenn es um Teamleistung geht, ergibt sich daraus:
80% der Entwickler erledigen nur 20% der Arbeit. Das bedeutet, dass die restlichen 20%, die Top-Performer, 80% aller Aufgaben erledigen können.
Die Glockenkurve wird oft verwendet, um die Verteilung der Leistungsfähigkeit von Mitarbeitern zu beschreiben, und besagt, dass etwa 80 % der Mitarbeiter um den Durchschnitt herum liegen, während der Rest entweder Top-Performer oder schlechte Performer sind.
Wie auch immer wir diese Diagramme und Zahlen betrachten, der Unterschied zwischen dem besten und dem schlechtesten Leistungsträger in einem Team kann enorm sein. Vielleicht beziehen wir uns nur darauf, wenn wir von einer 10-fachen Abweichung sprechen? Oder wir sollten nur den Unterschied zum Durchschnitt der anderen Entwickler betrachten. Ob so etwas nun statistisch möglich ist oder nicht, wir können nicht leugnen, dass einige Entwickler in der Tat viel leistungsfähiger sind als andere.
Woher kommt also diese Genialität?
Liegt es an der jahrelangen Erfahrung? Nicht wirklich.
10 Jahre Erfahrung könnten einfach eine einjährige Erfahrung bedeuten, die 10 Mal wiederholt wurde.
Wenn Sie in demselben Job festsitzen und jeden Tag und jedes Jahr dieselbe Aufgabe erledigen und wenn Sie nicht den Drang verspüren, aufzusteigen und neue Dinge zu lernen, werden Sie vielleicht überrascht sein, wenn ein normaler Entwickler mit nur 3 Jahren in seinem Lebenslauf rasend schnell ist und mehr weiß als Sie (nicht nur über den neuesten coolen Tech-Stack).
Ist es, weil sie bis spät arbeiten und kein Leben haben? Nicht wirklich.
Ein 10x-Entwickler macht keine Überstunden. Es bedeutet nicht, länger zu arbeiten. Es bedeutet definitiv, härter zu arbeiten, aber meistens auf eine intelligentere Art und Weise.
Ich bin weit davon entfernt, ein 10x-Entwickler zu sein, aber in meiner Karriere hatte ich das Glück, zumindest ein paar solcher erstaunlichen Individuen zu treffen und mit ihnen zu arbeiten, und ich kann sagen, dass dies einige der Eigenschaften sind, die sie gemeinsam hatten:
Arbeit an den richtigen Dingen auf die richtige Weise
Effektivität und Effizienz:
Effektiv zu sein bedeutet, die richtigen Dinge zu tun, während effizient zu sein bedeutet, die Dinge richtig zu tun.
Nun, 10x-Entwickler tun normalerweise beides. Sie verschwenden keine Zeit damit, unnötige Dinge auf die perfekteste Weise zu tun. Sie erledigen die richtigen Dinge auf die (ausreichend) richtige Art und Weise.
Dies kann erreicht werden durch:
Fragen stellen
warum
Manchmal können schlechte Anforderungen, unklare Spezifikationen und falsche Annahmen dazu führen, dass man Stunden an Entwicklungszeit verschwendet. Sie müssen nicht nur Ihre Schätzungen korrigieren oder Nacharbeiten einschieben, sondern es kann auch sehr frustrierend sein, den ganzen tollen Code, den Sie gerade erstellt haben, wegzuwerfen.
wie
Wenn Sie nicht weiterkommen, wenn Sie Hilfe brauchen, fragen Sie nach Hilfe. Frag nicht nach einer Lösung, frag nach einem Hinweis, nach einer Anleitung, nach einem Tipp, der dich dazu bringen kann, die Lösung selbst herauszufinden. Hab keine Angst. Du musst nicht alles wissen und es ist gut, dass du zeigst, dass du lernwillig bist.
Konzentriere dich, vermeide Ablenkungen
Wie viel Zeit verbringen wir wirklich damit, Youtube zu schauen, unser Telefon zu checken, Freunden auf WhatsApp oder Snapchat zu antworten oder einfach auf der Facebook-Pinnwand zu scrollen?
Was ist, wenn ich dir sage, dass du 1 bis 2 Stunden am Tag damit verbringst? überprüfe die Nutzung dieser Apps auf deinem Telefon. du wirst erschrecken. (Du kannst Apps wie diese benutzen, um es zu beweisen).
Wir müssen nicht unbedingt mit all dem aufhören. Nur zu erkennen, wie viel Zeit wir mit diesen Dingen verschwenden, wenn wir eigentlich produktiv sein sollten, ist der erste Schritt, und dann können wir Tools wie die Pomodoro-Technik nutzen, die uns dabei helfen, uns von sozialen Netzwerken und dem Smartphone fernzuhalten und den FLOW zumindest für die gesamte Dauer eines Pomodoro-Timers aufrechtzuerhalten.
Ich sage nicht einmal, dass wir keine Pause machen sollten, es geht eher darum, uns wirklich bewusst zu machen, wo unsere kostbare Zeit verbraucht wird. (Auch wenn es sicherlich besser ist, aufzustehen, spazieren zu gehen, mit einem Kollegen zu plaudern, 10 Minuten lang Kicker oder Tischtennis zu spielen, als Facebook zu checken. Gönnen Sie Ihren Augen und Ihrem Gehirn eine Pause vom Bildschirm!).
Eine Pause, eine kleine Auszeit zu nehmen, kann Ihre Produktivität tatsächlich steigern
Verwenden Sie Tools, die Sie beschleunigen, lernen Sie Tastenkombinationen
Was wir meistens tun, ist tippen und klicken, es scheint verrückt, aber Sie können wirklich superschnell werden, wenn Sie anfangen, Tastenkombinationen in Ihrer IDE zu verwenden und wenn Sie das Terminal / die Kommandozeile ausgiebig nutzen. Das Ausführen von grep version package.json
ist viel schneller als in den Finder zu gehen, auf package.json zu klicken und dann den Versionsparameter zu lesen.
Eintippen
git stash git pull git checkout -b my_new_feature git stash pop
ist um Längen schneller als das Gleiche mit einem visuellen Werkzeug zu tun.
Du denkst vielleicht, dass das nur Sekunden spart, aber um ein 10-facher Entwickler zu werden, zählt jede Sekunde (und außerdem ist es gut, von der Maus wegzubleiben, um dem Karpaltunnelsyndrom vorzubeugen)
Hier kannst du über einige Tools und Tipps lesen, die mir helfen, Code besser und schneller zu schreiben und zu debuggen.
Sei lernbegierig
Die Menge an Informationen da draußen ist riesig. Manchmal muss man dafür bezahlen, die meiste Zeit ist sie kostenlos. Es gibt keine Ausrede, nicht etwas Zeit in die persönliche Entwicklung zu investieren. Lesen Sie Artikel, hören Sie Podcasts, sehen Sie sich Tutorials an und besuchen Sie Online-Kurse. Es muss nicht einmal immer um Programmierung gehen – sonst könnte man argumentieren, dass ein 10x-Entwickler tatsächlich seinen ganzen Tag mit „Arbeit“ verbringt – (ich finde z.B. Getting Smarter Every Day und You are not so smart sehr geistreich).
Es ist mehr eine Einstellung, ein Geisteszustand. Die Neugier, der Wissensdurst macht den Unterschied zum Durchschnitt aus.
Umgeben Sie sich mit Top-Performern / Finden Sie einen Mentor
Der schnellste, klügste, fähigste Entwickler in Ihrem Team zu sein, mag gut für Ihr Ego sein, aber es ist nicht gut für Ihr Wachstum. So bequem und erfüllend es auch sein mag, versuchen Sie, nie die klügste Person im Raum zu sein, und halten Sie immer Ausschau nach Leuten, die sehr gut sind in dem, was sie tun, die besser sind als Sie, und halten Sie sich an sie.
Gib etwas zurück. Teile dein Wissen
Sobald du etwas gelernt hast, versuche, jemand anderem zu helfen, lehre andere Kollegen, teile dein Wissen.
Es kann sein, dass Sie nach dem täglichen Standup einen Ratschlag geben, eine kurze Präsentation für Ihr Team halten, einen Blogbeitrag schreiben oder Mentor auf einer Online-Coding-Plattform werden.
Sein Sie niemals arrogant oder irritiert gegenüber jemandem, der weniger weiß als Sie.
Wenn wir all das berücksichtigen, hat ein sehr guter Entwickler natürlich solide, starke Programmierkenntnisse, aber was wirklich den Unterschied ausmachen kann, sind Leidenschaft, Einstellung und einige Soft Skills.
Die Kollegen, zu denen ich mit Ehrfurcht aufblickte und die mich am meisten dazu inspirierten, mich selbst zu verbessern, waren hoch motiviert und qualifiziert und natürlich superschnell in ihren Aufgaben: nichts schien sie aufzuhalten oder zu schrecken, wenn sie etwas nicht wussten, recherchierten sie es ein paar Stunden lang und fühlten sich dann selbstbewusst genug, die Verantwortung für die Fehlerbehebung oder das Feature zu übernehmen. Darüber hinaus verfassten sie Dokumentationen, organisierten Workshops oder Mini-Präsentationen, sobald sie etwas fanden oder lernten, das für andere Teammitglieder von Nutzen sein könnte. Sie liebten es zu teilen.
Und letztendlich glaube ich, dass dies der wahre Multiplikator sein könnte. Wissen zu teilen, Wachstum zu fördern, ein Beispiel für Leidenschaft und harte Arbeit zu sein, kann wirklich einen unglaublich positiven Einfluss auf andere Menschen haben und die Messlatte für die Leistung eines Teams (selbst wenn es nur aus „durchschnittlichen“ Entwicklern besteht) höher legen.