Quand pouvez-vous vous qualifier en langue X?

30

Cela remonte à une conversation que j'ai eue avec ma petite amie. J'ai essayé de lui dire que je ne me sens tout simplement pas assez adéquat dans mon langage de programmation (C ++) pour m'appeler bon. Elle m'a alors demandé: "Eh bien, quand te considères-tu assez bien?"

Voilà une question intéressante. Je ne savais pas quoi lui dire. Je vous le demande donc.

Pour tout langage de programmation, framework ou similaire, quand atteignez-vous un point où vous vous asseyez, regardez ce que vous avez fait et dites: "Hé, je suis en fait assez bon dans ce domaine."? Comment définissez-vous «bon» pour pouvoir dire honnêtement aux autres: «Ouais, je suis bon en X».

De plus, arrivez-vous à ces conclusions en comparant ce que les autres peuvent faire?

Information additionnelle

J'ai lu le document canonique sur la façon dont il faut dix mille heures avant que vous soyez un expert dans le domaine. (Accessoires à quiconque sait à nouveau comment s'appelle ce document)

J'ai également lu divers articles de Coding Horror sur l'interview des gens. Certaines personnes, a-t-on dit, «ne peuvent pas fonctionner en dehors d'un cadre». Ils peuvent donc être "bons" pour ce cadre, mais pas autrement dans le langage. Est-ce vrai?

SoulBeaver
la source
2
Pour autant que je sache, toute la règle des 10 000 heures vient du livre «Outliers»?
Jaco Pretorius
7
La règle des 10 000 heures a été recherchée / appuyée principalement dans le travail de K. Anders Ericsson, un pionnier de la discipline relativement nouvelle de la psychologie «études de performance humaine». En particulier, son article de 1993 "Le rôle de la pratique délibérée dans l'acquisition de la performance d'experts" est la référence historique dans le domaine. Voir l'entrée Google Scholar ici: scholar.google.com/…
limist

Réponses:

41

Vous ne pouvez pas vous appeler bon à X. Seuls les autres peuvent le faire.

P Shved
la source
17
Mais juste parce que les autres disent que vous êtes bon en X ne garantit pas que vous êtes bon - juste que vous êtes meilleur qu'eux. (À moins bien sûr que ces autres personnes aient prouvé leur crédibilité concernant X.)
Peter Boughton
Je suis en désaccord donc je -1. Tout simplement parce que je ne suis pas d'accord et pense que le vote positif est trop élevé.
3
Je crains que cela ne résout pas le problème actuel: une auto-évaluation précise est impérative pour notre domaine et cela ne nous aide pas à cet égard.
cwallenpoole
@cwallenpoole: N'oubliez pas l'effet Dunning – Kruger . De plus, n'êtes-vous pas plus impressionné quand beaucoup de gens disent "X est vraiment bon à Y" plutôt que quand X prétend qu'il est compétent?
Jonathan Merlet
38

Il y a déjà quelques bonnes réponses à cela, donc je vais juste y contribuer:

texte alternatif

Fishtoaster
la source
15
Je ne sais pas s'il est vraiment sûr de remplacer votre ancien moi, n'est-ce pas? ... Je devrais peut - être demander à timetravel.stackexchange.com
MacIntyre John
9
@John MacIntyre - Ce lien fait que le message d'erreur standard "Introuvable" semble prophétique: "Le site de questions et réponses schedravel.stackexchange.com n'existe pas encore."
Nicole
3
Tuer votre moi passé ne vous ferait-il pas disparaître puisque vous venez du futur?
Terence Ponce le
3
Remplacer votre ancien moi par un nouveau vous entraînerait un comportement indéfini . ;-)
P Shved
2
Je m'arrêterais juste le jour 14611, boirais la potion d'inversion d'âge et ne passerais pas par les tracas de voyager dans le temps et risquerais de disparaître.
chiurox
10

On n'est bon à quelque chose que lorsqu'il peut affirmer avec confiance et correctement qu'il peut le faire.

Si vous voulez dire que vous êtes bon en C ++, par exemple, vous devriez pouvoir dire, avec confiance et justification, que, étant donné un problème général avec C ++, vous pouvez le résoudre.

Cela fait la distinction d'être arrogant , ce qui revient à dire en toute confiance que vous pouvez faire quelque chose sans justification suffisante; et expérimenté , ce qui revient à dire que vous pouvez faire quelque chose parce que vous l'avez fait dans le passé.

user8
la source
6

Sur une note connexe, bien que je pense que le mouvement de l'artisanat logiciel est une excellente idée pour aider les normes à s'améliorer dans notre discipline, j'ai vu beaucoup de gens se décrire comme des artisans du logiciel, ce qui me semble un peu arrogant dans la plupart des cas.

C'est à vos pairs de décider si vous êtes bon ou non dans quelque chose (ou un artisan); Je suis sûr qu'Einstein et Feynman n'ont pas erré au début de leur carrière en disant "regardez-moi, je suis un génie!" De même, c'est à vos pairs de décider si vous êtes bon ou non.

Stackoverflow est un outil utile pour décider si vous êtes compétent. Choisissez quelques questions dans votre domaine d'expertise supposé. Répondez-y (ou s'ils ont déjà reçu une réponse, répondez-y dans votre tête sans jeter un œil aux réponses publiées). Avez-vous pensé à la meilleure réponse? Vous avez manqué quelque chose? Vous aviez tout simplement tort?

Paddyslacker
la source
Les artisans du logiciel seraient de toute façon ceux qui écrivent des assembleurs, des compilateurs, des éditeurs de liens et des chargeurs.
Chris
3

Puisqu'il n'y a pas de test de programmation standardisé que vous pouvez faire qui permettra à tout le monde de convenir que vous êtes un bon programmeur, c'est à vous de déterminer si vous vous appelez ainsi ou non.

Je trouve que cela a à voir avec votre niveau de confiance. Si vous vous sentez bon dans quelque chose, vous devriez pouvoir le dire. À un moment donné, vous terminerez un projet qui vous a poussé et ce sentiment passera de «pas encore» à «je suis».

Walter
la source
2

Je sais que c'est une question assez difficile. J'ai fait deux sujets avec lesquels j'ai principalement programmé en C ++ et obtenu des distinctions élevées dans les deux. Je ne me considérerais pas bon en C ++. En fait, si je postulais pour un emploi, je laisserais mon curriculum vitae et j'écrirais simplement C à la place. La langue entière n'est tout simplement pas mon truc.

Casebash
la source
2

Je pense que vous pouvez vous appeler bon dans quelque chose lorsque vous développez les connaissances nécessaires pour pouvoir vous regarder comme si vous étiez du point de vue d'une autre personne, puis déterminer si vous êtes bon. En d'autres termes, vous devez avoir de solides compétences en "méta".

Par exemple, je suis un écrivain amateur, et en regardant ma propre écriture, je peux dire:

  • quels aspects sont bons et pourquoi
  • quels aspects sont mauvais et pourquoi
  • que dois-je faire pour améliorer les mauvais et pourquoi
  • quels mauvais aspects sont spécifiques à la pièce écrite et qui sont un symptôme de mes capacités
  • quels sont les éléments que d'autres personnes peuvent critiquer et pourquoi
  • quelles critiques ne sont pas pertinentes pour ma pièce spécifique, même si d'autres peuvent les exprimer, et pourquoi

etc. etc. Pour cette raison, je sens que je suis qualifié pour décider si je suis bon en écriture ou non. Il en va de même pour X.

EpsilonVector
la source
1

Étant donné que le bien est très subjectif, je dirais que vous êtes bon exactement lorsque vous êtes confiant d'être grand.

Brian R. Bondy
la source
1

Vous pouvez affirmer que vous êtes «bon» dans quelque chose une fois que vous l'avez fait assez longtemps pour que vous ayez depuis longtemps oublié comment faire autre chose.

Dan Moulding
la source
1

La seule fois où vous pouvez être sûr que vous êtes bon dans quelque chose, c'est quand vous êtes sûr que vous êtes mauvais dans ce domaine.

John Cleese en a parlé: à 9h00 http://www.youtube.com/watch?v=zGt3-fxOvug

Jethro Larson
la source
1

Chaque fois que je pensais que j'étais bon en programmation dans une langue particulière, six mois plus tard, j'étais convaincu qu'à ce moment-là je le suçais, et maintenant j'étais bon dans ce domaine. Je suppose donc que c'est un terme relatif. Il serait peut-être préférable de vous appeler «assez bon pour faire Y», où Y est un projet particulier dans cette langue.

RationalGeek
la source
1

Quand vous pouvez regarder le code source de quelque chose comme boost (en c ++. Ou boost équivalent dans une autre langue) et NE PAS en avoir peur .

user2528
la source
1

Lorsque vous commencez à imaginer comment un logiciel que vous cherchez a été écrit dans cette langue.

aredkid
la source
1

Vous savez que vous êtes bon dans ce domaine lorsque vous aimez ce que vous faites (et ce n'est pas seulement une tâche triviale) .

Vous savez que vous êtes mauvais (encore) lorsque vous continuez à jurer au hasard pendant que vous codez.

Camilo Martin
la source
2
Je suis tenté de -1 celui-ci. J'ai travaillé avec des systèmes qui étaient si mal assemblés qu'ils auraient presque pu être considérés comme non déterministes. Avez-vous déjà essayé de créer une interface utilisateur dans un langage non déterministe? Cela inspire la malédiction.
cwallenpoole
@Christopher bien, je passe la plupart de mon temps à maudire de nouvelles choses, mais peu à peu je m'y habitue ou je code quelque chose pour m'aider. Si vous détestez ce que vous faites, vous pouvez peut-être vous frayer un chemin et sentir le gars le plus intelligent du bâtiment, hein? :)
Camilo Martin
0

Souvent, je ne dis pas que je suis bon en X, mais plutôt que j'apprends vite et que je n'ai pas le potentiel d'être bon en X.

Moshe
la source
0

Je ne suis pas sûr de "bien", mais je dis que je "connais" une langue quand ce n'est pas ma connaissance de la langue, mais plutôt ma compréhension du problème (ou du domaine du problème), qui m'empêche d'implémenter un logiciel pour résoudre ce problème. problème.

mipadi
la source
0

Je pense que l'article que vous recherchiez était Teach Yourself Programming in 10 years de Peter Norvig fait référence à la nécessité d'environ 10 000 heures pour devenir bon dans quelque chose. De plus, je l'ai vu apparaître dans d'autres endroits comme "The Element" de Ken Robinson et sur un blog Lifehacker parlant de la réduction du nombre de loisirs que vous avez.

Jeremy
la source
0

Je vais prendre une partie de cette question pour demander «quels sont les critères pour évaluer mes compétences dans un langage de programmation»

J'ai trouvé cette matrice très utile à cet égard. La plupart des éléments concernent en fait davantage un programmeur compétent en général, mais une fois que vous aurez descendu les en-têtes Programmation, Expérience ou Connaissance, vous en verrez qui dépendent du langage utilisé.

Bien sûr, comme pour toute division quelque peu arbitraire en catégories, ce n'est pas parfait. Mais je pense que c'est quand même assez utile. Cela peut vous donner au moins une idée d'où vous êtes et où vous devez aller.

Nick Knowlson
la source