Article original : How to become a React developer in 5 months

Par Per Harald Borgen

L'histoire de ma transition de non-technique à développeur React embauché.

À l'âge de 29 ans, je suis passé de codeur amateur à développeur front-end professionnel. Cette transition est l'une des choses les plus gratifiantes que j'aie jamais faites, tant sur le plan personnel que professionnel.

Sur le plan personnel, cela m'a donné confiance en ma capacité à apprendre tout ce que je voulais, et professionnellement, cela a été décisif pour ma carrière. Aujourd'hui, je suis le co-fondateur de Scrimba, une plateforme d'apprentissage qui enseigne à plus de 100 000 personnes à coder chaque mois. Je n'aurais tout simplement pas pu avoir ce rôle si je ne savais pas coder.

Voyant à quel point cette transition a été importante pour moi, je veux encourager plus de personnes à emprunter le même chemin. Dans cet article, je vais donc expliquer exactement comment je l'ai fait. Je vais détailler chaque cours que j'ai suivi et chaque projet que j'ai construit. Espérons que cela puisse vous inspirer à envisager de faire de même.

Mais soyez conscient que le chemin que j'ai pris n'est pas nécessairement le plus efficace, car il implique un bootcamp de codage. Cela peut être coûteux en soi, et vous serez sans salaire pendant cette période.

À ce stade, je serai assez audacieux pour recommander notre cours d'introduction gratuit sur React et le cours avancé à venir pour ceux d'entre vous qui cherchent le moyen le plus rapide possible. Le but de ces cours est de vous amener à un niveau embauchable le plus rapidement possible, et j'ai personnellement validé le programme.

Mais si vous êtes ouvert à l'idée de faire un bootcamp de codage, veuillez continuer à lire.

Fermeture de ma précédente startup

Fin 2014, mes deux co-fondateurs et moi avons décidé de fermer notre startup d'applications pour enfants, Propell, car nous avions perdu notre motivation et ne voyions pas comment nous pourrions devenir rentables. Cela avait commencé comme un projet parallèle pendant mes études d'économie, mais avait rapidement évolué en un emploi à temps plein avec quatre personnes travaillant dans l'entreprise à son apogée.

Bien que ce soit certainement difficile d'abandonner, cela m'a également donné l'opportunité de faire ce que je voulais faire depuis environ 2011, à savoir apprendre correctement à coder.

Le codage était en fait mon hobby depuis quelques années, car j'avais suivi des cours en soirée, le week-end et pendant les vacances, donc je connaissais un peu la programmation, mais je me considérais toujours comme non-technique et loin de tout niveau professionnel.

Les cours qui m'ont lancé étaient l'Introduction à l'informatique d'Udacity et Coding for Entrepreneurs sur Udemy. Ils sont tous les deux excellents, même si je ne les ai pas terminés.

Quoi qu'il en soit, continuer à apprendre seul en ligne n'était pas une option. Je voulais un cours intensif en présentiel, car je savais que cela augmenterait mes chances de réussir la transition. Je voulais un environnement où je pourrais passer 100 % de mon temps à coder aux côtés d'autres personnes. J'ai donc fouillé tous les bootcamps de codage que j'ai pu trouver et j'ai postulé aux suivants :

J'ai été accepté dans tous sauf Hack Reactor et Recurse Center. Si vous envisagez de faire un bootcamp de codage vous-même, je vous recommande de faire de même. Postulez à toutes les écoles qui vous semblent intéressantes, puis commencez à filtrer. En parlant aux personnes qui y travaillent et en expérimentant le processus de candidature, vous aurez une bonne idée de la qualité et de la philosophie de l'école, deux éléments très importants.

Certaines écoles semblaient trop enthousiastes à l'idée de m'accepter, ce qui m'a rendu sceptique. Il semblait que collecter les frais de scolarité auprès du plus grand nombre possible était plus important que d'obtenir les meilleurs candidats possibles.

J'ai entendu des histoires de bootcamps de codage qui sont essentiellement des arnaques, alors soyez prudent et exigeant lorsque vous en choisissez un !

Si vous voulez être sûr à 100 % que le bootcamp est sérieux, vous devriez envisager celui qui propose une option de paiement différé, comme V School. Ainsi, vous êtes assuré que leurs objectifs sont alignés avec les vôtres.

Quoi qu'il en soit, après beaucoup de réflexions, suivi d'une conversation convaincante avec le brillant chef de Founders and Coders, Dan Sofer, j'ai finalement décidé de déménager à Londres et de rejoindre FAC.

La philosophie de Founders and Coders

FAC n'est pas comme les autres bootcamps. Tout d'abord, il est entièrement gratuit. Cela signifiait que je pouvais me le permettre sans contracter de prêt, ce qui n'aurait pas été le cas pour les autres bootcamps, car leurs frais de scolarité se situent généralement entre dix et quinze mille dollars. Deuxièmement, FAC est entièrement basé sur des projets, ce que j'apprécie, car j'ai toujours appris davantage en pratiquant qu'en lisant.

L'absence de frais de scolarité signifie qu'ils ne peuvent pas embaucher d'enseignants à temps plein, donc il est basé sur l'apprentissage par les pairs, où vous apprenez principalement des choses de vos camarades de classe et par vous-même. Vous obtenez également de l'aide des promotions précédentes, car elles restent et aident les nouveaux étudiants tout en travaillant sur leurs propres projets de conseil. FAC dispose également de deux excellents mentors, Nelson Correia et Ines Teles, qui fournissent une aide inestimable aux étudiants et à l'organisation.

Tout cela crée un environnement génial — une communauté de personnes avides de connaissances, désireuses de partager leurs compétences les unes avec les autres.

Image

Cependant, ce n'est pas la manière la plus facile d'apprendre à coder. Vous ne pouvez pas simplement lever la main et obtenir la réponse d'un enseignant chaque fois que vous êtes bloqué, ce que je suppose que vous pouvez faire dans un bootcamp de 10 à 15 000 USD. À FAC, vous devez enquêter par vous-même et avec vos pairs, ce qui nécessite beaucoup d'autodiscipline.

Mais cela a aussi un énorme avantage : vous allez grandement aiguiser vos compétences en résolution de problèmes et apprendre à vous enseigner tout ce que vous voulez. C'est l'une des compétences les plus importantes que vous pouvez avoir en tant que développeur.

Donc, si vous réussissez FAC, vous n'aurez plus jamais peur de relever un défi technique. De plus, vous vous ferez beaucoup de nouveaux amis.

Passer par FAC changera très probablement votre vie pour le mieux.

Partie 1 — Huit projets

Dès le premier jour, la classe a été divisée en équipes de quatre. Ces équipes devaient rester ensemble pendant les deux mois suivants. Chaque lundi, nous avions un nouveau projet à construire et à présenter à la classe le vendredi suivant. Au sein des équipes, nous tournions entre quatre rôles différents — dev ops, bibliothécaire, testeur et propriétaire du dépôt — pour nous assurer que chaque membre apprenait toutes les parties de la construction d'une application web.

En plus de cela, nous avions un défi de codage chaque matin, où nous pratiquions les compétences de base en Javascript.

Tout était fait en open source, donc j'ai lié tous nos projets hebdomadaires ci-dessous. En regardant en arrière les projets, je ne peux pas dire que je suis directement fier d'eux. Mais je suis certainement fier de tout ce que j'ai appris en les construisant.

J'ai également noté les technologies que nous avons apprises pendant les semaines respectives. De plus, les devoirs hebdomadaires sont décrits plus en détail dans ce gitbook, pour ceux qui veulent en savoir plus.

Les projets ont progressivement augmenté en complexité, donc chaque semaine impliquait l'apprentissage de nouvelles technologies. Je passais généralement les week-ends à lire et à faire des tutoriels sur les sujets pour être préparé pour la semaine.

Pendant les jours de semaine, je pense que je passais en moyenne environ 10 heures par jour à coder ou à apprendre à coder, ce qui signifie que j'ai totalisé un peu moins de 1000 heures pendant mes quatre mois à Londres.

Trouver ma niche React

Comme vous pouvez le voir, nous avons commencé à utiliser React.js à la semaine 6. J'ai immédiatement apprécié travailler avec et j'ai aimé l'idée de pouvoir développer des applications mobiles natives également (React Native). J'ai donc décidé de continuer à utiliser React autant que possible tout au long du cours.

Image Comment on écrivait React.js en 2015.

C'était aussi un choix stratégique. Si je voulais atteindre un niveau professionnel, je savais que je devais réduire mon champ d'action à moins de sujets, plutôt que de disperser mes efforts sur de nombreux sujets différents. React est devenu un choix naturel pour me concentrer davantage. Cette stratégie a certainement porté ses fruits, comme je vous le dirai plus loin.

La neuvième semaine de projet impliquait la construction de notre propre produit, car FAC souhaite également inspirer les étudiants à créer leurs propres projets. Mon équipe a construit un petit outil pour analyser les mots-clés de votre application iOS appelé KeywordKing, dont vous pouvez lire plus ici.

Image

Partie 2 — Construction de MVP pour des clients

Cette semaine nous a également préparés à la deuxième partie du cours, qui impliquait la construction de MVP pour des clients externes. Tout au long des huit premières semaines, nous avions été sollicités chaque semaine par des clients qui avaient besoin de développeurs pour prototyper leurs idées.

Voici comment cela fonctionne : pour 3 500 £, une équipe de 3 à 5 étudiants construisait un prototype en une semaine. Pour nous, c'était un moyen d'apprendre à travailler avec des clients tout en développant nos compétences en codage, tout en gagnant un peu d'argent. Pour le client, c'était une chance d'obtenir un MVP bon marché construit rapidement. Et sans risque financier, car ils ne seraient facturés que s'ils étaient satisfaits du résultat, ce qui était le cas de la plupart des clients (mais pas tous).

Image

Pendant ces semaines, j'ai construit les projets suivants avec divers autres étudiants :

  • Sir Predictalot — un prototype pour une application de prédictions de nouvelles à la Tinder
  • Troll-Olav — un puzzle pour enfants
  • RateMyStuff — un réseau social basé sur l'évaluation d'images
  • Squish — un outil d'apprentissage renforcé pour les étudiants

J'ai également fait un coup d'éclat en machine learning d'une semaine, dont j'ai parlé ici, en plus de faire quelques vidéos tutoriels sur le sujet (désolé pour l'audio horrible).

À ce stade, j'avais passé environ quatre mois à Londres, et il était temps de retourner en Norvège, où se trouvait le reste de ma vie.

Retour en Norvège

De retour chez moi, mon plan était de me lancer dans le codage professionnel dès que possible, car je devais pratiquer mes connaissances fraîchement acquises pour les ancrer.

J'ai essayé de trouver du travail en tant que consultant, mais c'était plus difficile que je ne le pensais pour le lancer. Je soupçonnais également que ma courbe d'apprentissage serait plus raide si je trouvais un emploi. Plonger dans une base de code étrangère construite par des professionnels semblait être un défi difficile.

J'ai donc envoyé trois candidatures à des entreprises qui avaient besoin de développeurs Javascript. Deux d'entre elles m'ont invité à un entretien.

Je n'ai pas obtenu le premier. Je ne suis pas sûr de la raison, mais je pense qu'ils voulaient un développeur plus senior. Le suivant m'a fait passer deux tours d'entretien, puis m'a donné une tâche de codage.

Réseautage pour trouver l'emploi parfait

À peu près à la même époque, j'ai assisté à un événement startup organisé par un entrepreneur que je connaissais un peu. Il était le CTO d'une startup bien financée nommée Xeneta, dont j'étais fan depuis quelques années. Selon leur site web, ils cherchaient des développeurs front-end — et ils mentionnaient même React.js comme l'une des technologies qu'ils utilisaient.

Pendant la soirée, il m'a dit qu'ils venaient de réécrire toute leur interface front-end en React.js et cherchaient un nouveau développeur qui connaissait la bibliothèque ; cela semblait trop beau pour être vrai. Je lui ai dit que je serais intéressé par le poste et nous avons décidé d'en discuter plus tard.

La semaine suivante, je suis allé au premier entretien, puis à deux autres tours d'entretien. Ensuite, ils m'ont envoyé un défi de codage.

Réalisation du défi de recrutement

Je ne peux pas partager le défi exact avec vous, mais je pense avoir fait quelques choses correctement dont on peut s'inspirer.

Tout d'abord, j'ai passé beaucoup plus de temps que prévu. On m'a donné la tâche à la fin d'une semaine et on m'a dit que je n'avais pas besoin de passer beaucoup de temps dessus. Mais le faire rapidement n'était pas une option pour moi. J'ai donc demandé si je pouvais le rendre pendant le week-end, ce qu'ils ont accepté. Ensuite, j'ai passé tout le week-end à travailler dessus. J'ai passé en revue chaque ligne de code pour m'assurer qu'il était DRY, facile à lire et exempt de négligence.

Ma solution contenait également un ensemble de tests, même si ce n'était pas une partie de la spécification, et même si je pense que l'écriture de tests est très ennuyeuse.

Enfin, j'ai demandé à certains de mes anciens camarades de classe de FAC de jeter un coup d'œil rapide à ma solution, et cela a également aidé. Cela peut être un peu sournois, mais j'étais déterminé à livrer une solution parfaite.

Plus tard, en tant que recruteur, j'ai souvent vu des candidats livrer des solutions avec du code négligé. Ne faites pas cela !

Obtenir l'offre

Le 26 juin — exactement cinq mois après mon premier jour à Founders and Coders — nous sommes parvenus à un accord, et j'ai été embauché en tant que développeur front-end.

C'était vraiment un travail génial dans une startup avec des personnes extrêmement compétentes s'attaquant à un gros problème dans un énorme marché. J'étais mis au défi chaque jour. Je ne regrette donc pas une seconde d'avoir fait ce changement de carrière.

Après avoir travaillé là-bas pendant un peu plus d'un an, mon ancien co-fondateur Sindre Aarsæther m'a montré un prototype précoce de Scrimba et m'a demandé si je serais intéressé à le rejoindre pour construire une entreprise autour. J'ai immédiatement aimé la technologie et j'ai saisi l'opportunité. Et je dois tout cela à l'apprentissage du codage et à devenir un développeur professionnel. Sans cette expérience, je n'aurais pas pu devenir co-fondateur de Scrimba.

Depuis, nous avons fait passer la plateforme de rien à plus de 100 000 utilisateurs actifs mensuels. Ce fut un voyage fantastique, et les gens nous disent chaque jour à quel point cela les aide à apprendre à coder.

Si vous êtes intéressé à devenir développeur React vous-même, veuillez consulter notre cours d'introduction ici et notre cours avancé à venir ici, et nous ferons de notre mieux pour vous aider.

Bonne chance :)