Sie wissen, wer sie sind. Sie sind die Rockstars der Programmierung:
Sie codieren 10x schneller.
Ihr Code funktioniert einfach.
Sie kennen nicht nur ihre Muttersprache in- und auswendig, sondern wissen auch, wie es unter der Haube funktioniert.
Sie kennen die Antwort auf die meisten Fragen, bevor Sie sie stellen.
Einige von ihnen haben die Programmierprinzipien erfunden, die wir alle verwenden.
Und sie neigen auch dazu, untypisch bescheiden zu sein.
Was ist mit diesen Leuten? Gibt es etwas an ihrem Denkprozess, das sich grundlegend von dem überdurchschnittlichen Programmierer unterscheidet? Oder sind es einfach sehr talentierte Leute, die hart arbeiten?
Anders ausgedrückt: Wie kann ich so sein wie sie? Ich weiß, was ich denke, dass ich lernen muss, um so gut zu sein, aber es scheint, als würde ich die nächsten zehn Jahre brauchen, um es zu lernen, und dann wird mein Wissen veraltet sein.
quelle
try
.Antworten:
Bescheiden: Ein außergewöhnlicher Programmierer wird niemals behaupten, sein Code sei der beste. Tatsächlich werden sie immer nach einem besseren Weg suchen (jede Chance, die sie bekommen.) .
Patient: Ein außergewöhnlicher Programmierer wird grenzenlose Geduld haben (Dies bedeutet nicht, dass er Tage mit einem Problem verschwenden wird. Siehe: Fehlerbehebung) .
Fehlerbehebung: Ein außergewöhnlicher Programmierer kann ein Problem in wenigen Minuten lösen, was für einen durchschnittlichen Programmierer Tage dauern kann.
Neugierig: Ein außergewöhnlicher Programmierer wird nicht widerstehen können, herauszufinden, warum etwas passiert.
Ingenieur: Ein außergewöhnlicher Programmierer wird Systeme konstruieren, anstatt ein Durcheinander von Frameworks zusammenzufügen (Dies bedeutet nicht, dass sie keine Frameworks verwenden.) .
quelle
Sie haben in Ihrem allerletzten Aufzählungspunkt eine Menge davon getroffen:
"Und sie neigen auch dazu, untypisch bescheiden zu sein."
Ich denke, es ist eine Kombination aus Demut - nicht nur äußerlich, sondern auch innerlich. Sie akzeptieren, dass sie falsch liegen, einen Fehler machen und sich sehr schnell von der Frustration abwenden. Viele Programmierer werden etwas ausprobieren, scheitern und sich dann ziemlich schnell emotional anstrengen - ein Zustand, der dem Schreiben von gutem Code abträglich ist. Sie müssen akzeptieren, dass Sie nicht perfekt sind und (oft!) Fehler machen werden. Das Beste, was Sie tun können, ist, zu lernen, wie Sie sich schnell erholen, wenn Sie Fehler machen. Es ist eine bescheidene Zuversicht , wie "Ich weiß, dass ich es vermasseln werde, aber ich weiß auch, dass ich es irgendwann schaffen werde, wenn ich es weiter versuche."
In NLP heißt es: "Es gibt kein Versagen, nur Feedback." Um ein Rockstar-Programmierer zu sein, muss man sich das zu eigen machen. Es gibt nichts, was Sie nicht codieren können. Sie mögen zunächst langsam sein, aber wenn Sie weiter versuchen und sich weigern, anzuhalten, wenn Sie versagen oder etwas vermasseln, werden Sie liefern. Dabei lernst du alle mentalen Tricks, die du brauchst, um einer der Besten zu werden.
Ratschläge sind natürlich nur so gut wie ihre Quelle, also ... alles nur meine Meinung.
quelle
Sie kümmern sich sehr um ihren Code.
quelle
Persönlich haben die besten Programmierer, die ich kenne / kenne, die Grundlagen verstanden und waren NICHT der Experte in einer bestimmten Sprache. Sie hatten einfach genug Erfahrung in fast allem. Der kanonische "Alleskönner".
Es ist mehr als nur Grundlagenforschung, es gibt einen erheblichen Erfahrungswert im tatsächlichen Betrieb. Beispiele, die die Unix-Philosophie verstehen und auf diese Weise unbekannte Probleme mit verschiedenen Werkzeugen lösen können (IOW, sie wussten, wo sie suchen müssen), sind der Java-Experte, der eine Thread- und parallele Lösung codierte, weit überlegen.
Die hervorragenden Programmierer respektieren auch diejenigen, die vor ihnen kamen. Sie hassen keine relationalen Datenmodelle und erschrecken nicht, wenn sie SQL als formale API betrachten, und lehnen FORTRAN auch nicht in Mathematik ab. Sie wissen, dass OO nicht das Ende ist und verstehen vor allem, dass Programmierung eine KUNST ist, keine Wissenschaft.
quelle
grep
,awk
,sort
unduniq
kann eine Menge von Fragen beantworten. Wenn Sie auch habenperl
, noch mehr!Als ich anfing, arbeitete ich mit diesem Typen zusammen, der meiner Meinung nach bei allem, was er in Bezug auf Programmierung tat, absolut brillant war. Möglicherweise ist er es noch, aber er ist jetzt zum Direktor eines Unternehmens in Südostasien aufgestiegen.
Wie auch immer, er hielt die Dinge einfach und das einfache Zeug funktioniert. Nie mehr Codezeilen als nötig schreiben zu wollen, alles, was er gerade getan hat, funktionierte. Ich habe ein Jahr lang Aufholjagd gespielt, um mich seinem Niveau zu nähern. Die andere Sache ist jedoch die Zeit. Er hatte viel länger gearbeitet als ich, und er hatte die Möglichkeit gehabt, diese genauen Fragen immer wieder zu stellen, bis er (scheinbar) alle Antworten wusste.
Er hatte auch keine Angst, Fragen zu stellen. Ich denke das ist das Größte.
quelle
Kompetenzmatrix für Programmierer
Viele Themen, die Ihnen dabei helfen, Ihre Programmierkenntnisse zu ermitteln.
quelle
Ich habe die Antwort auf diese Frage in einem Buch über Texas Hold'em Poker erfahren, aber es gilt für alle frustrierenden Bestrebungen. Die besten Programmierer kippen nie. Going on Tilt ist die Zeit, in der etwas nicht wie erwartet funktioniert und Sie auf eine Weise reagieren, die zu exponentiellen Fehlern in der Gesamtanwendung führt. Beim Turnierpoker führt dies dazu, dass Sie schlechte Wetten platzieren und ausgeschieden werden.
Beim Programmieren führt Tilt dazu, dass Sie sich die Haare ausziehen und lächerliche Codeflecken schreiben, die nur in bestimmten Fällen Ihrer Anwendung funktionieren. Tilt veranlasst Programmierer, die Anforderungen des Projekts als Ganzes zu ignorieren und nach sofortiger Befriedigung zu suchen, um das unmittelbare Problem jetzt zu lösen. Oft wird das Problem heute gelöst, aber die Anwendung leidet morgen.
Die besten Programmierer verwenden das Tilt-Konzept und verwalten es so, dass sie Probleme immer von außen betrachten können. Wenn das nicht klappt, trink etwas Koffein.
quelle
Außergewöhnliche Programmierer:
Zwei Dinge über den Faktor "10x":
quelle
Die meisten von ihnen sehen zurückhaltend und nichts Besonderes aus. Einige von ihnen sehen super schlau aus. Sie bevorzugen es, Dinge aus allen möglichen Gesichtspunkten zweimal zu prüfen / zu debuggen. Ihre Software ist die fehlerloseste in der Welt. aber die Qualität ist besser, sogar gewöhnliche Leute können verstehen, wie ihre Software funktioniert!
Ich habe einen Freund, der sein erstes ASM-Programm im Alter von 10 Jahren schrieb, jetzt ist er 24, hat die Universität nicht abgeschlossen, aber das hat ihn nicht davon abgehalten, seine eigene Firma zu gründen, Millionen zu verdienen :) aber von dem, was ich ihn sehe ist in allem geschickt :)
Außergewöhnliche Programmierer würden höchstwahrscheinlich sagen, dass dieser Code auf eine andere, bessere Art und Weise codiert werden kann, anstatt zu sagen, dass dies völlig falsch ist und die Reputation anderer Programmierer beeinträchtigt :)
"Was ist mit diesen Leuten? Gibt es etwas an ihrem Denkprozess, das sich grundlegend von dem überdurchschnittlichen Programmierer unterscheidet? Oder sind es einfach sehr talentierte Leute, die hart arbeiten?"
Ich denke, sie sind so geboren, es liegt in ihrer DNA: Ich weiß nichts über ihren Denkprozess, aber der beste Programmierer, den ich je kannte, hatte Epilepsie
quelle
Nur wenige Dinge unterscheiden ein Außergewöhnliches von einem Typischen.
Ausnahmsweise:
Sehr leidenschaftlich über seine Arbeit und bemühen sich, ein Meisterstück zu liefern.
Leistung und Qualität stehen im Vordergrund, noch bevor mit dem Codieren begonnen wird.
Sie denken an eine kontinuierliche Verbesserung nach jeder Veröffentlichung.
Sie achten streng auf Alternativen und sind Early Adopters.
Ihr Thema im Berufsleben lautet: "Weniger schreiben, mehr vermitteln".
Sie denken über logische Perspektiven nach, auch wenn sie nicht codieren.
Typisch
Manchmal etwas leidenschaftlich, aber bemühen Sie sich zu liefern, weil es schließlich ein Job ist. Wenn es kein Meisterwerk ist, ist es in Ordnung. Zumindest pünktlich geliefert.
Werde später über die Leistung nachdenken, jedenfalls sind PCs heutzutage schnell genug.
Nur verbessern, wenn keine Option zum Speichern eines Jobs mehr verfügbar ist.
Keine Zeit, sich mit anderen Technologien zu beschäftigen. Halten Sie sich jetzt an die Anforderungen Ihres Jobs. Lerne andere Dinge, wenn es nötig ist.
Ihr Thema lautet: "Mach, was gefragt wird und komme rechtzeitig nach Hause".
quelle
Außergewöhnliche Programmierer wenden spartanische Prinzipien an .
Aufsehen erregendes Bild:
Dieser Artikel: http://willcode4beer.com/design.jsp?set=codeReduction
Und dieses Zitat:
quelle
Eigenwerbung , und das meine ich bestmöglich. Ein Job wie Programmieren, insbesondere in einem Team, bedeutet, dass nicht sofort klar ist, wo Ihr persönlicher Beitrag zum Gesamtbild passt oder wer für welchen Teil verantwortlich war. Die Leute, die wir als "große Programmierer" kennenlernen, sind IMO-Leute, die die Kunst beherrschen, ihre Beiträge bekannt zu machen, ohne egoistisch oder egozentrisch zu klingen. In vielen Fällen schaffen wir Werkzeuge, Bibliotheken und Software, auf die wir uns verlassen, um unser tägliches Brot zu verdienen.
quelle
1. Sie wissen, was abschneidet, wenn die Deadline erreicht ist.
quelle
Sehr guter verwandter Artikel: The Free Electron (von randsinrepose.com)
Ich entschuldige mich dafür, dass ich den Artikel hier nicht zusammengefasst habe, aber die Punkte sind nicht leicht von der Prosa zu trennen.
quelle
Sie programmieren rein auf Intuition. Keine Notwendigkeit zu denken, dass es nur fließt .
quelle
Außergewöhnliche Programmierer haben Einfluss auf ein Projekt, der über ihren eigenen Code hinausgeht, und erkennen Probleme, bevor sie aufgrund ihrer Erfahrung auftreten. Sie verbessern alle im Team und bewahren ihre Projekte vor schlechtem Design und Management.
Sie haben tatsächlich etwas Außergewöhnliches geschaffen.
quelle
Es wird. Du hast bereits festgestellt, dass diese Jungs 10x schneller sind, weshalb sie es in 1 Jahr lernen und es dauert 10. Für den ernsthaften Teil der Antwort denke ich, dass sie bereits super schlau sind (was sehr erfolgreich sein könnte) Sie lieben das Programmieren und haben aus irgendeinem Grund genügend Zeit, um das Programmieren zu üben oder an persönlichen Projekten zu arbeiten.
Wenn Sie diese Frage hier stellen, haben Sie wahrscheinlich nicht das Zeug dazu (keine Sorge, ich beantworte sie hier, wahrscheinlich auch nicht). Ärgern Sie sich nicht, obwohl Sie immer noch verrückt werden können, wenn Sie das Codieren lieben.
quelle
Es gibt hier viele gut gemeinte Beiträge über Demut, Technik, Leidenschaft, Patient, Fehlerbehebung. IMO diese sind alle erforderlich. Sie beschreiben jedoch die besten 30% der Programmierer.
Ich denke, Sie fragen nach den wirklich außergewöhnlichen Programmierern, den besten 1%.
Eines der Dinge, die mich an dem gelegentlich sehr seltenen Talent beneiden, mit dem ich arbeite, ist die Fähigkeit, eine sehr große Menge an Details über ein komplexes System gleichzeitig im Kopf zu behalten und es schnell abrufen zu können. Ich glaube, ich kann das gelegentlich tun, vielleicht einmal im Monat, wenn ich wirklich in der Zone bin. Dieses Gefühl ist wunderbar. Der Entwickler, an den ich denke, scheint die meiste Zeit in der Lage zu sein, in dieser Zone zu sein .
Es ist dieses eine Merkmal, IMO, zusätzlich zu den Fähigkeiten Demut, Neugierde, Ingenieurwesen, Leidenschaft, Geduld und Fehlerbehebung, die sie wirklich außergewöhnlich machen.
quelle
Die Qualität der Selbstmotivation und Selbstbestimmung sowie die Bereitschaft, in einen Abgrund des Unbekannten zu gelangen, und das Gefühl, als Teil des Prozesses absolut verwirrt zu sein, sind enorm. Es geht nicht so sehr um anfängliche Intelligenz, wie man denkt, weil das Gehirn viel besser in Sachen wird, über die es immer nachdenkt. Ich kam aus dem Nichts im College und wurde dann durch bloße Beharrlichkeit sehr gut. Ich gab nie auf und war der Typ, der ein Problem hatte, als alle anderen es müde wurden, es herauszufinden. Nach dieser Art von Beharrlichkeit wurden die Probleme immer leichter und kamen vom Anfänger im College, um die meisten von ihnen an diesem Punkt in die Schande zu bringen. Bloßes Talent reicht nicht aus und kann manchmal dazu führen, dass Sie sich auf Ihren Lorbeeren ausruhen.
Robert Harvey gegenüber basteln Sie ständig an meinen Posts, wenn ich irgendetwas erwähne, das mit meinem CMS zu tun hat, das ich von Grund auf neu geschrieben habe. Sie sehen mehrere andere, die Links auflisten, die sie möglicherweise geschrieben haben oder nicht. Du drückst Leute runter, die selbst motiviert sind, was ironisch ist, dass du dies gepostet hast. Sie sind "der Mann" in diesem kleinen Universum und lesen Dinge nicht nach ihrem Verdienst, sondern nur nach Belieben. Sie lieben Star Wars auch viel zu sehr und winken wahrscheinlich mit der Hand auf die automatisch öffnenden Türen im Supermarkt, weil Sie glauben, dass Sie die Macht haben.
quelle