10 signes qu'un bon programmeur ne fonctionnera pas avec vous

Bonjour, Habr! Je vous présente la traduction de l'article «10 signes à sucer lors de la programmation» de Jonathan Bluks.



Très souvent, sur Reddit ou Quora, je vois des questions comme «Comment savoir si je peux devenir un programmeur performant?» (En fait, cet article est une extension de ma réponse récente à Quora .) Quand quelqu'un pense à un changement de carrière ou souhaite développer et veut savoir ce qui est nécessaire pour cela, cette question se pose inévitablement.

En général, je pense que c'est le principal obstacle dans l'esprit des personnes qui n'ont pas reçu une formation fondamentale en programmation. Penser que le programmeur est un peu comme ça est tout à fait naturel, et cela vous empêche de démarrer une nouvelle entreprise. C'est comme rêver de devenir acteur, mais doute que tu saches même jouer.

En tant que professeur dans le cours «Développement Web Full-stack», j'ai travaillé avec de nombreux nouveaux programmeurs. La bonne nouvelle est que j'ai rarement rencontré des étudiants qui ne pouvaient pas du tout apprendre la programmation. Je crois que la programmation est la même compétence de base que la lecture, l'écriture et le comptage. Tout le monde peut le faire, car c'est l'une des capacités d'une personne, mais cela doit vraiment être appris.

Pendant deux ans d'enseignement, j'ai observé le tourment des étudiants dans le processus d'apprentissage et les ai vus avec plusieurs problèmes similaires. Si vous jetez un coup d’œil à leur liste et que vous pensez que tout dépend de vous, vous pouvez être sûr qu’un bon programmeur ne fonctionnera certainement pas avec vous, et peut-être devriez-vous faire autre chose. Cependant, si vous restez fidèle à votre objectif de devenir développeur, vous pouvez surmonter tous les obstacles.

Cette liste vous aidera à comprendre si vous pouvez devenir un bon programmeur, ainsi que quoi faire si vous décidez de le changer.


1 | Tu manque de curiosité


Si vous n'êtes pas très curieux de savoir comment l'ordinateur et la technologie fonctionnent en général, vous ne deviendrez jamais un programmeur performant.

La base de toute formation est un grand intérêt pour le sujet d'étude. Si votre esprit ne s'intéresse pas beaucoup à la technologie, vous n'aurez pas assez d'énergie et de passion pour étudier la programmation en profondeur et en détail et réussir dans ce domaine.

Au contraire, le monde de la technologie est comme un immense océan de zones passionnantes, d'idées croisées et de possibilités passionnantes. Une motivation interne impressionnante sera nécessaire pour vous y plonger et découvrir tout ce qui est possible.

Cultivez la curiosité en vous-même: demandez-vous si vous êtes vraiment intéressé par la programmation. Si votre réponse honnête est non, trouvez quelque chose qui vous captive vraiment. Ne perdez pas votre temps et votre énergie. Mais si vous avez répondu oui, alors forcez-vous à trouver quelque chose de nouveau que vous n'avez pas encore rencontré, reconnaissez l'étendue de cet océan et plongez plus profondément.

2 | Vous manquez d'indépendance et de débrouillardise


Si vous ne développez pas la capacité de résoudre les problèmes par vous-même, vous ne deviendrez jamais un programmeur performant.

Sans aucun doute, pour devenir un développeur à succès, vous devez avoir confiance en vos propres capacités d'apprentissage. C'est d'ailleurs l'une des compétences de vie les plus importantes - si vous avez plus de 18 ans, personne n'est obligé de vous enseigner. Telle est la réalité. Trouver les informations nécessaires et l'aide si vous en avez besoin n'est que votre tâche.

Dans le monde du développement, toutes les informations dont vous avez besoin se trouvent dans un lieu magique anciennement connu sous le nom d'Information Super Highway. Cette bibliothèque géante a une grande porte - Google. Le fait de comprendre que vous pouvez simplement diriger tout ce que vous voulez dans la recherche et accéder aux informations nécessaires est le premier obstacle à votre acquisition des compétences dont vous aurez besoin dans le monde informatique.

En plus de la possibilité de google, il est également important d'apprendre à lire la documentation et les spécifications de tous les langages de programmation et d'expliquer de manière très transparente le fonctionnement du langage. C'est comme utiliser un dictionnaire: lorsque vous rencontrez un mot que vous ne connaissez pas, vous le regardez dans le dictionnaire. Le moyen le plus rapide et le plus fiable pour développer et consolider vos compétences en programmation est de simplement lire la documentation. Il y a littéralement tout.

Utilisez toutes les ressources: comprenez que toutes vos questions ont déjà des réponses. Avant de demander à quelqu'un, google et lisez la documentation. Enregistrez l'opportunité de passer le temps de quelqu'un dans le cas où vous avez vraiment essayé de trouver la réponse, mais sans succès.


3 | Vous manquez de persévérance face au problème


Si vous abandonnez, à peine confronté à un problème, vous ne deviendrez jamais un programmeur performant.

L'essence de la programmation est la solution aux problèmes. C'est la raison de la création d'ordinateurs! Chaque fois que vous commencez à travailler sur un programme, vous êtes confronté à toute une «pile» de problèmes. Et dès que vous trouvez une solution à un problème, un autre se pose presque toujours. Vous avancez, mais il y a toujours de nouveaux obstacles.

Je dois admettre que cette pile de problèmes peut être effrayante et décourageante. Si vous pensez que tout devrait "fonctionner", vous n'aurez pas assez d'énergie et de force pour continuer à travailler de manière persistante, tandis que les problèmes apparaissent les uns après les autres et vous mettent progressivement hors d'équilibre émotionnel. Votre travail consiste précisément à comprendre pourquoi quelque chose ne fonctionne pas.

Dans mon expérience d'enseignement, il y a toujours un ou deux étudiants dans un groupe qui semblent avoir une sorte de capacité innée à trouver plus de problèmes que d'autres, et très souvent ce sont des problèmes aléatoires et obscurs. Je rappelle à ces étudiants que plus ils rencontrent de problèmes, plus ils ont d'occasions d'étudier quelque chose en profondeur et en profondeur. Si, grâce à ces problèmes, ils peuvent acquérir une compréhension complète, ils deviendront plus confiants beaucoup plus rapidement, précisément parce qu'ils ont rencontré et traité plus de problèmes que d'autres.

Patience et acceptation: vous devez comprendre que ce domaine est constitué de problèmes et les traiter non pas comme des problèmes, mais comme des défis. Chaque défi que vous parvenez à surmonter vous donnera plus de connaissances, une meilleure compréhension et améliorera votre capacité à trouver de nouveaux obstacles et à résoudre plus rapidement les anciens.


4 | Vous ne ressentez pas la joie de réussir à résoudre des problèmes


Si vous ne ressentez pas de joie et d'accomplissement lorsque vous avez résolu le problème, vous ne deviendrez jamais un programmeur performant.

Avec la situation décrite ci-dessus, lorsque vous abandonnez facilement, il y a également un manque de «sentiments agréables» lorsque vous trouvez une solution efficace au problème. Lorsque la correction des erreurs se transforme en un travail mécanique monotone, qui n'a pas de fin, vous perdez l'excitation qui accompagne la recherche et la recherche d'une solution au problème.

Lorsque vous réussissez à résoudre un problème, une charge de dopamine est libérée dans le cerveau. Cela revient à terminer un niveau dans un jeu vidéo ou à résoudre des mots croisés ou un sudoku. Tout le monde connaît ce sentiment agréable lorsque vous luttez constamment avec une tâche difficile et gagnez finalement. Mais si vous perdez la capacité de ressentir ce plaisir ou si vous ne vous en souciez pas, vous ne comprendrez pas et ne ressentirez pas la joie de la programmation. Si pour vous la programmation est un travail ennuyeux monotone, où vous voulez juste obtenir le résultat sans effort, vous ne deviendrez jamais un très bon programmeur.

Célébrez vos victoires: chaque fois que vous trouvez une réponse à une question qui vous tourmente, peu importe à quel point elle est insignifiante, considérez-la comme un motif de fierté, laissez-vous distraire un instant et félicitez-vous pour la tâche accomplie avec succès. Laissez le sentiment de réussite vous embrasser et vous dynamiser pour vos prochaines tâches.


5 | Vous manquez de patience dans vos études


Si vous ressentez un manque de patience dans vos études et que vous vous attendez à pouvoir tout apprendre facilement et rapidement, vous ne deviendrez jamais un programmeur performant.

L'homme est une créature très limitée. Malgré le fait que tout dans notre monde se déplace plus rapidement et que les ordinateurs sont peut-être la principale raison de cela, nous ne pouvons pas nous développer plus rapidement que nos capacités le permettent. Notre cerveau fonctionne à un certain rythme, et en fonction de notre passé, de nos croyances, de notre état émotionnel et de notre santé, nous apprenons et assimilons tous des informations à différentes vitesses.

Le monde de la technologie est comme un océan sans fin. Vous ne pouvez pas vous en tirer, vous ne deviendrez jamais un tel professionnel qui sait absolument tout et qui n’a plus rien à apprendre. Si cela vous décourage, vous serez constamment sous la pression du besoin de «rattraper» les progrès et de sentir que vos connaissances ne seront jamais suffisantes. Si vous n'êtes pas en mesure d'accepter ce que vous savez déjà et d'apprendre quelque chose d'autre, il vous semblera que vous ne vous déplacez nulle part et vous abandonnerez simplement.

Au lieu de cela, essayez d'apprécier le processus d'apprentissage et voyez-le comme un voyage. Toutes les nouvelles connaissances ou nouvelles compétences que vous acquérez devraient vous inspirer et vous ravir. Comment et quand vous trouvez une solution à un problème, vous devez être fier de vos réalisations et reconnaître que vous avez fait un pas en avant, même s'il s'agit d'un petit pas.

Récompensez-vous pour vos progrès: vous devrez apprendre beaucoup en programmation et ce voyage ne finira jamais. Mais les connaissances s'accumulent, vous devez donc être fier de ce que vous savez déjà et croire que tous vos efforts d'études créent une base solide pour votre carrière, où qu'elle vous mène.


6 | Vous vous sentez ennuyé ou fatigué de penser


Si vous êtes trop paresseux pour penser et que vous pensez que la pensée concentrée est un devoir de routine ennuyeux, vous ne deviendrez pas un programmeur à succès.

La programmation est une activité mentale. Une personne, en tant qu'espèce, réussit dans ce domaine, mais la réalité est que même si nous le faisons tout le temps, nous sommes paresseux pour vraiment penser. La capacité de maintenir la concentration tout en résolvant un seul problème pendant un certain temps est difficile si vous n'y êtes pas habitué.

Il se manifeste de différentes manières. Vous pouvez rester assis à regarder l'écran pendant longtemps, sentir qu'un nuage lourd écrase vos pensées, tergiverser, basculer sans but entre les onglets du navigateur ou explorer désespérément StackOverflow à la recherche de la «réponse» souhaitée. Tout cela signifie que vous êtes confronté à des limitations mentales et que vous devez trouver une issue.
En programmant, vous vous fatiguerez naturellement et l'activité mentale brûlera littéralement de l'énergie comme l'énergie physique. Lorsque votre corps n'est pas habitué à une telle dépense d'énergie mentale, il vous sera difficile de rester calme. Mais c'est comme suivre des cours de gym: plus vous le faites, plus vous devenez fort.

Votre cerveau est un muscle: croyez-moi, votre cerveau est comme un muscle: plus vous le tendez, plus il devient fort et plus vous pensez efficacement. Lorsque vous assemblez les pièces du puzzle, organisez, analysez et développez des idées, trouver des solutions devient plus facile.


7 | Vous n'êtes pas en mesure de penser par vous-même


Si vous attendez que quelqu'un pense pour vous et que vous ne voulez pas examiner les détails de votre situation, vous ne deviendrez jamais un programmeur performant.

En étudiant quelque chose de nouveau, nous pensons très souvent que nos connaissances et notre expérience ne suffisent pas pour avoir notre propre opinion. Prendre l'initiative, faire ou dire quelque chose de mal semble très risqué.

Nous avons tous cette peur intérieure de se tromper. Et lorsque cette peur entrave votre curiosité de recherche, vous supprimez la capacité de développer de vraies connaissances, des connaissances acquises à partir de votre propre expérience, des victoires et des défaites. Si vous vous fiez à l'avis d'un «gourou», d'un blogueur populaire, aux «meilleures pratiques» ou à la réponse d'un manuel, cela signifie que vous ne comprenez pas complètement et profondément la programmation.

Il est nécessaire de développer votre propre opinion sur ce qui fonctionne et ce qui ne fonctionne pas. Vous devez comprendre pourquoi vous pensez que votre décision est bonne, quels sont ses avantages. Il est nécessaire de développer un look subtil qui n'observe pas seulement les détails évidents. Vous devez être en mesure de défendre votre point de vue, puis, si vous changez, vous obtiendrez une nouvelle vision et ce sera la vôtre.

Pensez par vous-même: en utilisant votre propre expérience et votre capacité à penser, façonnez de manière critique vos propres opinions. Faites des hypothèses délibérées, prenez parti dans le différend et soyez prêt à le changer si de nouvelles informations apparaissent.


8 | Votre pensée est rigide, étroite et / ou désorganisée.


Si vous n'êtes pas très flexible dans votre façon de penser et que vous avez des difficultés avec l'organisation de votre code, ainsi que vos pensées, vous ne deviendrez jamais un programmeur performant.

Je vois parfois deux extrêmes chez les étudiants. Le premier est une approche étroite et rigide de la pensée. Cette attitude les pousse à refuser l'aide et, malgré les retours, ne leur permet pas de changer. Tout n'est vu que d'un côté, toutes les offres sont ignorées.

Le deuxième extrême que je rencontre est la désorganisation de la pensée. Les élèves eux-mêmes se créent des difficultés sans aucun besoin, leur code est en désordre, il est difficile à comprendre. Ils compliquent les tâches et écrivent 100 lignes de code où 10 suffiraient.

Lorsque ces deux façons de penser sont combinées, le résultat est une approche de programmation difficile et tendue, une sorte de méthode de force brute qui conduit à de nombreuses couches de corrections de bogues et de béquilles. Ce qui est vraiment nécessaire dans une telle situation, c'est la possibilité de revenir au début, de repenser la solution d'origine, de l'abandonner et de réorganiser le code.

Ne pas voir d'autres opportunités ou recevoir des commentaires vous empêche de grandir et de vous développer. Être désorganisé vous ralentit et vous empêche de voir des schémas qui seraient autrement évidents. Et la qualité globale de votre travail empire.

Autocritique: vous devriez toujours prendre du recul pour voir le tableau d'ensemble de la façon dont vous abordez les tâches. Comment faire mieux? Y a-t-il quelque chose qui pourrait vous faciliter la vie? Qu'est-ce qui vous manque et qu'est-ce qui pourrait vous aider?


9 | Vous voulez connaître une «bonne» réponse au lieu de reconnaître le spectre des «bonnes» et des «mauvaises» réponses.


Si vous considérez que l'objectif ultime de la programmation est de trouver la bonne solution, et non un éventail de solutions possibles, vous ne deviendrez jamais un programmeur performant.


Au début de l'apprentissage des compétences en programmation, les étudiants veulent souvent savoir si ce qu'ils ont fait est «bien». La réponse à cette question est toujours - "dépend des circonstances".

L'informatique est la science de l'évaluation des compromis. Après avoir reçu diverses combinaisons de circonstances, trouverez-vous la meilleure solution? Tout dépend des circonstances et des objectifs. Lorsque vous percevez la programmation comme un test avec des réponses correctes et incorrectes, vous perdez la possibilité de voir l'ensemble du tableau et refusez une approche créative. Toute décision peut être «vraie» si elle est justifiée dans les circonstances.

En réalité, la programmation ressemble plus à l'écriture de poèmes ou d'histoires (ou de romans si les programmes sont assez grands). Votre code a sa propre esthétique et beauté, parfois visible uniquement pour vous et les autres programmeurs. Les raisons pour lesquelles vous avez choisi une solution et la façon dont vous l'imaginez sont bien plus importantes que «bien» ou «mal». La façon de penser de l’artiste vous permet de jouer avec diverses options et possibilités, et de ne considérer aucune décision comme la seule bonne. C'est la beauté de la programmation - il existe de nombreuses façons différentes de résoudre le problème, et l'examen de différentes possibilités conduit à un sentiment dont on est mieux adapté dans certaines conditions.

Soyez créatif: comprenez qu'il existe de nombreuses façons de résoudre un problème, et l'expérience et l'endurance vous aideront à développer une excellente compréhension des solutions qui conviennent mieux à cette situation que d'autres. Voir la situation dans son ensemble, imaginer diverses possibilités et faire confiance à votre intuition est utile pour trouver les meilleures solutions qui satisfont pleinement votre tâche.


10 | Vous ne faites pas assez attention aux détails


Si vous négligez les détails et perdez de vue les petites choses, vous ne deviendrez jamais un programmeur réussi.


Les ordinateurs aiment la précision. Lorsqu'il s'agit de programmer un ordinateur, vous devez lui fournir des commandes extrêmement précises de la manière attendue par un ordinateur. Sinon, rien ne fonctionnera. Il n'y a pas de compromis - le code fonctionne ou non.

Cela signifie que le programmeur doit être attentif aux détails. Chaque espace, parenthèse ou point-virgule est important. S'ils ne sont pas là où ils devraient être, rien ne fonctionnera. Lorsque l'ordinateur envoie un message d'erreur, vous devriez pouvoir le regarder et comprendre clairement ce qu'il vous dit. Dans la vraie vie, si vous manquez de tels détails, vous passerez des heures à chercher le problème, qui est en fait le résultat d'une simple faute de frappe.

Comme dit le proverbe, le diable est dans les détails. Et dans la programmation, c'est vraiment le cas.

Faites attention aux détails: les petites choses sont importantes et vous devez l'accepter. Une fois que vous faites cela, vous commencerez à scanner votre code pour trouver quelque chose qui n'est pas à sa place. Vous pouvez organiser votre code et utiliser divers outils pour identifier plus rapidement les problèmes.


Bonus: vous êtes concentré sur les affaires


, , : , , , . « », -, « » — .

, , , . — , , .

, , , . , , ! / , - . , !

, , , , , . , .

Conclusion


, . , , , .

, ! , , . .

: — , -. BrainStation.

Source: https://habr.com/ru/post/fr483218/


All Articles