100 jours de code

Un défi qui vaut la peine d'être relevé! Progrès assurés!

Avril 2019

Un défi, beaucoup de résultats

Au début de 2018, je m’étais fixé comme objectif, sans participer officiellement au défi, de faire 100 jours de code à compter du début janvier. Cela m’avait permis de progresser et de faire quelques réalisations mais je m’étais aussi aperçue qu’il n’est pas facile d’aménager son temps afin de coder tous les jours quand on a un job à temps plein et 3 enfants en bas âge. Alors, bien sûr j’ai beaucoup codé mais j’ai aussi passé une bonne partie de mon temps à lire des blogues ou la documentation officielle sur Mozilla MDN ou W3schoolsquand je ne pouvais pas coder.

Cette année, j’ai décidé de refaire les 100 jours de code, encore une fois en étant redevable à moi-même seulement. Mais sachant mieux ce que ça impliquait, je me suis donnée de meilleurs trucs pour aménager du temps pour coder et j’ai vraiment réussi à en faire tous les jours sauf quelques rares exceptions ou j’ai dû me contenter de lectures. Bravo!

Des résultats au-delà des mes attentes

Voici ce que j’ai réussi à faire depuis le début de l’année. J’ai terminé le certificat « Responsive Web Design » de freeCodeCamp. Il me restait deux projets à faire pour terminer, soit un site pour présenter la documentation de CSS Grid et un portefolio personnel. Comme je devais faire un portefolio pour terminer mon certificat, j’en ai profité pour pousser plus loin l’exercice et vraiment tout refaire mon portefolio pour lui donner un look plus professionnel (vous l'avez deviné, il s'agit de ce site!). À partir du moment où j’ai décidé de faire du développement web ma profession, il me fallait quelque chose de plus sérieux pour me présenter moi et mes réalisations. C’est aussi pour cela que j’ai décidé d’y ajouter un espace pour mon blogue, un projet que j’avais depuis longtemps. Le blogue, je le fais plus pour moi, pour documenter ma progression et mes réflexions que pour en faire une large diffusion ou me créer un auditoire.

Sachant aussi que je voulais passer du code récréatif vers le code professionnel, j’ai aussi révisé le code de tous mes anciens projets. Je ne voulais pas qu’un recruteur potentiel soit horrifié par ce qu’il trouverait sous le capot dans mes premiers projets! 😅 Je ne les ai pas entièrement réécrits, par contre, car je veux garder une trace, pour moi-même, de mes progrès. J’ai donc gardé le design et le code d’origine, même quand ça fait mal aux yeux…

Pendant cette période, j’ai également terminé le 2e certificat de freeCodeCamp "Javascript Algorithms And Data Structures" et j’ai commencé le 3e certificat, celui portant sur les librairies front-end. Je dois avouer que j’ai trouvé certains challenges particulièrement difficiles et que je ne les aurais pas réussis sans l’aide du forum, de blogue ou de Stack Overflow. Cela fait aussi parti du métier de savoir comment trouver les réponses aux problèmes qui dépassent notre compréhension. C’est comme ça qu’on sort de sa zone de confort et qu’on progresse.

Attendez, ce n'est même pas tout!

Pendant ce temps, j’ai aussi continué les deux cours de Colt Steele commencés sur Udemy, soit "The Web Developer Bootcamp" et "The Advanced Web Developer Bootcamp", que je n’ai pas encore terminés. J’ai aussi commencé le cours de Andrei Neagoie "The Complete Web Developer in 2019: Zero to Mastery". J'ai révisé la ligne de commande avec LevelUp Tuts Enfin, j’ai fait plusieurs séries de tutoriels avec le Net Ninja, notamment pour apprendre EcmaScript6, les expressions régulières et la programmation orientée objet en JS, CSS grid, SCSS/SASS et Git/GitHub. J’ai donc commencé à publier mon code sur Github régulièrement. Au final, durant cette période, j’ai complété quelques projets vraiment chouettes, dont quelques versions de projets de type ToDo App en JS vanille, pour mieux maîtriser les opérations dans le DOM.

Mon défi, vous l’aurez compris, c’est de lutter contre l’éparpillement. Je suis de nature curieuse et je suis très gourmande quand vient le temps d’acheter des livres ou des cours en ligne. Je voudrais tout faire, tout voir, tout lire. J’essaye de me contenir et de finir ce que je commence avant de passer au suivant et je garde le cap sur le fait que je veux progresser rapidement donc, ne pas trop m’éterniser sur chaque nouveau concept que j’apprends. J’essaye de maintenir un équilibre entre apprendre de nouvelles choses et les mettre en pratique dans un projet. Jusqu’à maintenant, j’ai fait plein de petits projets, chaque fois pour utiliser ce que je venais juste d’apprendre. Mais je sais que pour impressionner un recruteur, il faut aussi que j’aménage du temps pour faire un ou deux projets plus complexes, ce que je n’ai pas encore sinon mon portefolio.

Entre les deux, mon coeur balance

Et pour les prochains 100 jours, on fait quoi maintenant ? En fait, je vis une certaine indécision à ce propos. Si je veux terminer ce que j’ai commencé, c’est-à-dire les 3 cours sur Udemy et le 3e certificat de freeCodeCamp, cela veut dire que je débuterais l’apprentissage du back-end tout en passant aux librairies modernes dans le front-end. Ce qui me reste à voir c’est Node, Express, MongoDB, React et Redux. Et c’est vraiment un stack qui m’emballe et avec lequel j’aimerais travailler sur le long terme. Cependant, je sais que c’est costaud et que cela va me prendre du temps pour maîtriser les bases de cela et pour être capable de faire des projets substantiels avec ces outils.

L’autre option à laquelle je songe, c’est de rester dans le front-end et d’aller me chercher des compétences dans Photoshop et WordPress. Quand je regarde les offres d’emplois dans ma région, j’ai l’impression que cela me mènerait plus vite vers le marché de l’emploi et que je pourrais monter plus vite des projets avancés dans WordPress avec les connaissances que j’ai déjà. Disons que si j’écoute la voix de la raison, je devrais finir ce que j’ai commencé avec de commencer d’autres formations.

Et on code quand? La nuit?

Mon autre grand défi, c’est de trouver du temps de qualité, où je peux m’asseoir devant mon ordinateur, avec un minimum d’interruptions. J’ai fini par trouver un rythme qui marche plutôt bien. Je me réserve environ 30 minutes, sur l’heure du dîner, pour faire des choses courtes. Les petits challenges de freeCodeCamp sont parfaits pour cela. Ou encore, je vais travailler dans un petit projet sur CodePen, que je fais avancer un petit peu tous les midis. C’est surtout cela qui me permet d’en faire tous les jours. Dans ces moments, je travaille surtout à progresser dans la résolution de problèmes en JavaScript.

L’autre truc qui marche bien, si je n’ai pas trop besoin de concentration, c’est d’apporter mon portable sur la table de la cuisine le soir et de m’installer avec les enfants, pendant qu’ils font leurs devoirs ou des dessins. C’est sûr que ça implique une plus grande jonglerie mentale car je code tout en montrant les lettres de l’alphabet à l’un et en donnant une dictée, en révisant la conjugaison du verbe faire ou les tables de multiplication avec un autre. Disons que c’est parfait quand on recherche des photos, qu’on choisit des polices ou qu’on intègre du contenu texte.

Un autre moment que je réussi à utiliser, c’est les 30 minutes de tapis roulant ou de vélo stationnaire que je fais quelques fois par semaine, pour écouter des tutoriels vidéos. Il faut que ce soit de la théorie, des notions plus abstraites. Quand il s’agit d’un tutoriel qui montre comment faire une chose bien précise, j’aime mieux être devant mon clavier et coder en même temps que la vidéo. Enfin, pendant la fin de semaine, j’essaye de libérer une demie-journée pour travailler sur un projet plus complexe.

J’ai un appui tout à fait correct de mon conjoint, qui comprends mon désir de changer de boulot et qui m’aide en me libérant de certaines tâches ou en s’occupant des enfants. Sa seule demande est que je ne lui parle pas de code! Il n’y comprend rien et trouve le sujet des plus ennuyants! 🤐 Je repars illico pour un autre 100 jours de code. J'ai hâte de voir où cela va me mener!

Vous voulez connaître la suite de l'aventure ? Voir le prochain article