Vous savez qui ils sont. Ils sont les stars du rock de la programmation:
Ils codent 10X plus rapidement.
Leur code fonctionne simplement.
Ils connaissent non seulement leur langue principale tant à l’intérieur qu’à l’extérieur, mais ils savent également comment cela fonctionne sous le capot.
Ils connaissent la réponse à la plupart des questions avant de la poser.
Quelques-uns d’entre eux ont inventé les principes de programmation que nous utilisons tous.
Et ils ont tendance à être inhabituellement humbles également.
Qu'en est-il de ces gens? Y a-t-il quelque chose dans leur processus de pensée qui est fondamentalement différent du programmeur supérieur à la moyenne? Ou sont-ils simplement des personnes très talentueuses qui travaillent fort?
En d'autres termes: comment puis-je leur ressembler? Je sais ce que je pense avoir besoin d'apprendre à être aussi bon, mais il me semble qu'il me faudra les dix prochaines années pour l'apprendre, puis mes connaissances seront obsolètes.
la source
try
.Réponses:
Humble: Un programmeur exceptionnel ne prétendra jamais que son code est le meilleur. En fait, il sera toujours à la recherche d'une meilleure solution (toutes les chances qu'il obtient.) .
Patient: Un programmeur exceptionnel aura une patience illimitée (Cela ne signifie pas pour autant qu'il va perdre des jours sur un problème. Voir: Guide de dépannage) .
Dépannage: Un programmeur exceptionnel sera capable de résoudre un problème en quelques minutes pouvant prendre plusieurs jours à votre programmeur moyen.
Curieux: un programmeur exceptionnel sera incapable de résister à la tentation de comprendre pourquoi quelque chose se produit.
Ingénieur: un programmeur exceptionnel va concevoir des systèmes plutôt que de créer un mélange de frameworks (cela ne signifie pas qu'ils n'utiliseront pas de frameworks) .
la source
Vous en avez beaucoup parlé dans votre tout dernier point:
"Et ils ont tendance à être inhabituellement humbles, aussi."
Je pense que c'est une combinaison d'humilité - pas seulement extérieure mais aussi dans leur esprit. Ils acceptent de se tromper, de se tromper et ont très vite un sentiment de frustration. Beaucoup de programmeurs essaieront quelque chose, échoueront et deviendront très rapidement émotionnellement forts, un état anathème à l'écriture d'un bon code. Vous devez accepter le fait que vous n'êtes pas parfait et que vous allez bousiller (souvent!), Et que la meilleure chose à faire est d'apprendre à récupérer rapidement lorsque vous bousillez. C'est une confiance humble , du style "Je sais que je vais me gâcher, mais je sais aussi que si je continue d'essayer, je finirai par y arriver."
Il y a un dicton dans la PNL, "Il n'y a pas d'échec, seulement des commentaires." Pour être programmeur de rock star, je pense que vous devez accepter cela. Il n'y a rien que vous ne pouvez pas coder. Vous pourriez être lent au début, mais si vous continuez à essayer et que vous refusez de vous arrêter lorsque vous échouez ou si vous ratez quelque chose, vous livrerez. Et dans ce processus, vous apprendrez toutes les astuces mentales dont vous avez besoin pour devenir l’un des meilleurs.
Bien entendu, les conseils ne valent que leur source, alors ... tout ce que je pense.
la source
Ils se soucient profondément de leur code.
la source
Personnellement, les meilleurs programmeurs que je connaissais / connaissaient comprenaient les bases et n'étaient PAS l'expert dans une langue donnée. Ils avaient simplement une expérience suffisante sur à peu près tout. Le canonique "Jack of All Trades".
C’est plus que la science fondamentale, l’expérience dans les opérations réelles présente une valeur considérable. Les exemples, ceux qui comprennent la philosophie Unix et pourraient ainsi résoudre des problèmes inconnus avec différents outils fournis (IOW savent où regarder) surpassent de loin l’expert Java qui a codé une solution parallèle et filée.
Les programmeurs exceptionnels respectent également ceux qui les ont précédés. Ils ne détestent pas les modèles de données relationnels ni ne rechignent lorsqu'ils voient SQL comme une API formelle, ni ne bafouillent en mathématique avec FORTRAN. Ils savent que l'OO n'est pas la solution ultime et, avant tout, comprennent que la programmation est un ART, pas une science.
la source
grep
,awk
,sort
etuniq
peut répondre à beaucoup de questions. Si vous en avezperl
aussi, encore plus!Quand j'ai commencé, je travaillais avec ce gars qui, à mon avis, était absolument brillant dans tout ce qu'il a fait en matière de programmation. Il l'est peut-être toujours, mais il est maintenant devenu directeur d'une entreprise en Asie du Sud-Est.
Quoi qu'il en soit, il a gardé les choses simples, et les choses simples fonctionnent. Ne souhaitant jamais écrire plus de lignes de code que nécessaire, tout ce qu'il a fait vient de fonctionner. Je faisais du rattrapage pendant un an pour me rapprocher de son niveau. L’autre chose, c’est le temps. Il travaillait depuis bien plus longtemps que moi à l'époque et il avait eu l'occasion de poser ces questions exactes encore et encore, jusqu'à ce qu'il connaisse (apparemment) toutes les réponses.
Il n'avait pas peur de poser des questions non plus. Je pense que c'est la plus grande chose.
la source
Matrice des compétences du programmeur
De nombreux sujets pour vous aider à identifier votre niveau en matière de programmation.
la source
J'ai appris la réponse à cette question dans un livre sur le poker Texas Hold'em, mais cela s'applique à toutes les tentatives frustrantes. Les meilleurs codeurs ne vont jamais en tilt. Going on Tilt est le moment où quelque chose ne fonctionne pas comme prévu et vous réagissez de manière à créer des erreurs exponentielles dans l'application globale. Dans les tournois de poker, cela signifie que vous placez de mauvais paris et que vous êtes éliminé.
En programmation, l'inclinaison vous oblige à vous arracher les cheveux et à écrire des patchs de code ridicules qui ne fonctionnent que dans certains cas de votre application. Tilt amène les programmeurs à ignorer les besoins du projet dans son ensemble, cherchant à obtenir une gratification immédiate pour résoudre le problème immédiat maintenant. Souvent, le problème est résolu aujourd'hui, mais l'application en souffre demain.
Les meilleurs codeurs prennent le concept d'inclinaison et le gèrent de manière à toujours pouvoir voir les problèmes d'un point de vue extérieur. Si cela échoue, buvez de la caféine.
la source
Programmeurs exceptionnels:
Deux choses à propos du facteur "10x":
la source
la plupart d'entre eux ont l'air réservés et rien de spécial .. certains ont l'air super-intelligents .. ils préfèrent vérifier / déboguer les choses deux fois de tous les points de vue possibles, leur logiciel est sans faille dans le monde: p IMO certains programmeurs peuvent être plus lents, mais la qualité est meilleure, même les gens ordinaires peuvent comprendre le fonctionnement de leurs logiciels!
J'ai un ami qui a écrit son premier programme ASM à l'âge de 10 ans. Il a maintenant 24 ans, il n'a pas terminé ses études universitaires, mais cela ne l'a pas empêché de créer sa propre entreprise et de gagner des millions :), mais d'après ce que je vois est adroit en tout :)
Les programmeurs exceptionnels diraient très probablement que ce code peut être codé d'une autre manière - mieux que de dire que sa réputation est totalement fausse et que sa réputation est moins bonne :)
"Qu'en est-il de ces gens? Y a-t-il quelque chose dans leur processus de pensée qui soit fondamentalement différent du programmeur au-dessus de la moyenne? Ou s'agit-il simplement de gens très talentueux qui travaillent dur?"
Je pense qu'ils sont nés comme ça, c'est dans leur ADN: pi ne connaît pas leur processus de pensée, mais le meilleur programmeur que j'ai jamais connu souffrait d'épilepsie
la source
Peu de choses différencient un exceptionnel d'un typique.
Exceptionnel:
Passionné par son travail et s'efforce de livrer un chef-d'œuvre.
Les performances et la qualité occupent une place importante dans leur esprit avant même que le codage ne commence.
Ils pensent à l'amélioration continue après chaque publication.
Ils veillent rigoureusement sur les solutions de rechange et adoptent très tôt.
Leur thème dans la vie professionnelle est: "Ecrivez moins, transmettez plus".
Ils continuent à penser aux perspectives logiques même lorsqu'ils ne codent pas.
Typique
Parfois un peu passionné mais s'efforce de livrer parce que c'est un travail après tout. Si ce n'est pas un chef-d'œuvre, c'est OK. Au moins livré à temps.
Je penserai à la performance plus tard, de toute façon, les PC sont assez rapides ces jours-ci.
Améliorez uniquement lorsqu'il n'y a plus aucune option pour enregistrer un travail.
Pas le temps de creuser dans d'autres technologies. Tenez-vous en à ce que votre travail exige maintenant. Apprendra d'autres choses lorsque le besoin s'en fera sentir.
Leur thème est: "Faites ce qui est demandé et rentrez chez vous à temps".
la source
Les programmeurs exceptionnels appliquent les principes Spartan .
Image accrocheuse:
Cet article: http://willcode4beer.com/design.jsp?set=codeReduction
Et cette citation:
la source
L'auto-promotion , et je le dis de la meilleure façon possible. Avoir un travail comme celui de programmeur, en particulier dans une équipe, signifie que votre contribution personnelle ne correspond pas tout à fait à la réalité ou à qui incombait. Les personnes dont nous entendons parler et qui sont considérées comme de "grands programmeurs" sont les personnes de l’OMI qui ont maîtrisé l’art de faire connaître leurs contributions sans paraître égoïstes ni égoïstes. Dans de nombreux cas, il s’agit de créer les outils, les bibliothèques et les logiciels sur lesquels nous comptons pour gagner notre pain quotidien.
la source
1er - Ils savent ce qui est coupé quand faire face à la ligne morte.
la source
Très bon article connexe: The Free Electron (de randsinrepose.com)
Je m'excuse de ne pas résumer l'article ici, mais les points ne sont pas facilement séparés de la prose.
la source
Ils programment purement sur l'intuition. Pas besoin de penser que ça coule juste .
la source
Les codeurs exceptionnels ont une influence sur un projet dépassant le cadre de leur propre code et détectent les problèmes avant qu'ils ne surviennent en raison de leur expérience. Ils améliorent les compétences de tous les membres de l’équipe et préservent leurs projets d’une mauvaise conception et gestion.
Ils ont en fait créé quelque chose d'exceptionnel.
la source
Ce sera. Vous avez déjà établi que ces gars-là sont 10 fois plus rapides, c'est pourquoi ils l'apprennent en 1 an et il vous en faut 10. Pour le sérieux, je pense que c'est qu'ils sont déjà très intelligents quoi que ce soit), ils aiment coder et, pour une raison quelconque, ont (ou trouvent) une abondance de temps libre pour s'exercer à coder ou pour travailler sur des projets personnels.
Si vous posez cette question ici, vous n'avez probablement pas ce qu'il faut (ne vous inquiétez pas, je réponds ici, alors je ne le ferai probablement pas non plus). Ne vous inquiétez pas, vous pouvez tout de même devenir fou si vous aimez coder.
la source
Il y a beaucoup de messages bien intentionnés sur Humilité, Ingénierie, Passion, Patient, Dépannage. OMI ceux-ci sont tous nécessaires. Cependant, ils décrivent les 30% des meilleurs programmeurs.
Je pense que vous parlez des programmeurs vraiment exceptionnels, le top 1%.
Une des choses que j’envie du talent très rare occasionnel avec lequel je travaille est leur capacité à garder une très grande quantité de détails sur un système complexe à la fois, et à pouvoir le rappeler rapidement. Je pense que je peux le faire à l'occasion, peut-être une fois par mois, lorsque je suis vraiment dans la zone. Ce sentiment est merveilleux. Le développeur auquel je pense semble pouvoir être dans cette zone la plupart du temps .
C’est ce trait unique, IMO, en plus des capacités d’humilité, de curiosité, d’ingénierie, de passion, de patience et de dépannage qui les rendent vraiment exceptionnels.
la source
Avoir la qualité de la motivation personnelle et de l'autodétermination ainsi que la volonté d'entrer dans un abîme de l'inconnu et d'être à l'aise avec la confusion absolue dans le cadre du processus est énorme. Ce n’est pas tant une bonne idée de départ que ce que l’on pourrait penser car le cerveau devient bien meilleur dans les choses qu’il fait et pense toujours. Je venais de rien au collège et je suis devenu très aisé juste par pure persistance, ne jamais abandonner, étant ce gars qui a gardé un problème quand tous les autres en ont eu marre d'essayer de le résoudre. Après ce type de persistance, les problèmes sont devenus de plus en plus faciles, passant du noob au collège à la honte pour la plupart d'entre eux. Le simple talent ne suffit pas et peut parfois conduire à se reposer sur ses lauriers.
Également, Robert Harvey, vous continuez à relier mes publications lorsque je mentionne tout ce qui concerne mon système de gestion de contenu que j'ai écrit à partir de rien. Vous voyez plusieurs autres listes listant des liens qu’ils peuvent avoir écrits ou non. Vous repoussez des personnes motivées, ce qui est ironique de voir que vous avez posté ceci. Vous êtes "l'homme" dans ce petit univers et vous ne lisez pas les choses à leur mérite, mais vous vous contentez de faire semblant et de supprimer à votre guise. Vous aimez aussi beaucoup trop Star Wars et vous passez probablement la main aux portes à ouverture automatique de l’épicerie, ce qui vous donne l’impression de croire que vous avez la force.
la source