Comment puis-je avoir plus confiance en mes compétences en programmation? [fermé]

37

La programmation ne m'est pas étrangère. J'ai d'abord commencé à faire du balisage (HTML, maintenant s'il vous plaît, ne vous moquez pas de moi) quand j'avais 12 ans et un peu de BASIC quand j'avais 13 ans (je connaissais beaucoup de diagrammes, de pseudocodes à ce stade), mais j'ai ensuite été averti Biologie à l’école secondaire et manquait donc une connaissance "réelle" en programmation de langages tels que C, Java, etc. J'ai pris CS pour mon UG BE (similaire à BS, mais beaucoup plus théorique). J'ai appris le C & C ++ (dans une moindre mesure) tout seul (mon prof était une douleur totale et la classe était remplie de code-jocks (qui l'avait déjà appris à l'école et ne faisait donc pas attention à la classe). Que les petits mortels comme moi accordent une attention particulière à la classe) et puissent créer un programme d’addition ou de multiplication impressionnant

Mon principal problème est que je me suis toujours sentie inadéquate et étranglée par mes compétences en programmation limitées et rabaissée par les codes-jocks (croyez-moi, je suis tombé sur ce site il y a bien longtemps, mais je pourrais à présent avoir le courage de publier une question) et ont même parfois été déprimés par cette incapacité. La plupart des gens disent que la programmation ne concerne pas nécessairement la langue mais l’état d’esprit de la personne et les techniques qu’elle utilise pour résoudre des problèmes. Je suis d'accord avec de tels sentiments, mais pourrais-je jamais acquérir un tel "état d'esprit", et si tel était le cas, comment aborder la "Programmation / Codage", et s'il y avait des chemins et des étapes prédéfinis pour atteindre le "Zen de codage ". Comment je le fais? En outre, cela ne ferait pas de mal si un Saint voulait parrainer ce morceau malmené de $ #! ^.

PS: je serais éternellement reconnaissant à toute personne qui estime que je vaux son temps et, en prime, je nommerais mon premier logiciel que j'expédie après eux. (Si j'en arrive à en expédier un, c'est-à-dire)

TL; DR: Je n'ai jamais vraiment appris la "programmation / codage", je ne peux pas résoudre les problèmes même si j'essaie de le faire. Aidez moi!

Ameen
la source
22
Ne soyez pas si bas sur vous-même. Personne n'est sorti de la programmation de l'utérus. Plus vous codez, plus vous penserez au code. Aie du plaisir avec ça.
Steven Evers
9
Si vous pensez "Hm, le bogue est probablement dans mon code, pas dans le compilateur", vous êtes en train de penser comme un programmeur (enfin, comme la plupart des programmeurs).
Gablin
5
@SnOrfus: Personne à l'exception de Jon Skeet;)
back2dos
4
d'un noob à l'autre: la clé est la pratique!
Chani
1
@ Snorfus Je parie que quelques personnes l'ont fait! : P
Mark C

Réponses:

26

Je dirais que le meilleur moyen est simplement de passer plus de temps dessus (recherchez la règle des 10 000 heures). Trouvez quelque chose que vous voulez faire et décidez-vous de le faire. Choisissez quelque chose qui dépasse vos capacités actuelles, mais pas si loin que vous ne pourrez pas terminer dans un laps de temps raisonnable. Si vous l'appréciez vraiment, vous vous retrouverez à le répéter jusqu'à ce que vous y excelliez vraiment. Si vous n'aimez pas ça, alors peut-être que ce n'est pas la bonne chose pour vous. Essayez de vous mettre au défi, vous l'apprécierez probablement.

WhiteFang34
la source
La suggestion de règle des 10 000 heures semble juste. Vraiment intriguant, mais quelle langue devrais-je choisir qui serait toujours pertinent et offrirait la même souplesse que les nouvelles langues (par exemple: si j’apprenais Java en profondeur avec tous les concepts, je pourrais migrer vers Scala, Processing, Clojure, etc assez facilement).
Ameen
11
Ameen: Ne t'inquiète pas pour les autres langues. Apprenez-en un. Passez à autre chose après 10 000 heures de travail en Java. La vie est longue, il y a beaucoup de langues, vous ne les apprendrez pas toutes. Les nouveaux sont inventés tout le temps. Apprenez une chose maintenant. S'inquiéter de l'avenir après cela.
S.Lott
2
"passer plus de temps dessus" d'une manière vague n'est pas efficace.
Rein Henrichs le
1
Une bonne stratégie consiste également à apprendre un langage de programmation orienté objet et à apprendre un langage de programmation fonctionnel. Apprenez un langage à typage statique et un langage à typage dynamique. Vous serez un développeur complet.
Chiron
1
@BSeven Vous devez consulter l'essai de Peter Norvig sur "Apprendre la programmation dans 10 ans", qui est semblable à celui-ci et jette une tonne de lumière sur quelques problèmes majeurs auxquels font face les nouveaux arrivants en matière de programmation.
Ameen
16

Expédier des choses . C'est la seule solution. Obtenez des choses faites. Au travail, vos propres projets, projets open source. Commencez à expédier des choses. Il peut s'agir de petites choses, comme une correction de bogue ou une fonctionnalité minimum commercialisable. Commencez juste à expédier des choses . Rien n’est plus satisfaisant ni ne renforce la confiance que le succès.

Edit: Vous devriez lire Ship It . C'est bien.

Modifier à nouveau: L'expérience de faire autre chose que l'expédition est simplement une expérience d'échec. J'ai vu beaucoup de développeurs "seniors" dont la principale expérience n'était pas l'expédition (et la recherche d'excuses pour ne pas les envoyer). De vrais artistes expédient .

Rein Henrichs
la source
12

'problème', 'inadéquat', 'étranglé', 'compétences limitées en X', 'rabaissé', 'déprimé', 'inapte' en une phrase, tous dirigés vers vous-même me suggèrent des blessures non guéries du passé qui font encore mal toi. Si vous trouvez des moyens de les surmonter, la programmation ou tout autre art ou métier sera très facile à maîtriser. Peut-être que lire sur la résilience d’autres personnes serait utile ici. Tout le monde traverse des moments difficiles dans leur vie. Si ces blessures / blessures ne sont pas guéries, leurs succès ne seraient pas passés. Soignez votre blessure en premier. La programmation peut attendre plus tard.

En ce qui concerne les compétences en programmation, la façon dont j'apprends une nouvelle langue et commence à penser comme les autres qui programment déjà dans cette langue consiste, en premier lieu, à lire tout ce que je peux mettre en main sur cette langue. Puis, quand j'ai assez lu, commencez à écrire de petits programmes.

vpit3833
la source
2
Dans le même ordre d'idées, si vous voulez voir quelqu'un qui a le même problème et une communauté se rassembler autour de lui et de ses problèmes, assurez-vous de lire ce fil Hacker News .
Wes Baker
3
+1 pour la suggestion de lire sur la documentation et les tutoriels. Et comme pour la première partie, je conviens que beaucoup de blessures ne sont pas guéries. (Que fait un psychologue sur ce site?) Mais malheureusement, certaines blessures ne peuvent être guéries aussi facilement que d’autres. Mais je les ai acceptés et, franchement, ils ne sont plus aussi pénibles qu’ils l’ont été. Et être inactif ne me pousse que vers de telles pensées négatives et la seule façon de le faire est de rester occupé à coder, etc. Merci beaucoup pour vos suggestions, et vous, mon ami, vous avez perdu la tête avec vos compétences psychiques.
Ameen
@Wes Baker: Merci beaucoup pour ce fil de discussion de Hacker News. Je peux certainement comprendre les pensées du PO (bien que je ne l'aie pas eu aussi mal). J'ai (pense) des connaissances assez bonnes sur les systèmes d'exploitation, l'architecture informatique, les algorithmes, les structures de données, les réseaux informatiques, la cryptographie, l'entreposage de données, etc. (bien que je doive les mettre à jour). Comme je l'ai dit, je connais tous ces sujets depuis un point de vue théorique et je n'ai pas encore fait de travaux pratiques à ce sujet. Je vais certainement parcourir ce fil, avec beaucoup de conseils géniaux là-bas également. Tyvm!
Ameen
@Ameen Par 'tout', je ne me limite pas aux documents et aux tutoriels. Code que d'autres ont écrit, les idiomes qu'ils ont utilisés, les erreurs, les exceptions, etc. que d'autres ont rencontrés et leurs solutions, etc. Je ne suis en aucun cas un psychique ou un psychologue.
vpit3833
9

Quelques choses dont vous aurez besoin pour vraiment commencer:

Persévérance: Devenir un bon programmeur prend du temps, c'est une pratique. Vous aurez besoin d'écrire beaucoup de mauvais code avant d'écrire un bon code - beaucoup de mauvais code. Heureusement, vous avez des ressources comme ce site pour vous aider. Tant que vous continuez à apprendre à programmer, vous serez capable de créer des jeux simples et des utilitaires en un rien de temps!

Objectifs: Fixez-vous des objectifs. Dites comment utiliser STL en C ++ dans deux semaines. Voyez comme vous allez bien. Si vous prenez plus de temps, notez combien de temps, cela vous aidera à faire mieux à l'avenir. J'ai appris cette astuce d'un collègue; il pouvait estimer, au jour le jour, combien de temps n'importe quelle tâche le prendrait. Cela m'a permis de garder un œil sur le temps que je consacre à mes projets personnels et de les empêcher de prendre de l'ampleur (contrôle de la portée, qu'ils appellent cela).

Curiosité: Vous devez être intéressé et engagé. Si vous n'êtes pas le genre de personne qui n'aborde pas les problèmes avec le désir de trouver la solution, lancer la programmation sera difficile au début, et le débogage peut être cauchemardesque. Mais il n'est pas nécessaire que ce soit le cas. Si vous avez un problème, demandez sur des sites comme celui-ci, recherchez votre erreur sur Google. Si vous ne savez pas comment mettre en œuvre quelque chose, demandez! Il y a toujours des gens prêts à aider!

Confiance: Ayez confiance en ce que vous voulez faire et assez en confiance pour poser des questions. Si quelqu'un vous montre une autre façon de faire quelque chose, ne soyez pas sur la défensive ou ne vous laissez pas aller en pensant que vous l'avez mal fait; Pensez-y en apprenant une approche différente pour résoudre votre problème!

Surtout, gardez une attitude positive, lisez beaucoup de tutoriels, posez beaucoup de questions et vous serez un bon programmeur! Un autre conseil que je dois donner est de choisir une langue, un bâton avec cela jusqu'à ce que vous soyez plus confiant. Vous avez beaucoup de temps pour apprendre différentes langues, mais lorsque vous débutez, travaillez avec une seule.

Bonne chance! Et rappelez-vous, c'est censé être amusant! = D

Bryanegr
la source
Merci pour votre contribution perspicace. Un de mes problèmes a toujours été le fait que je visais (souvent) trop haut et que je tombais au premier plan. Mon subconscient a peut-être adopté une approche "brûlé une fois, deux fois timide" et bloque peut-être mes tentatives de rectification. J'ai toujours été curieux, mais le manque de mentor m'a amené à ignorer ma curiosité. Et sérieusement, SE a l'air beaucoup plus géniale à mesure que le temps passe, je vais certainement parcourir cette formidable ressource et atteindre mon objectif de devenir un bon programmeur. Merci beaucoup, je ne peux sérieusement pas dire à quel point votre message compte pour moi.
Ameen
Je suis heureux d'aider! = D
bryanegr
Meilleur objectif: code du navire!
7

En développement, il semble que le paradoxe "plus vous en savez, plus vous en savez, vous ne le savez pas" est vrai.

Si vous êtes une personne honnête et réfléchie, vous devez accepter ce fait et apprendre à le gérer.

La confiance, au sens implicite de la question, est une chose très personnelle qui n'a vraiment rien à voir avec un ensemble de compétences ou une méthodologie particulière.

Sur une note plus superficielle, le sentiment décrit dans http://www.kalzumeus.com/2011/10/28/dont-call-yourself-a-programmer/ (section: Vous surestimez radicalement les compétences moyennes de la concurrence en raison de: la foule avec qui vous traînez) m'a toujours aidé.

Je suggérerais que vous appreniez à être plus confiant dans le travail que vous avez fait, par opposition à renforcer la confiance dans l'ensemble de vos compétences. La meilleure façon de procéder consiste à écrire des tests répétables pour tout votre code. Cela fera des merveilles sur votre psychisme.

smp7d
la source
4

WhiteFang34 a totalement raison. En tant que biologiste moi-même, j'ai découvert que la seule façon d'apprendre la programmation est de commencer à le faire. Lisez quelques livres, ayez toujours Google et SO à portée de main et "faites-le". Vos programmes seront très basiques, mal codés et bogués au début, et vous irez de mieux en mieux avec le temps. Je n'ai pas le temps de prendre des cours de programmation, mais je passe beaucoup de temps à coder (parce que c'est amusant de le faire).

Choisissez une langue qui vous permettra de réfléchir davantage à ce que vous voulez faire et moins à la manière de le faire. c n’est pas un très bon exemple de cela. Essayez des langages de niveau supérieur tels que java ou c #, car ils vous permettront de faire plus, vous aurez ainsi le courage d'essayer de plus en plus.

(C'est, bien sûr, en supposant que vous ne poursuivez pas une carrière de programmeur professionnel, auquel cas je dirais simplement de retourner à l'école ...)

Bonne chance et bon codage

PS: Oh, et vous aurez besoin de beaucoup de paresse, d'impatience et d'orgueil

http://c2.com/cgi/wiki?LazinessImpatienceHubris

Aleadam
la source
4

La chose drôle est:

l’esprit du programmeur n’est pas tellement axé sur l’ordinateur, le langage de programmation,
les modèles de conception ou les algorithmes

Il s'agit de comprendre les subtilités du monde réel, l'interaction entre les choses. Capacité à penser abstrait . Capacité à remarquer des choses et à s'en souvenir . Cela conduit inévitablement à une bonne résolution de problèmes.

L'implémentation, le code lui-même vient seulement après cela - après avoir
résolu avec succès un problème donné dans votre esprit.

Arnis Lapsa
la source
4

La confiance n'est pas quelque chose que vous devriez essayer de ressentir à propos de vos compétences. La confiance est faiblement corrélée (probablement même négativement) aux compétences réelles. Vous devriez travailler à améliorer votre ensemble de compétences professionnelles (ou votre passe-temps apprécié), peu importe ce que vous pensez de votre niveau actuel.

La confiance est une chose que les autres personnes, celles que vous jugez compétentes, devraient ressentir à propos de vos compétences après avoir travaillé avec vous ou avoir vu votre travail.

hotpaw2
la source
3

C'est très simple: s'y intéresser ! Vous semblez l'être déjà. Trouvez quelque chose que vous pensez qu'il serait cool de faire, puis posez-le, posez les questions qui vous intéressent, utilisez toutes les ressources possibles pour mettre en place le projet comme vous le souhaitez. le veux. Rincez et répétez, et vous vous retrouverez comme un programmeur génial sans même avoir déployé beaucoup d’efforts, car c’était intéressant / amusant en cours de route.

En outre, trouvez un juste équilibre entre comprendre et poser beaucoup de questions. Au début, en particulier, il est très utile que d’autres personnes vous disent où vous vous trompez et vous encouragent en quelque sorte au début de la courbe d’apprentissage. À partir de là, essayez de comprendre vous-même et si vous êtes bloqué au bout d’un moment, posez une question à ce sujet. Ce que je fais souvent, c'est poster une question sur SO, puis aller chercher la réponse, en vérifiant SO de temps en temps. Parfois, je trouve la réponse en premier, parfois, il me trouve en premier.

Ne vous inquiétez pas trop de la technologie, même si cela peut être amusant de créer des graphiques avec HTML5 + JavaScript + la balise canvas, car il est assez facile à configurer, les récompenses sont immédiates et vous pouvez les partager.

Claudiu
la source
Merci beaucoup. La programmation m'intéresse beaucoup (je résous des problèmes dans ma tête - et bien sûr des algorithmes, des organigrammes, etc.). dans une impasse. (Tout cela doit se terminer maintenant, cependant :) Merci à SE) De plus, je suis extrêmement intéressé par HTML5 + JavaScript (chargement partiel de la page - Mashable implémente cela de façon géniale, Answers se chargeant sur SE, etc.). Cependant, je ne connais pas vraiment de ressources décentes pour qu'ils puissent apprendre (les écoles du W3C sont soi-disant des charlatans; W3Fools le dit bien!)
Ameen le
3

Approche de la programmation avec une attitude plus positive des apprenants. Personne ne sait tout. Deuxièmement, découvrez pourquoi vous êtes intéressé par la programmation, que vous appréciiez:

  • résolution de problème
  • apprendre de nouvelles choses
  • faire plier un ordinateur à votre volonté
  • autre chose...

Une fois que vous savez ce que vous aimez dans la programmation, vous pouvez concentrer vos efforts d'apprentissage dans cette direction. Je suis un bricoleur / solutionneur de problèmes. Cela me rend extrêmement pragmatique. Les algorithmes et les structures de données, la théorie informatique en général m'endormissent.

Mon parcours est similaire au vôtre. A commencé à construire des ordinateurs à l'âge de 10 ans. Est-ce qu'un peu de HTML / C ++ à l'âge de 15 ans ... m'a ennuyé ... s'est arrêté pendant quelques années. Je n'ai jamais arrêté de jouer avec l'ordinateur.

Maintenant, j'aime la programmation. Alors qu'est-ce qui a changé? J'ai trouvé ma motivation. J'ai commencé à travailler là où on me donne une pléthore de problèmes à résoudre. Trouver des solutions simples et intelligentes à des problèmes complexes allume vraiment mon feu.

Enfin, ne vous inquiétez pas de la manière dont les autres codent, de la "droit" ou non. C'est juste si cela fait ce que vous voulez. Une fois que vous commencez à travailler en équipe, les normes deviennent importantes. Cela tient en grande partie au fait que d’autres personnes devront pouvoir interpréter et modifier votre travail. Les normes de conception ne sont pas quelque chose qu'un nouveau programmeur devrait se préoccuper.

P.Brian.Mackey
la source
3

Il y a toujours une inertie à surmonter pour apprendre de nouvelles choses. Les programmeurs curieux que j'ai connus ont du mal à trouver la motivation pour continuer à apprendre de nouveaux langages et paradigmes. Ils diront: "J'ai besoin d'un projet pour essayer X." pour apprendre X. Quelques-uns trouveront / inventeront ce projet.

Sachez qu'une carrière dans la programmation sera un processus de frustration, d'étude, d'expérience et de lutte contre les moulins à vent qui durera toute la vie. Jusqu'à ce que les IA prennent tout en charge.

Si vous faites encore de la vraie science, vous devriez pouvoir imaginer un projet / besoin. Par exemple, combiner des données provenant de sources multiples sur ou hors d’Internet. Cela pourrait vous inspirer pour apprendre javascript, R ou même Excel / VBA. Si vous pouvez connecter des points à d’autres personnes de votre domaine, vous serez reconnu et le tour est joué, vous serez programmeur.

Utilisez mais méfiez-vous des mentors. Question autorité.

Et au fait, "coder zen" est un oxymore.

stevej
la source
3

Vous ne serez jamais confiants dans vos compétences en programmation.

La façon dont vous décrivez vos compétences indique un état d'esprit dans lequel vous ne serez jamais satisfait de vos compétences. Vous maîtrisez le C ++? Attends, il y a Java! Vous avez maîtrisé Java? Attendez, il y a la programmation parallèle. Vous maîtrisez la programmation parallèle en C ++ et Java? Attends il y a SOA! Il y a du OOD! Et MVC! SOLIDE! Programmation fonctionnelle! Programmation web! Programmation en nuage! Programmation mobile!

Le but est de ne pas se sentir déprimé à cause de cela. Vous devez pousser des boutons dans votre tête: Votre doute sur vos compétences est du carburant pur. Vous n'atteindrez probablement jamais un niveau satisfaisant de compétences en programmation. Tant que c'est le cas, vous irez de l'avant. La partie difficile est de le réaliser et de faire quelque chose contre cela, bien qu’il n’y ait jamais d’objectif. Plus vous pourrez le supporter longtemps, plus votre niveau de compétence sera élevé.

Theo Lenndorff
la source
Wow, c'est une toute nouvelle façon de voir les choses. Aimez ce que vous dites, il y aura toujours quelque chose que vous voudrez faire. Je devrais vraiment commencer à transformer mes négatifs en positifs. Merci beaucoup. Appréciez le!
Ameen
3

J'avais l'habitude de ressentir la même chose, et ce sont en fait les sites Stack Exchange qui m'ont aidé à me donner confiance.

J'ai commencé à utiliser StackOverflow pour trouver des réponses à mes questions et un jour, j'en ai vu une dont je connaissais la réponse. J'ai posté la réponse, obtenu quelques votes positifs et un commentaire disant que c'était une bonne réponse, ce qui m'a encouragé à chercher d'autres questions auxquelles je pourrais répondre.

Cela m’a rapidement transformé en une dépendance, en trouvant des questions sans réponse que je pouvais résoudre, et au fil du temps, j’ai commencé à prendre confiance en mes réponses. Je n'avais plus à dire "Je pense que c'est parce que ..." ou "Cela devrait causer ..." mais pourrais plutôt dire avec une certaine confiance que "C'est parce que ..." ou "Ceci cause ..."

J'aime les énigmes et, pour moi, les questions SO étaient comme des énigmes de mini-programmation, avec l'avantage supplémentaire d'obtenir des retours positifs si j'ai la bonne réponse. Si je me suis trompé dans une réponse, je l'ai simplement supprimée et j'ai appris des solutions d'autres personnes au même problème.

Donc, ma recommandation serait d'aller sur SO et de parcourir les questions dans les balises qui vous intéressent, et de chercher celles pour lesquelles vous pensez pouvoir trouver des réponses. Il n'y a rien de tel que les gens vous disent que les réponses de votre programmation sont utiles / bonnes pour vous donner confiance en votre capacité de programmation :)

Rachel
la source
Bien sûr, je dois faire ça. Mais mon ego intervient et dit: "Vous n'êtes pas assez bon pour que les autres fassent des choses, bon sang, vous n'êtes même pas assez bon pour être ici". Je sais que cela semble stupide, et comme certaines personnes ici l'ont mentionné, j'ai peut-être peur de stresser mon cerveau, mais je le ferai, je vais insister sur ce bloc de graisse jusqu'à ce qu'il ne soit plus rien. Merci beaucoup pour cette suggestion et je vais essayer de rester fidèle à ma nouvelle habitude de parcourir SE pour résoudre des questions intéressantes tous les jours. Merci d'avoir pris votre temps et d'avoir répondu à ma question idiote. J'apprécie vraiment cela!
Ameen
3

Votre cerveau n'aime pas travailler trop fort. Étant donné le choix, il préfère choisir la solution de facilité. C'est pourquoi il est facile d'abandonner les choses lorsque vous essayez de vous attaquer à quelque chose de trop ambitieux - trop à apprendre, trop de détails délicats à résoudre, trop de rasage de yak.

Vous pouvez faire plusieurs choses pour lutter contre cela. Tout d'abord, il y a l'énergie. Essayez de vous entraîner lorsque vous êtes bien reposé et nourri, sinon votre cerveau n'aura littéralement pas assez de carburant pour une pensée abstraite complexe. Le deuxième tour est l'intérêt ou l'importance. Si vous parvenez à convaincre votre cerveau que la connaissance de maven est indispensable pour échapper au tigre qui vous poursuit, vous en apprendrez et retiendrez plus que lorsque votre cerveau pense que c'est une tâche secondaire insignifiante sur la voie de ce que vous voulez vraiment. Un troisième facteur important est de s’étirer sans trop en faire. Certains efforts vous donneront le bourdonnement de la réussite et aideront à créer de nouveaux chemins mentaux, sans être irréalisables.

Il y a aussi quelque chose à dire pour une pratique répétée. Vous voulez assez de variation pour être nouveau, mais suffisamment de similitude pour pouvoir exercer les mêmes actions et les enraciner.

Un autre point est que vous devriez essayer de vous retrousser les manches et vous salir les mains. Il est facile de passer beaucoup de temps à réfléchir à d’autres approches ou à la solution idéale, dans la mesure où vous n’avez jamais commencé. Ceci est un exemple de votre cerveau essayant de prendre le moyen le plus facile. Essayez de savoir quand cela vous arrive et évitez-le en essayant de vous lancer. Même un test ou une expérience est bon. Cela a également pour avantage de donner à votre cerveau le désir de terminer la tâche ou de trouver la meilleure solution.

CPhelps
la source
Wow, vous venez d'énoncer le plus grand coupable que j'ai jamais soupçonné. Mon cerveau a toujours eu du mal à avoir les pieds froids, et la plupart du temps, je finis par me saboter. J'ai toujours une excuse pour éviter de faire ce qui est important. Je dois devenir un pirate informatique et cesser de m'inquiéter d'échouer monumentalement en raison d'échecs antérieurs. J'ai besoin de pirater ma vie pour devenir le "Oui mec" par excellence. Merci de signaler certaines des faiblesses en moi que je devais changer, et j'espère pouvoir le faire dès que possible. Merci beaucoup, et je ne pourrai jamais assez te remercier pour ça! À votre santé.
Ameen
2

Trois choses à considérer: (ou pas, bien sûr.)

  1. Entraine toi. Et si l'échec ne voulait rien dire de plus qu'une indication de votre pratique? Si vous arrêtiez d'apprendre à marcher la première fois que vous tombiez, vous ramperiez toujours.
  2. Joue avec tout ce que tu fais. Jouer, c'est simplement essayer quelque chose et remarquer ce qui se passe. Arrêtez de juger les bons / mauvais résultats, jouez et voyez ce qui se passe. Abandonnez l'attachement à un résultat particulier, essayez simplement quelque chose et voyez ce qui se passe.
  3. Et si vous n'êtes pas le seul programmeur au monde à ressentir cela?
David Pointer
la source
2

Il y a beaucoup de bons commentaires sur la pratique ici, cela fait vraiment toute la différence.

Vous devriez vous soucier moins de "code jocks" et de prendre leurs conseils ou commentaires pour ce qu'ils sont. S'ils sont difficiles à gérer dans un fil, ils sont probablement difficiles à gérer dans la vie réelle également; et vraiment, qui a le temps de s'inquiéter de leur inaptitude sociale?

Le résultat final est qu'il existe des milliers de façons d'aborder les tâches de programmation. Beaucoup de choses se résument à des préférences personnelles. Je déteste, par exemple, la lecture de code avec des opérateurs temporaires. Les autres les aiment. Est-ce que je pense qu'ils ont raison ou tort? .. en fait, ni l'un ni l'autre. C'est une préférence personnelle bien que de nombreux débats passionnés aient lieu sur le sujet.

Si quelqu'un réprimande votre code parce que vous avez pris 25 lignes au lieu de 20, j'aurais tendance à les ignorer à moins que cette dernière ne trouve un défaut réel dans la logique. Parfois, dans le monde réel, nous devons simplement faire avancer les choses (et qui veut vraiment écouter la poitrine de quelqu'un dire à quel point c'est compliqué ... euh, élégant, ils ont réussi à faire un morceau de code qui aurait dû être fait en 10 minutes) . Pouvez-vous apprendre quelque chose à partir de débats philosophiques sans fin sur la distance aux choses abstraites? Bien sûr ... mais il y a des rendements en baisse en se faisant sucer dans une élégance constante à 100%. Ce n’est pas réaliste tout le temps autant que nous voudrions le prétendre. Certains de mes codes les moins élégants que je serais gêné de partager avec qui que ce soit (que j'ai écrits au début de ma carrière) ont fait gagner du temps à des personnes, semaines après semaines,

Joel Spolsky a publié un excellent post sur le blog, intitulé Duct Tape Programmer. C'est une excellente lecture et l'OMI met en perspective certaines de vos peurs.

http://www.joelonsoftware.com/items/2009/09/23.html

Je ne dis pas écrire du code merdique et ignorer les meilleures pratiques, mais prenez les programmeurs téméraires avec un grain de sel.

b.pell
la source
1

Demandez-vous pourquoi vous ressentez réellement un manque de confiance en vous. Je pense que c'est parce que vous vous souciez de ce que vos pairs pensent et c'est tout à fait compréhensible. Mais pour être vraiment zen à ce sujet, vous devez effacer ces pensées et vous comparer à vous-même au fil du temps. Soyez guidé par votre intérêt, apprenez et travaillez fort, et vous deviendrez un bon programmeur sans tous les BS psychologiques.

Ce n'est pas vraiment la confiance dont vous avez besoin, c'est moins de bruit sur votre chemin de progrès.

Kevin Hsu
la source