Article original : How to Become a Junior Software Engineer in 6 months

Par Eduardo Vedes

Salut à tous ! ☀️ Les saisons changent, et septembre est le mois parfait pour se concentrer sur de nouveaux objectifs et commencer de nouvelles aventures. Peut-être avez-vous été en vacances, profité du soleil 🌞 ou de la montagne, et vous êtes prêt à vous replonger dans le travail.

Les nouvelles aventures sont parfois inattendues. Mais j'espère qu'en voyant le titre de cet article, vous avez décidé de vous embarquer avec moi dans cette aventure extraordinaire de devenir ingénieur logiciel.

Comment apprendre à coder en 6 mois ?

Apprendre à coder est un marathon, pas un sprint de 100 mètres. Vous devez devenir un apprenant tout au long de la vie, et plus vous en savez, plus la liste des choses que vous sentez le besoin de découvrir sera longue.

Mais (il y a un mais), si nous parlons de changer de carrière, je pense qu'il est totalement possible de devenir ingénieur logiciel (niveau débutant ou junior) en 6 mois ou moins. Vous devez simplement acquérir rapidement un bon ensemble de compétences de niveau débutant.

Comment sais-je que c'est possible ?

Simple. Je l'ai fait en 2017. Et je ne suis pas le seul. Si vous cherchez, vous trouverez beaucoup de gens qui ont accompli le même exploit.

Comment apprendre rapidement les bases du développement web

Maintenant, pour y parvenir en 6 mois ou moins, vous devez vous y consacrer à 100 %.

Ainsi, ce délai aura probablement du sens pour ceux qui sont sans emploi et ont les ressources pour le rester pendant leurs études, ou pour ceux qui ont beaucoup de temps libre. C'est aussi utile si vous cherchez de nouvelles opportunités et que vous êtes passionné par la technologie, les ordinateurs et la création de nouvelles choses.

Alerte spoiler : prévoyez d'investir environ 8 à 12 heures par jour pour apprendre et étudier.

Pour ceux qui ont actuellement un emploi mais veulent devenir ingénieur logiciel, continuez simplement à lire ! Vous pouvez appliquer ce processus sur une période plus longue et faire la transition progressivement sur 9, 12, 18 ou même 24 mois. Aucune pression.

Comment commencer à apprendre à coder ?

C'est une question simple. Malgré le fait qu'il existe de nombreux bootcamps – certains payants, d'autres gratuits – freeCodeCamp est l'un des meilleurs endroits pour commencer (sinon le meilleur).

Le programme de freeCodeCamp propose une feuille de route bien définie (vous pouvez simplement suivre le chemin, sans vous soucier de ce qu'il faut apprendre et dans quel ordre) et une communauté diverse et inclusive répartie sur Discord, le Forum, Twitter et YouTube.

Alors, commencez par vous inscrire sur freeCodeCamp et installez-vous confortablement.

Avant cela, assurez-vous de prendre une tasse de votre thé ou café préféré ! ☕

Commencez le programme de freeCodeCamp

Eh bien, pendant les quatre premiers mois, vous devez vous concentrer sur la maîtrise des fondamentaux. Ce que vous devez faire, c'est investir massivement dans les 3 premières certifications :

  1. Certification en Conception Web Réactive (300 heures)
  2. Certification en Algorithmes JavaScript et Structures de Données (300 heures)
  3. Certification en Bibliothèques de Développement Front End (300 heures).

Nous parlons de 900 heures, ce qui, divisé par 10 heures/jour, nous donne 90 jours d'étude intensive. Oui, intensive.

Bien sûr, cela peut prendre un peu plus de temps si vous décidez d'investir 8 heures par jour. 900 / 8 est plus ou moins 113 jours. Donc cela tient toujours en 4 mois.

Ma suggestion ici est que vous divisez votre temps entre la résolution des défis, la lecture, le visionnage de conférences et l'écoute de podcasts ou de livres audio. De cette façon, vous évitez de vous frustrer ou de vous ennuyer en faisant toujours la même chose.

Suivez les conseils de freeCodeCamp : "Lire, Chercher, Demander".

C'est la formule du succès. Vous améliorez la façon dont vous recherchez sur Google, vous découvrez des articles, des conférences et des livres intéressants, et vous finissez par demander de l'aide quelque part en ligne. Concentrez-vous sur ce processus. 👍

Bientôt, vous serez capable de vous débloquer tout seul et c'est l'une des meilleures compétences qu'un programmeur peut avoir.

Commencez à réseauter et trouvez des communautés technologiques à rejoindre

Le 5ème mois représente un point d'inflexion dans votre parcours. Vous devrez lever la tête du clavier et regarder autour de vous.

Investissez du temps dans le réseautage. Créez un compte LinkedIn et Twitter. Commencez à construire votre image sociale et votre marque personnelle. Indiquez que vous apprenez à coder et que vous chercherez bientôt un poste de niveau débutant/junior dans une entreprise technologique.

Interagissez avec les gens, rencontrez des gens et posez des questions (peu importe à quel point elles semblent stupides. La vérité est qu'il n'y a pas de questions stupides, et une fois que vous connaissez la réponse, vous pourrez peut-être aider quelqu'un plus tard avec les mêmes doutes).

S'il y a un groupe communautaire axé sur la technologie près de chez vous, mêlez-vous aux gens et faites leur connaissance. S'il n'y a rien de local, eh bien, vous pouvez toujours en créer un.

C'est ce que j'ai fait et cela s'est très bien passé (peut-être que j'écrirai un autre article à ce sujet 📡).

À ce stade, votre pile technologique de base est : HTML, CSS, JavaScript et React. Il sera assez facile de vous intégrer dans de nombreuses entreprises/équipes en tant que développeur front-end.

L'industrie technologique embauche généralement pour le court terme, et de nos jours, les frameworks sont à l'ordre du jour, donc les compétences en React peuvent définitivement aider à payer votre premier salaire. 💰

Vous devrez également investir dans d'autres compétences en même temps :

  1. Apprenez Git. Investissez au moins une semaine pour essayer de comprendre comment Git et le contrôle de version en général fonctionnent et à quel point c'est précieux pour travailler en équipe, à distance ou non.
  2. Investissez un peu de temps à maîtriser votre système d'exploitation pour vous sentir à l'aise pendant le travail. Cela implique la configuration de VSCode, la configuration du terminal config, la configuration du compte, etc. Essayez de faire des réunions en ligne avec des amis et partagez votre écran ou utilisez un tableau blanc. Google Meet est idéal pour vous entraîner à cette compétence.
  3. Apprenez un peu sur la prise de notes et choisissez une application pour vous aider à gérer vos notes. Notion, Obsidian ou même VSCode sont d'excellents outils pour cela. Cela n'a pas besoin d'être parfait, commencez simplement par organiser vos notes d'une manière ou d'une autre et plus tard vous découvrirez ce qui vous convient le mieux.
  4. Si l'anglais n'est pas votre langue principale, améliorez vos compétences en anglais. Lisez des livres et écoutez des conférences et des podcasts, afin de vous habituer aux accents des gens.

En attendant, ne cessez pas de coder. C'est le moment idéal pour peaufiner vos projets de certification.

À ce stade, vous devriez avoir terminé les projets suivants :

  1. Projets de Conception Web Réactive

  2. Page d'hommage

  3. Formulaire de sondage
  4. Page de destination de produit
  5. Page de documentation technique
  6. Page web de portfolio personnel

  7. Projets d'Algorithmes JavaScript et de Structures de Données

  8. Vérificateur de palindrome

  9. Convertisseur de chiffres romains
  10. Chiffre de César
  11. Validateur de numéro de téléphone
  12. Caisse enregistreuse

  13. Projets de Bibliothèques de Développement Front End

  14. Machine à citations aléatoires

  15. Aperçu Markdown
  16. Machine à tambour
  17. Calculatrice JavaScript
  18. Horloge 25 + 5

Wow... vous avez déjà accompli tant de choses ! Prenez quelques jours pour respirer et vous chouchouter. Reconnaissez vos réalisations et à quel point vous êtes fier de vous !

Montrez à votre famille et à vos amis ce sur quoi vous avez travaillé, et partagez-le sur vos réseaux sociaux. Tout le monde devrait être fier de vous à ce stade.

Construisez votre portfolio de développeur

D'accord les amis. Maintenant, nous sommes dans le jeu.

Maintenant, vous allez construire votre portfolio. Cela est extrêmement important car les personnes et les entreprises qui pourraient être intéressées à vous embaucher voudront le consulter.

Ils ne cherchent pas nécessairement une expertise, ou une personne très compétente ou expérimentée. Ils cherchent de la passion, des efforts, à savoir jusqu'où vous pouvez aller seul, apprendre à coder avec un peu de soutien communautaire, par vous-même.

Ce sont définitivement les 3 choses que vous devez montrer :

  1. Passion
  2. Énergie
  3. Capacité (à évoluer et apprendre "seul")

Déplacez tous vos projets sur GitHub, et assurez-vous d'ajouter de bons fichiers README.md, avec de bonnes descriptions de ce que vous avez fait dans chaque projet. Si vous le souhaitez, vous pouvez ajouter une petite liste de choses que vous voulez améliorer dans un avenir proche.

Mais ne vous arrêtez pas là – continuez à améliorer et à peaufiner vos projets. Mettez-vous à la place des personnes qui embauchent, et accordez de l'importance aux détails qui font la différence (c'est ainsi que vous pouvez montrer les 3 choses ci-dessus : passion, énergie, capacité).

Montrez que vous savez créer de bonnes mises en page, du contenu bien espacé, les bonnes couleurs, des polices lisibles, etc. Faites en sorte que les choses aient l'air aussi bien que vous en êtes capable.

Jetez un coup d'œil à d'autres projets et voyez comment les gens résolvent les mêmes problèmes. S'inspirer de leurs idées (juste, s'il vous plaît, ne copiez pas aveuglement le code sans comprendre ce qu'il signifie) n'est pas de la tricherie et vous pouvez apprendre beaucoup en faisant cela.

Faites évoluer votre projet de portfolio personnel et faites-en votre page d'accueil (page de destination). Assurez-vous de partager vos contacts et d'indiquer que vous êtes disponible pour travailler. Partagez tous vos autres projets sur votre page d'accueil.

Continuez à peaufiner votre travail, continuez à coder et à apprendre tous les jours, améliorez les relations avec tous les nouveaux amis que vous vous êtes faits, et essayez de trouver des opportunités grâce aux réseaux sociaux.

Postulez à des emplois et préparez-vous aux entretiens

Vous devrez investir beaucoup de temps à postuler à des emplois et à obtenir des entretiens. Vous devez pratiquer les entretiens et je parie que bientôt, beaucoup plus tôt que vous ne le pensez, la magie opérera ! 🤘

Postuler à des emplois

Ne vous inquiétez pas de l'échec. Il est absolument normal que vous échouiez à vos premiers entretiens. Et c'est okay – vous apprenez quelques bons trucs pour les prochains.

Maintenant, cela dépend un peu de vos objectifs pour cet emploi et pour votre carrière. Si vous voulez postuler dans une entreprise FAANG, la barre est haute (très, très haute). Vous devrez passer des entretiens techniques difficiles.

Mais ne vous inquiétez pas, freeCodeCamp est là pour vous. Vous trouverez beaucoup de ressources pour affûter vos compétences dans la section Préparation aux entretiens de codage.

Si vous postulez dans une autre entreprise, vous n'aurez peut-être pas besoin de connaître autant les algorithmes et les structures de données. Comptez sur votre portfolio et montrez à l'intervieweur que vous êtes une personne confiante, capable de communiquer, de montrer de la passion et de mettre des efforts dans tout ce que vous faites.

L'expérience de l'entretien

Les gens ont des opinions différentes sur ce qui fait un bon entretien efficace. Personnellement, je n'aime pas les défis de codage chronométrés ou en direct. Mon anxiété grandit et ma capacité à me concentrer et à résoudre des problèmes chute à moins de zéro.

De plus, les meilleures entreprises ne devraient pas se soucier de la rapidité avec laquelle vous faites quelque chose. Elles préfèrent généralement que vous preniez deux fois plus de temps, mais que vous le fassiez beaucoup mieux, en vous assurant de penser à chaque détail dont une certaine fonctionnalité a besoin.

Je préfère généralement les défis à faire à la maison. Je peux me mettre à l'aise, avec une bonne tasse de thé ou de café, et je peux investiguer correctement et faire de mon mieux.

Ma recommandation ici est que vous alliez plus loin. Accordez beaucoup d'importance à ce que vous faites et pourquoi vous le faites.

Écrivez une documentation sur pourquoi vous avez choisi A ou B, ce qui manque, ou ce que vous feriez à l'avenir pour améliorer votre code.

Généralement, les entretiens ont 3-4 parties :

  • Screening : les gens veulent vous connaître. Vous entendre parler et découvrir votre superpouvoir (motivation, résilience, persévérance)
  • Test d'assignation : il peut s'agir d'un défi chronométré, d'un défi de programmation en binôme où vous êtes le conducteur (en temps réel), ou d'une assignation à faire à la maison.
  • Discussion de l'assignation et quelques questions techniques. Possiblement savoir combien vous attendez gagner.
  • Offre / Rejet (il s'agit généralement d'un appel vidéo, en cas d'offre, ou d'un simple e-mail de "merci", en cas de rejet).

Parfois, il y a des entretiens avec plus d'une partie de l'équipe. Certaines équipes aiment choisir des personnes qui s'intègrent bien et veulent voir si vous êtes capable de vous entendre avec elles pendant un certain temps.

Attendez-vous à des questions hors sujet, comme des trivialités sur Star Wars, ou si vous préférez les tabulations ou les espaces. Il n'y a généralement pas de mauvaises réponses, mais les gens cherchent un sentiment d'appartenance en discutant de ces choses avec vous.

La chose la plus drôle qui me soit arrivée était une série de questions auxquelles je devais répondre rapidement, sans réfléchir. Donc les gars ont commencé : "React ou Vue ?", "Emacs ou VS Code ?", "Tabulations ou espaces ?", "Points-virgules ou pas de points-virgules ?", "Bière ou vin ?!?" Oui, ce sont toutes des questions importantes ! 🤣

Mots de la fin

Si vous obtenez un emploi, n'oubliez pas de me contacter pour me dire comment cela s'est passé. J'adore lire ces histoires et je suis fier de chaque personne qui l'a fait.

Peut-être que 6 mois n'ont pas été suffisants pour parcourir cette grande liste de choses (même si, à première vue, elles peuvent sembler assez faciles à accomplir – elles ne le sont pas ❤️).

Rappelez-vous simplement de bien vous traiter et de ne pas vous pousser trop fort.

De plus, si cela vous prend plus de 6 mois, ne vous inquiétez pas : Vous pouvez le faire. Vous avez peut-être besoin de plus de temps pour une raison quelconque.

Lorsque les gens commencent à apprendre à coder, ils partent de situations très différentes. Certains ont un doctorat en mathématiques ou en ingénierie, d'autres viennent de l'histoire ou de la philosophie, ou de McDonald's (ce qui vous fournit également d'excellentes compétences non techniques : parler aux gens, être poli et gentil, avoir de la compassion, être organisé, faire les choses à temps, suivre et contrôler les processus, et bien plus encore).

Donc, quel que soit votre parcours, rappelez-vous simplement – peu importe d'où vous partez. Ce qui compte, c'est où vous allez !

Je suis sûr qu'à ce stade, si vous oubliez la barrière des 6 mois, vous y arriverez. Et comme je l'ai dit au début, apprendre à coder n'est pas un sprint de 100 mètres, c'est un marathon. Alors restez concentré et continuez à faire votre travail.

N'oubliez pas votre corps ! Buvez de l'eau, ne passez pas trop de temps assis sur votre chaise. Essayez d'avoir une bonne posture, faites de l'exercice et sortez de chez vous. Les gens ont besoin d'un peu de soleil et d'air frais. La façon dont vous traitez votre cerveau est très importante. N'oubliez jamais cela.

Enfin, mais non des moindres, soyez gentil avec vous-même et avec chaque être humain. Vous êtes génial ! ❤️

Je suis Edo et vous pouvez me suivre sur Twitter. Je tweete généralement sur le code et le changement de carrière.