Vous avez trouvé un excellent cours, tutoriel ou livre qui vous apprendra à coder. La ressource vous parle, elle est parfaitement logique, et vous apprenez une tonne. Vous avez commencé avec succès votre voyage dans l’apprentissage du code. Tant mieux pour vous !
L’étape suivante, naturellement, consiste à mettre en pratique ce que vous avez appris. Si ce n’est pas évident, la pratique est cruciale pour le processus d’apprentissage. Cela est vrai pour chaque sujet, et c’est certainement vrai pour le codage. Imaginez que vous essayez d’apprendre le violon uniquement en regardant quelqu’un en jouer, sans jamais toucher le violon vous-même. Il en va de même pour le codage : Vous pouvez comprendre clairement les concepts, mais ne jamais en devenir compétent sans y mettre une tonne de pratique.
Mais comment pratiquer ? Ou mieux encore : quelle est la meilleure façon de pratiquer le codage ?
Différentes personnes fonctionnent différemment, il n’y a donc pas forcément une meilleure façon pour tout le monde. Cependant, j’aimerais présenter une approche spécifique et efficace que vous n’avez peut-être pas envisagée auparavant.
L’auteur à succès et blogueur James Clear écrit abondamment sur un type de pratique appelé « pratique délibérée ». Je recommande vivement de lire ses articles de blog sur ce sujet. Deux bons articles pour commencer sont ici et ici.
Clear écrit que « la pratique délibérée fait référence à un type spécial de pratique qui est volontaire et systématique. Alors que la pratique régulière pourrait inclure des répétitions sans réfléchir, la pratique délibérée exige une attention concentrée et est menée dans le but spécifique d’améliorer la performance. »
La pratique délibérée se compose des éléments suivants :
- Soyez présent pour faire vos répétitions.
- Décomposer le processus global en parties
- Se mesurer
- Tester de nouvelles stratégies pour chaque section
- Intégrer votre apprentissage dans le processus global.
Expliquons ce que signifient ces étapes, et spécifiquement dans le domaine de la pratique du codage. D’ailleurs, ces stratégies ne sont pas réservées aux débutants en codage. Elles peuvent être utilisées par des ingénieurs logiciels expérimentés aussi bien pour les aider à se mettre à niveau dans leurs compétences.
1. Montrez-vous pour faire vos répétitions
Carve out time every day to practice coding. Autant que possible, essayez de ne jamais manquer un seul jour – gardez la série en cours ! Il est préférable de s’entraîner pendant une période plus courte chaque jour que de s’entraîner pendant une période plus longue une fois par semaine. Je recommande d’intégrer un temps de pratique dans votre programme quotidien plutôt que d’essayer de trouver du temps chaque jour pour le serrer.
2. Décomposez le processus global en parties
La plupart des aspects du codage se composent de plusieurs parties différentes. La construction d’une application web, par exemple, peut consister en une programmation back-end et une programmation front-end. La programmation back-end, à son tour, peut être décomposée en l’utilisation d’un langage côté serveur, d’un framework côté serveur et de la conception de la base de données. La programmation frontale peut se décomposer en l’utilisation de HTML, CSS, JavaScript et d’un cadre frontal. Et puis il y a l’utilisation d’outils de développeur, tels que le terminal, un éditeur de texte et le contrôle de version.
Dédiez chaque séance d’entraînement à l’une de ces plus petites composantes si possible, car cela vous permettra d’affiner chaque compétence spécifique. Sinon, vous pourriez finir par vous attaquer à toutes les parties mobiles à la fois et ne jamais devenir vraiment compétent dans chacune des sous-compétences. Vous serez peut-être capable de créer une application Web après l’autre, mais la qualité de votre application Web n’augmentera peut-être pas au fil du temps, car vous ne vous améliorerez pas vraiment dans une compétence donnée. (Intégrer les pièces mobiles ensemble est en soi une compétence que vous gagnez, mais ce n’est qu’une des nombreuses compétences impliquées). D’autre part, si vous pouvez mettre à niveau chaque sous-compétences, les applications web que vous construisez ensuite en utilisant ces sous-compétences affinées seront nettement meilleures.
3. Mesurez vous
Alors que la qualité, en général, est difficile à mesurer, il existe des moyens de mesurer votre niveau de compétences en codage d’un point de vue quantitatif. Un exemple est la mesure du temps qu’il vous faut pour accomplir une tâche. Par exemple, il peut vous falloir 20 minutes pour résoudre un algorithme de base en JavaScript. Vous pouvez continuer à pratiquer les algorithmes JavaScript de base et voir si vous pouvez gagner en fluidité au point de réduire le temps nécessaire. De manière générale, plus on est fluide dans une tâche de codage, moins il faudrait de temps pour accomplir cette tâche.
Un autre facteur est le nombre de messages d’erreur que vous avez rencontrés pendant votre tâche. Si, en résolvant un algorithme JavaScript, vous finissez par recevoir 5 messages d’erreur avant d’y arriver, vous pouvez continuer à vous entraîner et voir si vous pouvez résoudre des algorithmes similaires en obtenant moins de messages d’erreur. Il n’y a rien de mal à obtenir des messages d’erreur, bien sûr, mais en obtenant moins de messages d’erreur est généralement un signe d’une plus grande fluidité de votre compétence.
4. Tester de nouvelles stratégies pour chaque section
Un aspect majeur de la pratique délibérée est que vous ne pratiquez pas simplement sans réfléchir une compétence donnée. Au lieu de cela, vous prenez note de vos faiblesses et testez de nouvelles approches qui peuvent éventuellement vous aider à vous améliorer. Pour poursuivre l’analogie avec notre algorithme JavaScript, vous pouvez tester différentes approches pour voir si elles vous aident à résoudre des problèmes plus rapidement ou avec moins de messages d’erreur. Par exemple, que se passe-t-il lorsque vous utilisez systématiquement des « boucles while » au lieu de « boucles for..in » ? Cela vous aide-t-il à déchiffrer le code plus rapidement ? Ou bien le fait de dessiner des images sur une feuille de papier avant de taper votre premier caractère vous aide-t-il à résoudre les problèmes plus efficacement ? L’écriture de psuedocode est-elle utile ? Différentes approches fonctionnent pour différentes personnes – mais vous pouvez découvrir quelles approches fonctionnent pour vous.
5. Intégrez votre apprentissage dans le processus global
Alors que vous affinez chaque sous-compétence, revenez en arrière et créez à nouveau une nouvelle application web. Avec un peu de chance, votre compétence accrue en – disons, JavaScript – vous aidera à écrire cette application web plus facilement, plus efficacement ou avec plus de confiance.
Conclusion
La clé de la pratique délibérée est de ne pas pratiquer sans réfléchir et espérer que vous vous améliorez. Au lieu de cela, vous pouvez tester spécifiquement votre niveau de compétence maintenant, et essayer délibérément de nouvelles approches et voir une amélioration concrète et mesurable.