Article original : Here’s what I did when I wanted to give up as a junior developer

Coder est difficile. Vraiment difficile. Il y a des moments où vous penserez « c'est génial ! J'adore ça ! »

Mais vous aurez aussi des moments moins géniaux. Les moments où vous fixez la même erreur pendant des jours ou où vous êtes bloqué en essayant de comprendre un nouveau concept. Vous pourriez penser : « Je ne suis pas fait pour ça. Pourquoi j'essaie ? »

Alors, que faire si vous avez envie d'abandonner ? J'ai quelques conseils pour vous, mais d'abord, voici mon histoire sur le moment où j'ai failli abandonner, et ce que j'ai fait à ce sujet...

Note : Vous pouvez passer directement aux conseils : Prenez du recul et réalisez que c'est normal.

Les lumières s'estompent et une musique dramatique d'intro joue

Image Avertissement : L'histoire suivante s'est déroulée il n'y a pas si longtemps et dans la galaxie actuelle

Quand j'ai commencé à programmer dans le cadre de mon cours d'informatique, je me sentais complètement perdu. Les gens disent que vous n'êtes pas censé en savoir beaucoup quand vous commencez, mais j'ai vraiment eu du mal au début.

Je ne parvenais tout simplement pas à comprendre les concepts de codage :

Abstraction : L'idée de se concentrer sur les idées plutôt que sur les implémentations... « OK Yoda, qu'est-ce que ça veut dire ? »

Interfaces : « Ah ! Je connais celle-ci ! C'est la chose que l'utilisateur utilise pour interagir avec... oh attendez »

Fonctions et Objets : « Je ne suis pas sûr du nombre de ces choses dont j'ai besoin ou quand j'en ai besoin. Alors je vais juste en utiliser une pour l'instant » crée un fichier monolithique appelé MyClass.js

Tableaux : « Les tableaux contiennent des choses. Compris. Mais seulement un type de chose. OK, c'est juste je suppose. Oh, regardez, vous pouvez faire un tableau 2D... un tableau de tableaux. FACILE ! Je suis prêt à commencer cette tâche » :

Tâche : Le code suivant est un tableau 3D, qui est un tableau de tableaux de tableaux, contenant des nombres aléatoires. Parcourez le tableau et imprimez les nombres premiers et la fréquence à laquelle ils apparaissent, dans l'ordre. Considérez la complexité temporelle.

« ...hmm... »

quitte le bâtiment

Et ne me lancez pas sur les structures de données et les algorithmes...

Je n'étais pas sûr de pourquoi j'étais si en retard dans mon cours.

Était-ce que je n'étais tout simplement pas fait pour le codage ?

Était-ce la qualité de mon cours et de mes professeurs ?

Était-ce les quantités copieuses de bière et de fêtes que j'ai faites lors de mes premières semaines à l'université (Non, ce n'était pas ça).

Après quelques années de lutte et de survie, je ne pouvais toujours pas coder les applications les plus simples. La goutte d'eau a été quand une entreprise particulière m'a dit que je devrais considérer un autre domaine lors d'un entretien pour un stage.

C'était le point le plus bas pour moi, et j'ai été tenté d'abandonner et de quitter l'université. Mais la technologie était ma passion, je voulais devenir développeur plus que tout. J'étais en dernière année d'université, et j'ai décidé que c'était assez.

Je me suis assis, j'ai ouvert mon ordinateur portable, j'ai mis un peu d'AC/DC, et j'ai commencé à pratiquer.

Je pratiquais jour après jour. Sur des sites de codage, sur mes propres petits projets, en suivant des tutoriels, si il y avait un moyen de pratiquer le code, je le faisais. Quand je n'écrivais pas de code, je lisais à propos du code. Je lisais le code des autres. Je lisais à propos des personnes qui écrivaient du bon code.

Petit à petit, ça a commencé à faire sens. Tous les concepts que je ne comprenais pas commençaient à me venir. Et comme un phénix renaissant de ses cendres (ou quelque chose de plus lié à l'informatique et moins dramatique), j'ai obtenu mon diplôme et j'ai décroché mon premier poste de développeur junior.

Après de nombreuses années d'expérience, d'apprentissage et d'erreurs (ces histoires sont pour un autre jour !), j'ai dépassé le stade de développeur junior. Je travaille actuellement dans une startup où je dirige le développement produit. Je mentorise également des développeurs plus juniors que moi, et j'adore chaque minute.

Je suis maintenant en mission pour transmettre mes connaissances aux développeurs juniors du monde entier. Pour montrer que n'importe qui peut se frayer un chemin dans le monde du développement web avec un peu de travail acharné et de dédication.

Espérons que je ne vous ai pas trop ennuyé — toujours avec moi ? Bien, passons aux conseils à essayer quand vous vous sentez un peu vaincu.

Prenez du recul et réalisez que c'est normal

La première chose à faire avant de jeter l'éponge sur votre carrière de développeur web est de réaliser qu'il est parfaitement naturel de se sentir dépassé à certains moments. La meilleure façon de faire cela est de s'éloigner du code pendant un moment. Allez vous promener, lisez un livre ou regardez la télévision. Bref, faites une pause et détendez-vous un peu. Si vous avez besoin de prendre quelques jours de congé, c'est parfaitement bien aussi.

Quand vous reviendrez, espérons-le, vous vous sentirez un peu plus reposé et motivé pour repartir ! Si ce n'est pas le cas, voici quelques autres choses que vous pouvez essayer.

Ayez de la patience

Je ne pense pas que cela soit assez souligné, mais la patience est super importante pour les développeurs de tous niveaux. Quand on apprend à coder, il peut être frustrant de ne pas comprendre quelque chose, surtout si vous l'avez regardé pendant des heures.

Mais la prochaine fois que vous vous sentez frustré par un bug ou une erreur, rappelez-vous de l'approche « prendre du recul » du point précédent et essayez de vous dire :

« OK, c'est nul, mais s'énerver n'aidera à rien. Je vais faire une pause et revenir avec un regard neuf et réessayer. »

Vous serez surpris de voir à quel point cela peut aider.

Célébrez les victoires quand vous les obtenez

Beaucoup de développeurs juniors que j'ai rencontrés peuvent être très durs avec eux-mêmes et échouent à reconnaître correctement leurs accomplissements.

« J'ai enfin réussi à faire fonctionner ce bouton sur mon application, mais ça m'a pris toute la journée ! »

Et alors ? L'important, c'est que ça marche maintenant ! Hourra !

Il est important de célébrer les victoires quand vous les obtenez. Que vous essayiez de faire fonctionner votre première page HTML ou de créer votre propre application web complexe, chaque fois que vous faites fonctionner quelque chose, célébrez-le.

Criez « SUCCÈS » à tue-tête, sautez dans la pièce, dansez avec les voisins. OK, c'est probablement un peu trop (je n'ai rien fait de tout ça, je vous jure...) mais vous voyez l'idée. En célébrant les victoires, vous reconnaissez vos accomplissements, vous vous remplissez de joie et vous vous motivez à continuer pour plus de victoires.

Fixez-vous des objectifs plus petits et définissables

Il est facile de s'asseoir et de dire « OK, mon objectif est d'apprendre à coder ». C'est un excellent objectif à avoir, mais c'est difficile à mesurer. Quand avez-vous fini d'apprendre à coder ? Est-ce quand vous avez créé votre premier site web ? Quand vous avez créé votre première grande application ? Quand vous avez obtenu votre premier emploi ?

Cependant, que se passerait-il si vous disiez : « Aujourd'hui, je vais apprendre ce qu'est la syntaxe des flèches en JavaScript et ES6 » ? Vous avez un objectif clair et définissable, qui est facile à mesurer, et vous l'avez deviné — cela vous donne une victoire à célébrer une fois que vous l'avez atteint.

En créant et en atteignant des objectifs plus petits plus souvent, vous aurez l'impression de progresser.

Tenez un journal de votre progression

Même si vous vous fixez vos propres objectifs, il peut être difficile de tout retenir. Vous avez peut-être commencé avec l'intention de terminer une chose, et vous vous êtes laissé distraire et avez fini par apprendre ou faire autre chose (cela m'arrive tout le temps !).

Une bonne façon de suivre votre progression est d'écrire tout dans un journal. Au début de votre semaine, de votre journée ou autre, écrivez l'objectif que vous prévoyez d'atteindre. Quand vous avez atteint cet objectif, écrivez-le, ainsi que toutes les notes qui vous viennent à l'esprit et que vous voulez vous rappeler. Vous n'avez pas atteint l'objectif ? Pas de problème, écrivez pourquoi — que ce soit des distractions, avoir fait autre chose qui semblait plus intéressant, avoir eu besoin d'une pause, etc.

Si vous vous sentez jamais vaincu, regardez dans votre journal de victoires — vous serez surpris de voir à quel point vous avez progressé !

Regardez en arrière vos premiers projets

Une autre excellente approche pour voir à quel point vous avez progressé est de regarder vos premiers exercices de code et projets. C'est votre trace écrite de progression, qu'il s'agisse de votre toute première page HTML, de votre première application « Hello World » ou de votre première application TODO.

Vous pourriez regarder en arrière et penser : « Oh, je me souviens que ça m'a pris une éternité pour comprendre comment ajouter ces cases à cocher ! Maintenant, je peux le faire les yeux fermés. »

Alors mettez tout ce que vous faites sur GitHub, ou gardez-le sauvegardé sur votre ordinateur. Peu importe à quel point c'est petit, ça a fait partie de votre parcours, et c'est important de s'en souvenir.

Rejoignez la communauté

Il n'y a pas de meilleure communauté que celle du développement web. Des logiciels open source aux ressources gratuites pour apprendre à coder, c'est vraiment génial d'en faire partie.

J'aurais aimé m'impliquer dans la communauté plus tôt — cela aurait rendu les parties difficiles de mon parcours en développement web beaucoup plus faciles.

Pourquoi ? À cause du soutien. Il y a de nombreuses grandes communautés comme freeCodeCamp et CodeNewbie, ainsi que des groupes Subreddit et Twitter qui sont conçus pour soutenir les codeurs.

Je recommande vivement de vous impliquer dans ces communautés. Partagez ce que vous faites, voyez ce que font les autres et participez aux discussions. C'est une grande motivation quand vous obtenez quelques likes, remerciements ou réponses à un post que vous avez fait.

Travaillez dur et ne abandonnez pas

Comme je l'ai dit au début, coder est difficile. Continuez à fournir les efforts, célébrez les victoires quand vous les obtenez, et ne abandonnez pas. Cela en vaudra la peine à la fin ! Comme l'a dit Nelson Mandela :

Tout semble impossible avant d'être accompli.

Merci d'avoir lu !

Je crée actuellement un ensemble de guides, d'articles et de cours vidéo pour vous aider dans votre parcours vers le développement web. Si vous souhaitez en faire partie, assurez-vous de rejoindre la liste de diffusion sur chrisblakely.dev !