Vielleicht haben Sie kürzlich auf Twitter einen Thread über „10x-Ingenieure“ gesehen. Wenn nicht, können Sie ihn in seiner ganzen Pracht lesen:
Shekhar Kirani @Accel@skirani10x-Ingenieure
Gründer, wenn Sie jemals auf diese seltene Art von Ingenieuren stoßen, schnappen Sie sie. Wenn Sie einen 10x-Ingenieur unter Ihren ersten Ingenieuren haben, erhöhen Sie die Chancen für den Erfolg Ihres Startups erheblich.
OK, hier ist eine schwierige Frage.
Wie erkennen Sie einen 10x-Ingenieur?13:02 PM – 11 Jul 2019
Zusammenfassend lässt sich sagen, dass du kein „10x-Ingenieur“ bist, es sei denn, du erfüllst eine super enge und stereotype Vorstellung davon, ein Entwickler zu sein.
Viele werden sagen, dass es keinen „10x-Ingenieur“ gibt, da es verdammt schwer ist, 10x besser zu sein als jemand oder die meisten Leute. Selbst wenn die Person „10x“ nicht wörtlich meint, ist es immer noch der Versuch zu sagen, dass es jemanden gibt, der in allem deutlich besser ist.
Persönlich hasse ich den Begriff „10x Ingenieur“. Genau wie „Rockstar-Entwickler“ sind sie schlechte Beschreibungen und Definitionen dessen, was großartige Entwickler sind.
Es wäre unaufrichtig zu sagen, dass alle Entwickler gleich sind. Schon nach ein paar Minuten, in denen ich mir verschiedene Entwickler auf Twitter ansehe, sehe ich viele Entwickler, die viel mehr wissen als ich. Abgesehen davon ist es ziemlich lächerlich, über den „10x-Ingenieur“ zu reden, als ob er die Erfolgschancen deines Unternehmens signifikant erhöhen könnte.
Genug davon, dieses schreckliche Klischee des „10x-Ingenieurs“ zu zerstören, lass uns über die Dinge sprechen, die wirklich großartige Entwickler ausmachen (auch bekannt als der echte „10x-Ingenieur“).
- 1. sie sind schlau, kennen aber ihre Grenzen
- 2. Unabhängig stark, aber trotzdem ein starkes Team
- 3. Sie helfen anderen bei Problemen
- 4. Sie sind freundlich und verständnisvoll
- 5. Sie fordern dich heraus (auf die richtige Art und Weise)
- 6. Sie verstehen, dass „new shiny“ nicht die Lösung für alles ist
- 7. Sie wissen, dass es egal ist, wann man programmiert und welches Editor-Thema man benutzt
- 8. Sie machen sich nicht die Mühe, etwas komplexer zu machen
- 9. Sie denken nicht an das „Ich“ in „Team“
- 10. Sie wollen tatsächlich mit ihnen arbeiten
1. sie sind schlau, kennen aber ihre Grenzen
Solange es sich nicht um eine trivial kleine Codebasis handelt, kennen sie nicht jede Codezeile, die in Produktion gegangen ist. Sicherlich können sie viele Probleme selbst lösen, aber sie wissen, wann sie nicht weiterkommen und wann sie um Hilfe bitten müssen.
Es ist nichts Falsches daran, um Hilfe zu bitten, egal wie gut man ist!
2. Unabhängig stark, aber trotzdem ein starkes Team
Es gibt Zeiten, in denen man unabhängig programmiert, und Zeiten, in denen man im Team programmiert. Diese Entwickler nehmen nicht einfach eine Aufgabe und verkriechen sich in eine Ecke, um sie in Abgeschiedenheit zu bearbeiten. Entwicklung jenseits des kleinsten Maßstabs erfordert ständige Zusammenarbeit mit einem Team – sei es durch gemeinsames Programmieren, Code-Reviews, das Austauschen von Ideen, Hilfe bei der Fehlersuche usw.
Das soll nicht heißen, dass ein großartiger Entwickler bei bestimmten Aufgaben nicht lieber alleine arbeitet, aber Entwicklung in großem Maßstab ist ohne starke Zusammenarbeit praktisch unmöglich.
3. Sie helfen anderen bei Problemen
Haben Sie schon einmal einen Kollegen um Hilfe gebeten und er hat es getan? Herzlichen Glückwunsch, er könnte ein großartiger Entwickler sein. Wir können in der Dokumentation oder sogar auf Stack Overflow nach Hilfe suchen, aber manchmal brauchen wir tatsächlich Hilfe von jemandem, der unsere Codebasis kennt. Wenn Sie ein Entwickler sind, der etwas weiß, das einem Kollegen helfen könnte, helfen Sie ihm!
4. Sie sind freundlich und verständnisvoll
Ein großartiger Entwickler zu sein, bedeutet nicht, ein Klugscheißer zu sein, mit seinem Intellekt zu prahlen und Meetings zu ignorieren, weil man besser ist als diese Leute. Ein großartiger Entwickler zu sein, bedeutet auch, gut mit den nicht-technischen Dingen umzugehen. Wenn Sie einem Kollegen „helfen“, indem Sie ihn anschreien und seinen Code kritisieren, hören Sie einfach auf.
5. Sie fordern dich heraus (auf die richtige Art und Weise)
Das mag kontrovers klingen, aber ein großartiger Entwickler wird dir nicht immer die Antworten geben. Das mag im Widerspruch zu Nr. 2 und Nr. 3 stehen, aber das ist nicht dazu gedacht, Ihnen etwas vorzuenthalten. Ein großartiger Entwickler ist jemand, der Ihnen gerade so viel geben kann, dass Sie es selbst lösen können. Diese kleinen Herausforderungen machen Sie zu einem besseren Entwickler und ermöglichen es Ihnen zu verstehen, über welche Dinge Sie vielleicht mehr lernen müssen.
6. Sie verstehen, dass „new shiny“ nicht die Lösung für alles ist
Nicht zu sagen, dass diese Entwickler nicht neue Tools und Sprachen ausprobieren (sie können in dieser Hinsicht tun, was sie wollen), aber sie verstehen, dass neue Tools nicht auf magische Weise jedes Problem lösen.
James Hickey 🇨🇦👨💻@jamesmh_devWir sind besessen davon, weitere Tools und Sprachen kennenzulernen!
Wenn deine Architektur schlecht ist, du die falschen Probleme löst, dein Kunde nicht versteht, wenn du versuchst, Dinge zu erklären … dann helfen glänzende Tools nicht weiter.
Und diese sind grundlegend für den Erfolg deines Unternehmens!18:54 PM – 27 Jun 2019
7. Sie wissen, dass es egal ist, wann man programmiert und welches Editor-Thema man benutzt
Abgesehen von Stereotypen über Programmierer, warum sollte die Zeit, zu der man programmiert, einen Unterschied machen? Programmieren Sie mitten in der Nacht, wenn Sie wollen/von der Firma erlaubt werden, und tun Sie es nicht, wenn Sie es nicht wollen. Der einzige Grund, warum die Uhrzeit eine Rolle spielen sollte, ist, wenn Sie zu lange programmiert haben und nicht geschlafen haben! Die tatsächliche Tageszeit spielt keine Rolle, es sei denn, sie wirkt sich auf Ihr Team aus (z. B. wenn Sie um Mitternacht programmieren, um absichtlich allen aus dem Weg zu gehen).
Gleiches gilt für Editor-Themen, warum sollte ein dunkles Thema Sie besser machen? Ich gebe dir einen Tipp: Das tut es nicht. Dunkle Themes haben ihren Zweck, aber das ist es sicher nicht.
8. Sie machen sich nicht die Mühe, etwas komplexer zu machen
Das ist vielleicht offensichtlich, aber in der vergangenen Woche gab es einen anderen Twitter-Thread, in dem darüber gesprochen wurde, dass es eine gute Sache ist, etwas komplex zu programmieren. Seit wann ist es eine gute Sache, unsere Arbeit und die unserer Kollegen zu erschweren?
Es kann durchaus vorkommen, dass wir eine komplexe Lösung programmieren, weil wir das Problem (noch) nicht ganz verstehen. Das kann bei unserem ersten Versuch, die Lösung zu programmieren, passieren. Dann hört man normalerweise, dass Leute über das Refactoring von Code sprechen oder nicht „stolz“ auf den Code sind, den sie in der letzten Woche/im letzten Monat/Jahr geschrieben haben.
9. Sie denken nicht an das „Ich“ in „Team“
Wenn sie nicht wirklich jede Zeile des Quellcodes selbst geschrieben haben, vom Compiler bis zur gesamten Geschäftslogik, wissen sie, dass es eine Teamleistung war. Sie versuchen nicht, das Rampenlicht von den anderen Teammitgliedern zu nehmen – sie heben alle Beiträge hervor, die zum Erfolg des Projekts beigetragen haben.
Wenn ein Projekt schlecht läuft, geben sie nicht gleich allen die Schuld. Teamprojekte scheitern als Team, nicht als Einzelperson (es sei denn, es liegt böse Absicht vor). Sie helfen dem ganzen Team, aus den Fehlern zu lernen und verhindern, dass sie sich wiederholen.
10. Sie wollen tatsächlich mit ihnen arbeiten
Am Ende des Tages sind diese großartigen Entwickler Leute, mit denen Sie tatsächlich gerne zusammenarbeiten. Sie tauchen bei der Arbeit auf (oder kommen per Fernzugriff) und freuen sich, mit einem so tollen Team zusammenzuarbeiten.
Wenn Sie Entwickler kennen, die so klingen, sagen Sie ihnen, wie toll sie sind und dass Sie gerne mit ihnen arbeiten 🙂