Apprendre
Apprendre est un mot dont l'appréciation varie au fil des années. Tout petit, c'est porteur d'espoir : on va apprendre à écrire ! On va découvrir plein de nouvelles choses ! Et puis à l'adolescence, voire même un peu plus tard, apprendre devient une tannée. “C'est nul !”, “Ça sert à rien !”, souvent lié à une scolarité qui, bien qu'utile, peut sembler long et finalement, p'têt que ouais, il y a des trucs un peu inutiles !
Et puis, parfois, la vie fait que, comme pour moi, par exemple, on doit repasser par la case apprentissage. Parce qu'on choisit de changer de métier. Alors, l'apprentissage a une toute autre valeur : c'est précieux ! On change de vie, dans l'espoir d'en avoir une meilleure. Alors on met tout dedans : sa hargne, sa passion, ses motivations, ses peurs aussi, parfois...
Ça fait maintenant 2 ans que ma reconversion est achevée. J'ai fini mon contrat d'apprentissage le 25 février 2023. Ça a été une période très intense, mais passionnante ! Et puis, ça faisait quelques années que le mot “apprendre” ne me faisait plus peur. Mieux, je trouve que c'est une composante naturelle du fonctionnement de notre cerveau. Apprendre des choses, que ce soit sous forme d'un documentaire historique sous forme de fiction, ou un tuto youtube pour faire des sushis, c'est, selon moi, une forme de libération. Pourquoi je vous parle de tout ça ?
Parce que presque 2 ans après la fin de ma reconversion et au moins autant en CDI dans mon nouveau métier, je suis toujours confrontée à l'apprentissage au quotidien. On le dit souvent, le métier de développeuse, c'est de l'apprentissage, de la veille, de la mise à jour de nos connaissances au quotidien ! Je sais qu'il y a des phases où c'est moins facile de retenir, alors j'ai essayé d'exploiter des méthodes pédagogiques pour apprendre (et surtout retenir !) des choses liées à mon métier.
Je voulais donc vous partager ce que j'ai développé pour continuer à apprendre sans faire de burn-out, ni rendre le tout pénible et obligatoire. C'est une sorte de retour d'expérience en tant que reconvertie dans un milieu en constante évolution !
Les différentes formes d'apprentissage
On sait que retenir des choses, selon l'âge, mais aussi selon les habitudes de chacun et chacune, c'est très personnel. Certains auront besoin de ré-écrire ce qu'ils viennent d'apprendre, d'autres reliront à voix haute, et d'autres voudront mettre immédiatement en pratique ce qu'ils ont appris.
J'ai remarqué qu'à emmagasiner une tonne d'informations nouvelles (techniques et aussi lié au projet Pix en lui-même), certaines infos passaient à la trappe et je savais que j'avais appris quelque chose, mais sans me souvenir de ce que j'ai appris. Du coup, j'ai décidé de mettre en place des techniques, pas trop lourdes (selon mes propres critères) pour apprendre utile et surtout retenir dans le temps les notions qu'on m'avait apprises. Ça passe par certaines fonctions régulièrement utilisées (comme JSON.stringify()
), ou des notions git, ou encore, des notions de structure de données de JS.
Notez qu'une des choses les plus importantes dans mon apprentissage chez Pix a d'abord été l'accompagnement : Nous travaillons la plupart du temps en pair ou mob programming. Cela permet à tout le monde d'être au même niveau de connaissances sur un sujet qui peut parfois être assez gros. Cela permet aussi d'aider les personnes plus juniores à être tirées vers le haut, si tant est que la personne juniore n'hésite pas à poser des questions. Parfois, des moments seules m'ont aussi permise de me confronter à des problèmes que j'ai tenté de résoudre par moi-même, et m'ont permise aussi de me balader dans le code comme je le souhaitais pour mieux le comprendre, à ma manière. Ceci a fait parti d'un ensemble d'éléments capitaux qui m'ont aidé à progresser techniquement. Il a aussi fallu que je travaille personnellement pour ce qui me semblait être des lacunes à combler (Qui sont des choses qui n'ont pas été soulevées par mes collègues, ceci était mon point de vue personnel, jamais aucun collègue ne m'a dit que j'avais des lacunes à rattraper)
L'apprentissage à répétitions espacées
Bref, à la suite de quelques lectures autour de l'apprentissage comme Le developpeur qui sait tout, j'ai compris qu'il fallait que j'applique une méthode d'apprentissage similaire. Je me suis donc d'abord orientée vers l'outil de flashcards Mochi. Basé sur le système d'apprentissage à répétitions espacées, le système des flashcards a l'avantage d'être rapide à prendre en main, rapide à utiliser (5 minutes par jour), mais surtout efficace sur la mémoire à long terme !
L'apprentissage de la théorie par la lecture active
Il me fallait aussi approfondir mes connaissances autour de ce qu'est le langage JavaScript (spécifiquement, parce que chez Pix, on est à 100% sur ce langage). Alors, j'ai commencé par la base : You don't know JS yet. Mais je n'ai pas seulement décidé de lire ce monstrueux livre sur JS, non. J'ai choisi d'essayer de le traduire ! Comme ça, je passe à de la lecture active, ça me force à ne pas survoler des paragraphes, ou lire sans retenir la moindre chose. C'est fastidieux, (et un travail qui devra malheureusement rester personnel, parce qu'il est interdit de reprendre ce travail et d'y faire quoique ce soit, traduction comprise, sans autorisation), mais c'est très utile pour se forcer à entreprendre une compréhension profonde d'un sujet. Celui-là nécessite un peu plus de travail personnel, puisqu'il s'agit de prendre au moins 1/2h pour avancer dans cette traduction/compréhension.
Dans le même esprit, j'ai également lu/testé Just Javascript qui permet également de comprendre les structures de données de JS, par le jeu (des notions expliquées, des exercices, puis un quiz).
L'apprentissage des mécanismes par le jeu
Enfin, pour terminer, un exercice d'échauffement mental que j'apprécie (à petites doses attention !), c'est les clashs of code de chez Codingame. Avec les collègues, 5 minutes de libre, hop, il nous arrive de lancer un petit clash privé. L'objectif est de pratiquer régulièrement l'utilisation de concepts come les boucles pour parcourir des tableaux, de méthodes ultra courantes en JS comme le split()
, join()
et autres reduce()
. Cela permet d'intégrer dans les doigts et le cerveau, la logique et la pratique d'un langage. C'est même devenu un petit jeu au boulot : j'ai mis en place une pause d'1/4h un vendredi après-midi sur 2 pour faire un clash entre collègues inter-équipes. Le but n'est pas d'être le meilleur, ni même de finir le clash (ce sont des logiques bien particulières), mais de pratiquer, et de s'entraider si nécessaire.
Voilà. Evidemment, ces outils ont chacun leurs avantages et leurs inconvénients, certains ne vous conviendront pas et c'est pas grave, mais c'est la méthode que j'ai trouvé et que j'affine au fur et à mesure pour progresser chaque jour dans mon métier. Et que vous pouvez vous approprier, adapter, changer, pour votre propre fonctionnement :)