La carrière d'un programmeur est un voyage intéressant plein de hauts et de bas. Étant donné sa courbe d'apprentissage abrupte, il est tout à fait prévisible que vous passiez par des périodes de frustration, d'illumination et d'arrogance, ainsi que par diverses expériences émotionnelles entre les deux. Dans cet article, détendons-nous et passons en revue chacune de ces étapes à travers une série d'images GIF hilarantes.
Étape 1 - Débutant

Aux premiers jours de l’entrée dans le monde du travail, nous sommes tous pleins de passion. Durant cette période, vous n’avez aucune idée et vous ne savez tout simplement pas quoi faire. Comme un poisson hors de l’eau, chaque ligne de code est un mystère pour vous. Doctype ? Hein ? À quoi diable sert ce <div> ? La première étape est intimidante, stressante, mais passionnante. Combien de fichues langues y a-t-il à apprendre ?
Cependant, votre plus grand avantage est peut-être que vous ne savez pas à quel point l’eau est profonde(Note du traducteur : le texte original « you have no idea how deep the rabbit hole goes » fait allusion à Alice tombant dans un terrier de lapin sans fond dans Les Aventures d’Alice au pays des merveilles). Apprendre le HTML n’est qu’un petit pas en avant.
Étape 2 - Premiers pas

Bien qu’il ait fallu quelques efforts, vous avez fini par acquérir suffisamment de connaissances pour faire votre premier pas dans le monde de la programmation. Alors que la première étape était entièrement un état de confusion du type « Comment dois-je m’y prendre / Par où commencer ? », à la deuxième étape, vous avez commencé à construire lentement votre propre système de compétences. Bien sûr, la syntaxe CSS pour définir les styles vous est encore étrangère, mais au moins vous pouvez modifier le code dans votre éditeur de code fraîchement acheté et voir l’effet des modifications dans le navigateur. C’est une sensation merveilleuse !
Étape 3 - Frustration extrême

Imaginez que vous êtes perdu dans une grotte, éclairant chaque tunnel avec une lampe torche pour trouver une sortie. À chaque pas, vous espérez voir une lueur. Malheureusement, la courbe d’apprentissage dans notre domaine est très raide. Je suis désolé de dire que cette lueur ne durera pas longtemps. Vous devez être prêt à passer des centaines d’heures dans cette étape. Lorsque vous essayez désespérément de comprendre ce que signifient ces choses qui vous rendent fou, vous devez lire des livres techniques encore et encore et encore.
Si vous vous sentez trop frustré au point de ne plus le supporter, calmez-vous et pensez au fait que chacun d'entre nous a ressenti la même chose que vous à un moment ou un autre de sa carrière. Vous ne vous battez pas seul. Continuez, et bientôt vous atteindrez l'étape de l'« illumination ».
Étape 4 - Le moment de l'illumination

Le moment de l'« illumination » est l'un des meilleurs sentiments au monde : en un instant, soudain, vous « avez compris » - « Ohhh, maintenant je comprends enfin. » Pour ma part, je trouve que les grandes percées en programmation se produisent généralement la nuit, pendant que les autres dorment profondément. Après avoir lu le code huit fois, ce qui était autrefois insaisissable devient au moins un peu plus clair.
À ce stade, toutes les compétences et tous les langages que vous avez appris commencent à vous être utiles.
Étape 5 - Code fragile

Comme les étapes précédentes, l'étape « fragile » est également assez longue. À cette étape, vous réussissez à construire des applications et à obtenir les résultats souhaités, mais le code sous-jacent ne peut pas faire face à des changements soudains dans les exigences du client(À ce stade, vous construisez avec succès des applications et atteignez le résultat final souhaité, mais le code sous-jacent est à une demande de fonctionnalité client près d'exploser. Note du traducteur : la seconde moitié de la phrase en « mais » est assez difficile à traduire ; espérons qu'un expert puisse la sauver.). À ce moment-là, les méthodes que vous écrivez font des dizaines de lignes, et le concept de test n'a pas encore pris forme dans votre esprit.
Mais au moins, vous créez quelque chose de réel. Pour l'instant, veuillez limiter vos pull requests sur GitHub à la rédaction de documentation et à la correction de fautes de frappe. Ne sous-estimez pas l'aide que ces efforts peuvent apporter aux autres.
Étape 6 - Imitation

L'étape d'imitation est très importante. Il n'y a pas de meilleure façon d'apprendre les bonnes techniques de programmation que d'imiter le code écrit par les maîtres que vous admirez - même en copiant leur code ligne par ligne. Ne vous découragez pas ; toute carrière artistique passe par une étape d'imitation. Heureusement, GitHub rend cette admiration silencieuse plus facile que jamais. Bien sûr, copier du code ne peut vous aider que jusqu'à un certain point, mais c'est un bon début. Imitez ceux qui vous inspirent, et vous finirez par commencer à former votre propre style.
Étape 7 - Suffisance
À ce stade, vous commencez enfin à tomber dans une situation où : vous avez certainement encore d'énormes marges de progression, mais votre confiance en vous gonfle aussi rapidement - peut-être trop vite ! On dit souvent que, dans les premières années, vous n'êtes pas encore capable de réaliser à quel point vous êtes ignorant !
À ce stade, évitez l'impulsion de devenir trop arrogant. L'arrogance n'est bonne pour personne, et elle ne fera que faire en sorte que votre futur vous, meilleur, secoue la tête en repensant au passé. Lorsque vous voulez laisser un commentaire sarcastique sur GitHub, Reddit ou StackOverflow disant « Mec, apprends à programmer », ne le faites pas. Il n'y a pas longtemps, vous étiez vous-même un parfait débutant. Répandez de l'énergie positive plutôt que de rabaisser les autres. Nous sommes tous du même côté, juste à des étapes différentes.
Étape 8 - Apprendre Vim

Si vous avez déjà observé un développeur avec qui vous travaillez, vous émerveillant de la vitesse à laquelle il travaille dans l'éditeur de code, alors il utilise probablement Vim. Bien que la courbe d'apprentissage de Vim soit très raide, une fois que vous le maîtrisez, votre flux de travail paraîtra lui aussi magique, comme un tour de magie, aux yeux des observateurs.
C'est l'étape où vous commencez à prendre le contrôle de vos compétences de programmation et de votre flux de travail, et les bons outils sont tout aussi importants que les compétences.
Étape 9 - Quand le code devient de l'art

Bien que cela prenne des milliers d'heures, un jour vous regardez votre code, le lisez aussi facilement que d'utiliser une ligne de commande, et vous réalisez qu'il est pratiquement une œuvre d'art. Votre code dispose d'une gestion de versions, d'une bonne abstraction, d'une testabilité parfaite, d'une scalabilité, et est facile à lire. À un moment donné de votre carrière, vous avez peut-être pris plaisir à pouvoir écrire du code mystérieux, déroutant mais fonctionnel. Cependant, utiliser toutes les astuces possibles et fonctionnalités cachées d'un langage de programmation, ou simplifier une logique complexe en une seule ligne juste pour montrer votre intelligence, ne sont pas des signes d'un développeur mature. Au contraire, ils révèlent un développeur arrogant qui n'a aucune considération pour les futurs mainteneurs du code.
Lorsque la lisibilité du code devient aussi importante pour vous que la fonctionnalité qu'il implémente, le code devient de l'art. À ce stade, vous écrivez du code pour les humains, pas pour les machines.
Étape 10 - Expérimenté

Lorsque la programmation devient un instinct, vous atteignez l'étape suivante de votre carrière. À ce stade, vous ne pensez plus aux langages et aux frameworks, mais vous identifiez simplement les problèmes et choisissez les bons outils dans votre boîte à outils de développement pour fournir des solutions. Un développeur expérimenté comprend pourquoi l'approche du cow-boy solitaire qui consiste à tout faire seul est rarement la bonne voie. Discuter de chaque nouvelle fonctionnalité avec tous les membres de l'équipe projet, préparer des tableaux blancs, écrire des stories (note du traducteur : story), et générer des tests - toutes ces tâches sont réalisées avant d'écrire la première ligne de code réel.
À ce stade, vous êtes devenu un développeur mature et réfléchi avec qui tout le monde veut travailler. Félicitations !
Étape 11 - Rock Star

Très peu de personnes peuvent atteindre ce stade. Le stade de rock star est le sommet d'une carrière. En plus de votre travail quotidien, vous intervenez souvent dans des séminaires, devenant une figure de proue derrière d'innombrables projets open source ; vous trouvez le temps de participer et de contribuer au développement futur du web via des listes de diffusion, tout en aidant les nouveaux venus sur IRC. Vous êtes le genre de personne qui aime écrire des compilateurs et des analyseurs syntaxiques.
D'autres vous appellent une rock star ou un ninja, mais vous détestez ces étiquettes. Vous savez mieux que quiconque — il n'y a pas de fin à l'apprentissage !
Source : http://blog.jobbole.com/56252/