Sind Sie auf einen Superprogrammierer gestoßen? Was kennzeichnet ihn als solchen im Vergleich zu "normalen" erfahrenen / großartigen Programmierern?
Ebenfalls. Wie gehen Sie mit einer Person in Ihrem Team um, die glaubt, ein Superprogrammierer zu sein? Beides, ob er es tatsächlich ist oder nicht?
Edit : Interessante Beiträge rundum, danke. Ein paar Dinge können aufgegriffen werden:
Es entstanden einige Definitionen. Ohne Rücksicht auf zu lokalisierte Definitionen (die die Autoren oder ihre Bekannten als Superprogrammierer identifizierten) mochte ich einige Definitionen:
Die Definition von Thorbjørn : Eine Person, die lange Zeit das Äquivalent eines guten Teams konsequent tut.
Free Electron, verknüpft mit Henrys Antwort . Eine sehr produktive Person mit außergewöhnlichen Fähigkeiten. Die Erklärung ist eine gute Lektüre.
Ein Free Electron kann alles, was mit Code zu tun hat. Sie können eine vollständige Anwendung von Grund auf neu schreiben, an einem Wochenende eine Sprache lernen und, was am wichtigsten ist, in einen riesigen Stapel Spaghetti-Code eintauchen, ihn verstehen und ihn tatsächlich zum Laufen bringen. Sie können ein ganzes Unternehmen um ein freies Elektron aufbauen. Sie sind so gut.
Im Gegensatz zur letzten Definition geht es bei James um den Mythos des genialen Programmierers ( Video ). Dieselbe Idee wird in rwongs Kommentar als egoloses Programmieren ausgedrückt. Sie vertreten gegensätzliche Meinungen darüber, ob für einen so einzigartigen Programmierer oder für ein Team optimiert werden soll.
Diese Definitionen sind definitiv unterschiedlich, daher würde ich es begrüßen, wenn Sie einen Input haben, welcher besser ist. Oder fügen Sie Ihre eigene hinzu, wenn Sie natürlich möchten, obwohl es helfen würde, zu sagen, warum es sich von diesen unterscheidet.
quelle
Antworten:
Ich würde den Begriff "Superprogrammierer" nur für diejenigen in Betracht ziehen, die Arbeiten ausführen können, für die normalerweise ein Team guter Programmierer erforderlich ist, und die dies über einen langen Zeitraum konsequent tun .
Dies gilt sowohl für das Schreiben von qualitativ hochwertigem Code (Dokumentation, Tests usw.) als auch für das Lösen sehr schwieriger Probleme, für deren Lösung viel Wissen und Talent erforderlich sind.
Aber es erfordert eine hohe Leistung auf allen Konten für eine lange Zeit. Für diejenigen, die Tonnen von Code schreiben, die niemand verstehen und pflegen kann, gilt der Begriff nicht.
Wie gehe ich damit um? Wenn Sie wirklich eine solche Person haben, dann tun Sie alles, um das Gerüst zur Verfügung zu stellen, das die Person benötigt, um zu übertreffen. Dies bedeutet, irrelevante Dinge aus dem Weg zu räumen und die Ressourcen bereitzustellen, die die Person benötigt. Bitte beachten Sie, dass ich festgestellt habe, dass sehr leistungsstarke Künstler eher bescheiden sind.
Es ist leider viel wahrscheinlicher, dass Sie eine Person haben, die sich für einen Super-Programmierer hält und nicht. Ich habe die Erfahrung gemacht, mit diesen umzugehen, um ihre Leistung messbar zu machen. "FindBugs findet möglicherweise keine Probleme", "Für jeden Code müssen Tests vorhanden sein, die den Anwendungsfällen entsprechen", "Peer Review".
Wenn der Code wirklich schwer zu verstehen ist, sollten Sie wöchentliche Treffen , bei denen die nicht-so-super - Programmierer erklärt den Code irgendeinen Code er seit der letzten Sitzung geschrieben , dass jemand anfordern können anonym erklärt haben, und jeder kann ablehnen anonym in den Kauf genommen haben Code-Basis dafür, dass es nicht mehr zu warten ist. Dann haben Sie zumindest die Einstellung geteilt und zukünftigen Betreuern erlaubt, ein Veto gegen einen Codeteil einzulegen. Dies wird dem Programmierer auch stark anzeigen, welche Art von Code ihn dazu veranlassen wird, zusätzliche Arbeit zu leisten.
(BEARBEITEN: Der Grund für das anonyme Bit ist zu vermeiden, dass der nicht so super Programmierer sich an denen rächt, die sich ihm widersetzen).
quelle
Ein Superprogrammierer ist eine Person, die Code schneller als ein Compiler generiert, leistungsfähiger als eine rekursive Funktion ist und in einer einzigen Schranke über FIFO-Stapel springen kann.
Sie gehen mit einer Person in Ihrem Team um, die glaubt, ein Superprogrammierer zu sein, indem Sie sie seiner einzigen Schwäche aussetzen - dem Sonnenlicht.
quelle
Bitten Sie die Person, ein Kapitel über sich selbst im Coders at Work- Stil zu schreiben . Senden Sie es an einen Verlag. Wenn es abgelehnt wird, ist die Person kein Superprogrammierer.
quelle
Es gibt diejenigen, die mehr Output produzieren können als andere.
Es gibt solche, die eine Ausgabe mit einer geringeren Fehlerrate als andere produzieren können.
Diejenigen, die STÄNDIG mehr Leistung mit niedrigeren als den normalen Fehlerraten produzieren können, sind möglicherweise als Super-Programmierer zu bezeichnen.
Bekannt sein oder gedacht werden als solche ist normalerweise nur für einen aufgeklärten Manager mit dem Vorteil der Sicht nach hinten ersichtlich.
Jemand, der Dinge, die sie sind, ein Superprogrammierer, hat wahrscheinlich ein großes Ego und denkt, dass sie gut sind. Das macht sie nicht gut.
Haltung <> Fähigkeit.
quelle
Super-Programmierer: Eine Person mit überdurchschnittlicher Intelligenz und starkem Engagement für die Programmierung. Ich spreche von einer Person, die einen großen Teil ihrer Zeit mit Programmieren verbringt, nicht so einfach aufhört und entschlossen ist, ein bestimmtes Problem zu lösen. Diese Person geht selten schlafen, wenn ein Problem oder ein Fehler vorliegt. Super-Programmierer schreibt effektiven, schnellen und zuverlässigen Code. Super-Programmierer verfügen über umfassende und gründliche Kenntnisse in mindestens einer Programmiersprache (und Technologie), beherrschen einige andere und können schnell alles lernen, was benötigt wird.
quelle
Aus den Programmen / Projekten, die erstellt wurden , dem Quellcode, der Studie, die durchgeführt wurde.
Wie Sie sagen, er glaubt es, ist es sehr schwierig, ihn dazu zu bringen, es nicht zu glauben. Das Schlimmste ist, dass diese Person aufgehört hat, ein besserer Programmierer zu sein, weil sie denkt, dass alles bereit ist, ist super und er stoppt die Entwicklung von ihr. Was ist schlimmer als das in der Programmierung. Wie auch immer, Sie können immer um Beweise bitten ... und ihn fragen, mit wem er / sie sich selbst vergleicht, um die Annahme zu machen, dass er / sie super ist.
quelle