- Comment j’utilise les techniques d’apprentissage du cours Coursera pour être un meilleur développeur
- Modes « focalisés” et « diffusés”
- Découpage
- Méfiez-vous des Illusions de compétence
- Rappel
- Tests en petits morceaux
- Surapprentissage
- Entrelacement
- Processus par rapport au produit
- Métaphores et analogies
- Groupes d’étude / Travail d’équipe
Comment j’utilise les techniques d’apprentissage du cours Coursera pour être un meilleur développeur
Je suis Développeur de logiciels depuis plus de 4 ans maintenant et s’il y a une chose qui ne change jamais dans ce travail, c’est qu’elle change toujours. Il y a toujours de nouvelles choses à apprendre. J’adore cette partie. L’apprentissage est la destination.
Ainsi, quand j’ai vu un cours intitulé Apprendre à apprendre sur Coursera, j’ai sauté sur l’occasion d’apprendre des experts académiques— Dr Barbara Oakley et Dr Terrence Sejnowski de l’Université de Californie à San Diego.
Voici les principaux points à retenir du cours qui m’aident à être un meilleur développeur et, en général, un meilleur apprenant.
Modes « focalisés” et « diffusés”
Lors de l’apprentissage, il y a des moments où vous êtes concentré et des moments où vous permettez à votre esprit de vagabonder. Ce mode non focalisé, ou diffusé, est tout aussi précieux que le mode focalisé pour permettre à votre cerveau d’APPRENDRE quelque chose. Alors – faites des pauses, méditez, pensez à d’autres choses et donnez-vous beaucoup de temps dans les deux modes.
Une façon de vous assurer de prendre des pauses régulières est de suivre la technique du Pomodoro. C’est là que vous programmez pendant 25 minutes, puis faites une pause de 5 minutes. Les durées de travail et de pause peuvent varier en fonction de ce qui vous convient le mieux. L’important est que vous ayez une pause régulière. Il existe plusieurs applications qui vous aident à configurer une minuterie Pomodoro. J’utilise le temps de Pomodoro.
Découpage
C’est l’idée de diviser ce que vous voulez apprendre en concepts. L’objectif est d’apprendre chaque concept de manière à ce qu’ils deviennent chacun comme une pièce de puzzle bien connue. Afin de maîtriser un concept, vous devez non seulement le connaître, mais aussi savoir comment il s’intègre dans la vue d’ensemble.
Dr. Oakley a suggéré un excellent processus étape par étape pour aborder l’apprentissage de quelque chose. Tout d’abord, l’enquête et l’amorçage — cela implique de scanner un livre ou le programme d’un cours, par exemple, pour avoir une idée générale de la situation dans son ensemble. Deuxièmement, observez un exemple. Ensuite, faites-le vous-même. Et, enfin, faites-le encore et encore dans différents contextes.
Donc — disons que j’essayais d’apprendre React et j’ai eu la chance de trouver le génial React de Tyler McGinnis.cours du programme js. Pour appliquer ce processus suggéré, je voudrais d’abord examiner toutes les unités du cours pour essayer d’obtenir un aperçu général des sujets abordés. Ensuite, je suivrais de près Tyler qui construit un exemple d’application. Après cela, je construirais ma propre application. Et enfin, j’appliquerais ces apprentissages dans les nouvelles fonctionnalités que nous développons dans React à mon travail.
Méfiez-vous des Illusions de compétence
Le Dr Oakley souligne les recherches du Dr Jeff Karpicke sur la pratique de la récupération pour fournir un soutien scientifique en prenant quelques minutes pour résumer ou rappeler le matériel que vous essayez d’apprendre. Cela permet de passer de la mémoire à court terme à l’apprentissage à long terme. Même le rappel de matériel dans différents environnements physiques peut vous aider à saisir le matériel indépendamment des indices physiques que votre cerveau peut avoir.
Donc – une fois que vous avez fini de lire cet article (ou n’importe quel article), prenez un moment et essayez d’énoncer ce dont vous vous souvenez de l’article. Ça va durer longtemps.
Tests en petits morceaux
Afin d’éviter ou de briser les illusions de compétence, vous devez vous tester lorsque vous rencontrez de nouveaux matériaux. Le rappel est un exemple simple de ce mini-test.
Il n’est pas important que vous passiez ces tests sans faire d’erreurs. Les erreurs (et les corriger) sont une étape importante vers la consolidation de votre apprentissage.
Surapprentissage
La principale chose à retenir sur ce point est de ne pas passer trop de temps en une seule séance à parcourir le même matériel encore et encore. La loi des rendements décroissants s’applique certainement. Étalez-le sur de nombreuses sessions et sur de nombreux modes d’apprentissage différents.
J’ai essayé de mettre de côté 30 à 60 minutes chaque jour pour chaque nouvelle chose que j’essaie d’apprendre ou d’apprendre plus en profondeur. Non seulement cela a été meilleur pour aboutir à un apprentissage durable, mais je trouve également beaucoup plus réalisable de dire que je vais travailler sur X pendant 30 minutes.
Entrelacement
Une fois que vous avez une compréhension de base de ce que vous essayez d’apprendre, l’entrelacement peut être utilisé pour vous aider à maîtriser les concepts. En pratiquant le saut d’avant en arrière entre des problèmes qui nécessitent différentes techniques, vous pouvez solidifier votre compréhension des concepts en apprenant à choisir de les appliquer dans diverses situations. Savoir quand appliquer un concept particulier est aussi important que savoir comment.
Je n’ai pas encore délibérément appliqué cette technique mais, pour en revenir à l’exemple précédent d’apprentissage de React, je peux appliquer la technique d’entrelacement en ayant 2 projets différents dans lesquels j’applique l’architecture React et Flux.
Processus par rapport au produit
Face à la procrastination, pensez au processus par rapport au produit. Je procrastine souvent quand je suis submergé par la pensée: « Ok, je dois faire X »” Au lieu de cela, il peut être bénéfique de penser: « Ok, je vais passer une heure sur X” — ce qui n’est pas écrasant, ne nécessite pas une longue répartition des tâches et me permet de démarrer (90% de la bataille).
Métaphores et analogies
Les métaphores et les analogies sont souvent considérées comme des techniques d’étude utiles. Personnellement, je n’en ai jamais fait beaucoup usage. Mais, comme j’ai rencontré plus de gens et plus d’enseignants / mentors, j’ai constaté que les meilleurs les utilisent toujours lorsqu’ils communiquent. Et être capable de communiquer ce que vous avez appris est l’une des principales compétences qui différencie un bon développeur d’un grand (à mon humble avis).
Alors, essayez de faire un effort délibéré pour enseigner ce que vous apprenez à quelqu’un d’autre et, ce faisant, vous serez probablement obligé d’expliquer des concepts avec des métaphores et des analogies relatables.
Dans la pratique quotidienne du développement de logiciels, il existe plusieurs possibilités d’enseigner et d’apprendre des autres. Vous pouvez associer un programme, commenter des pull requests, vous inscrire pour donner une conférence de code sur un sujet particulier et bloguer! Faites toutes ces choses. Je sais que j’essaie de le faire.
Groupes d’étude / Travail d’équipe
Celui-ci n’est pas nouveau pour moi et s’est avéré le plus bénéfique pour maintenir des progrès continus et se responsabiliser mutuellement. Mais, il est important d’inclure dans cette liste et de noter que trouver le bon groupe est la clé.
Au travail, j’ai la chance d’avoir beaucoup de groupes internes: tech book club (actuellement en train de lire Pragmatic Programmer), open source club, culture club, elixir group, et probablement d’autres aussi. Mais il y a plusieurs communautés impressionnantes qui se rencontrent et apprennent ensemble à New York et en ligne!
Peu importe ce que vous apprenez ou où vous apprenez, vous n’avez pas à apprendre seul. En fait, c’est le caractère unique des personnes avec lesquelles vous apprenez et les discussions que vous avez ensemble qui rendent ce que vous apprenez inoubliable.