Manifeste pour l’enseignement du JavaScript

J’ai un unique but :

Aider les gens n’ayant aucune expérience en programmation et qui souhaitent changer de métier à apprendre le JavaScript et à se faire embaucher en tant que développeur le plus vite possible.

Pour atteindre cet objectif :

  • Je suis en train de créer JavaScript de Zéro : une formation vidéo en ligne qui vous apprendra suffisamment de JavaScript pour être embauché rapidement. Vous êtes en train de lire le manifeste de cette formation.
  • Je publie chaque vendredi sur YouTube une nouvelle leçon en vidéo sur JavaScript.
  • Je tweete des liens et des bouts de code utiles pour améliorer votre productivité en JavaScript.

Pourquoi créer une formation vidéo sur JavaScript alors qu’il en existe déjà beaucoup ?

Parce que celles qui existent déjà n’enseignent pas certains points cruciaux

Les concepts en premier, la syntaxe en second

Toutes les formations pour débutants focalisent sur l’enseignement de la syntaxe JavaScript avant de vous expliquer les concepts de programmation sous-jacents. Quelle approche compliquée pour les débutants !

J’utiliserai des animations graphiques pour expliquer en Français clair et sans utiliser de code les concepts de programmation dans un premier temps. Ensuite seulement, vous apprendrez comment appliquer ces concepts en utilisant le langage JavaScript.

Comment résoudre les bogues par soi-même

C’est LA compétence la plus importante à acquérir pour un développeur professionnel. Et pourtant, la plupart des formations (pour ne pas dire toutes) n’enseignent jamais comment résoudre les bogues, interpréter les messages d’erreur, utiliser le débogueur ou chercher sur Google des réponses.

Malheureusement pour vous, c’est 90% du travail d’un développeur !

Le but n°1 de ma formation est de vous faire devenir autonome. Vous apprendrez la méthodologie complète que j’utilise pour déboguer n’importe quel code proprement. Cette compétence sera enseignée au tout début de la formation puisqu’elle vous sera utile tout le temps pendant votre apprentissage.

La résolution de problèmes expliquée

Les auteurs de cours n’enseignent pas leur façon de penser pour résoudre les problèmes. Ils se content d’écrire et d’expliquer simplement une ligne de code après l’autre pour résoudre un problème donné. Ils oublient à chaque fois d’expliquer par où ils commencent et pourquoi.

Ça rend les étudiants confus quand il s’agit de résoudre de nouveaux problèmes: ils ne savent pas par où commencer.

J’enseignerai dans ma formation, en plus des concepts de programmation et la syntaxe du JavaScript, la façon dont je raisonne pour résoudre un problème donné. Je décris pas à pas mon raisonnement et ma façon de voir le problème avant d’écrire une ligne de code. Comme ça vous apprendrez à penser comme un développeur.

D’ailleurs j’ai déjà produit plusieurs vidéo en live sur YouTube où je résous des exercices en JavaScript en expliquant ma réflexion et en utilisant du code adapté pour les débutants (sans concepts avancés).

Pas besoin de prendre de notes, restez concentré

Regarder une vidéo est un bon moyen pour comprendre un concept, mais pas pour retenir toutes les informations contenues dans celle-ci. Se souvenir de ce que vous apprenez dans le temps est la clé du succès. Mais prendre des notes est très laborieux et surtout ça interrompt votre concentration pendant la vidéo.

Ma formation est conçue sur le principe des répétitions espacées. Par conséquent vous retiendrez naturellement ce que j’enseigne dans mes vidéos.

J’ai suivi le cours « Apprendre à apprendre » (cours en anglais mais les sous-titres sont disponibles en Français) de l’Université de Californie pour concevoir cette formation en utilisant les dernières avancées dans les sciences cognitives.

Au coeur des bonnes pratiques

Vous apprendrez les bonnes pratiques pendant que vous apprendrez à programmer. Comme ça, à la fin de ma formation, vous ne saurez pas seulement développer et être autonome mais vous appliquerez également les bonnes pratiques du métier. C’est un atout considérable pour espérer décrocher un emploi.

Des supports différents pour des étudiants différents

La plupart des formations utilisent juste du code pour expliquer les choses. Mais nous sommes tous différents et beaucoup de gens préfèrent voir des images, des croquis, des schémas, des graphiques, des animations ou même des dessins pour comprendre de nouveaux concepts.

Je suis au courant que certaines personnes sont bien plus réceptives au support visuel qu’à une voix off ou du code source. Pour répondre à ce besoin, je produirai des animations et des images explicatives de qualité pour expliquer les concepts que j’aborde.

De cette façon, vous aurez toujours plusieurs angles d’approche pour comprendre un nouveau concept et l’intégrer.

Pas de mathématiques

Les auteurs de cours utilisent les maths tout le temps dans leurs exercices. Pourquoi ?! Être bon en maths n’a jamais été un pré-requis pour apprendre à programmer. La logique oui, mais les mathématiques, certainement pas.

À cause de ça, beaucoup d’étudiants pensent qu’ils doivent être bons en maths pour devenir développeur et abandonnent en cours de route. C’est. Tellement. FAUX.

Je concevrai mes exercices et mes exemples de code pour qu’ils utilisent le moins de maths possible. Et non, vous n’avez pas besoin d’introduire la factorielle pour expliquer le principe d’une fonction récursive.

Pas d’exercices inutiles avec truc, machin ou toto

Beaucoup d’exercices sont de faux problèmes déconnectés de la réalité créés uniquement pour des raisons de démonstration. Résoudre un exercice en apprenant quelque chose de nouveau qui soit utile pour vos futurs projets serait une meilleure approche plutôt que de résoudre un exercice juste pour appliquer une leçon.

Je concevrai mes exercices pour qu’ils soient toujours utiles et ancrés dans des problèmes réels et pas inventés, dans la mesure du possible.

Vous pouvez consulter les exercices sur le GitHub de la formation.

Exercices de difficulté croissante

Parfois, dans un cours, la difficulté entre chaque exercice est très différente et vous pouvez rester bloqué des heures sur un exercice donné. C’est déprimant.

Pour éviter ça, dans ma formation, vous devrez résoudre des exercices après chaque leçon: un exercice simple, intermédiaire, difficile (avec des cas particuliers) et un exercice « Trouvez le bogue ! ».

De cette façon vous vous entraînerez d’abord sur le concept enseigné avec des exercices simples avant de rencontrer des difficultés dans les exercices plus compliqués.

L’exercice « Trouvez le bogue ! » sera très utile puisque je rappelle qu’on passe 90% de son temps à corriger des bogues quand on est développeur.

Une approche pas à pas

Parfois, d’une leçon à une autre vous pouvez sentir une grosse différence de difficulté. Il est très difficile pour un enseignant d’augmenter progressivement la difficulté d’un cours dans le temps.

J’utiliserai des étapes très graduelles pour m’assurer que vous ne soyez pas perdu d’un coup avec les leçons. Je ferai sûrement des vidéos qui se chevauchent en terme de contenu pour créer les transitions les plus douces possibles. Je préfère répéter un concept plusieurs fois plutôt que de risquer de vous voir perdu entre deux vidéos.

Vidéos de 10 minutes

Les vidéos qui sont longues sont pénibles à suivre jusqu’à la fin, spécialement quand vous n’avez pas l’habitude de programmer : lire du code est très fatiguant.

Toutes les vidéos de ma formation durent environ 10 minutes, sauf quand je suis obligé de faire plus long pour la clarté d’une explication. Donc si vous voulez regarder une vidéo pendant que vous êtes dans le bus ou dans le métro, c’est la durée idéale !

De plus, utiliser de courtes vidéos vous force à prendre des pauses plus fréquemment avant de regarder la prochaine vidéo, c’est bon pour faciliter la mémorisation.

Vidéos adaptées au smartphone

Regarder une vidéo sur son téléphone est très commun de nos jours. Malheureusement beaucoup de cours n’ont pas pris en compte cette tendance et utilisent de trop petits caractères sur leurs vidéos rendant la lecture difficile.

Toutes mes vidéos sont créées soigneusement pour être confortablement lisibles sur téléphone.

Un seul nouveau concept par vidéo

Quand je vois une vidéo de 30 minutes dans un cours, je fuis en courant. Comme les enseignants connaissent leur domaine sur le bout des doigts, ils n’hésitent pas à introduire plusieurs nouveaux concepts différents dans une même vidéo.

Mais ils oublient qu’ils parlent à des débutants complets qui sont peu familiers avec les nouveaux concepts introduits. Pour garder les choses simples, chaque vidéo ne contiendra qu’un seul nouveau concept à la fois.

Je n’ai jamais vu de cours qui explique pourquoi telle ou telle fonctionnalité a été créée dans le langage ou pourquoi vous devriez l’apprendre. Suivre ce genre de cours revient à faire du saute mouton: on saute de leçon en leçon sans comprendre le lien entre chaque leçon.

Dans JavaScript de Zéro, vous apprendrez pourquoi une fonctionnalité particulière a été créée dans le langage et son intérêt avant de l’apprendre. Chaque leçon sera connectée à la précédente et à la suivante. C’est comme ça que fonctionne la mémoire et que vous entraînerez votre sens logique.

Pas de musique de fond gênante

Une fois, j’ai annulé l’achat d’un cours juste parce que la musique de fond était trop forte et insupportable. Vous pouvez le croire ? Je suis sûr que c’est très commun en fait.

Je n’utiliserai que des musiques de qualité dans ma formation, achetées sur le site EpidemicSound. Le niveau sonore sera bas pour la musique de fond pour ne pas gêner la concentration.

Rien de trop technique

Certains enseignants trouvent utile de parler de choses très « bas niveau » (proche du matériel) comme la façon dont sont encodés les nombres en mémoire etc. Je pense que c’est la meilleure façon de dégoûter n’importe quel débutant en programmation.

Tout ce qui touche les sujets bas niveau seront étudiés dans les modules avancés / experts de la formation, vous ne les trouverez jamais dans un module conçu pour les débutants.

Démystifier les termes techniques

Fonctions récursives, méthodes, variables mutables, immuables, fonctions de premier ordre… Tous ces termes effrayants seront expliqués avec des analogies simples du quotidien, pas de maths, pas de trucs compliqués d’ingénieurs. Juste du Français simple et clair.

Pas de framework, seulement du JavaScript pur

Apprendre un framework comme React, Angular ou Vue avant de connaître correctement le JavaScript est la pire des erreurs à faire. Comment pouvez-vous penser une seule seconde maîtriser un framework quand vous ne savez même pas maîtriser le langage sous-jacent ?

C’est comme essayer d’apprendre à écrire du Shakespeare alors qu’on sait à peine parler Anglais.

Je ne parlerai pas des frameworks dans ma formation. Vous apprendrez uniquement le JavaScript pur et croyez-moi il y a déjà beaucoup de boulot de ce côté là !

Les erreurs sont des opportunités pour apprendre

Autre chose que je trouve très contre productif dans les formations en ligne c’est que toute les erreurs sont coupées au montage. Cela provoque 2 problèmes terribles.

Le premier, c’est que ça ne représente pas du tout la réalité du développement: on fait tous des erreurs, même après avoir programmé pendant plus d’une décennie ! Quand les étudiants voient que leur prof ne fait jamais d’erreur dans ses vidéos, ils commencent à être honteux des leurs. Ça tue leur motivation et leur confiance en eux.

Deuxièmement, supprimer les erreurs dans une vidéo est une opportunité ratée d’enseigner à un étudiant comment la résoudre ! C’est une opportunité d’apprentissage exceptionnelle pour un étudiant surtout qu’il va être confronté à énormément de bogues au cours de son apprentissage. Je laisserai donc mes erreurs en vidéo pour que vous puissiez voir comment je raisonne pour les résoudre.

Devenir confiant et autonome

La ludification (gamification) est devenue le standard pour motiver les gens sur les plateformes en ligne. Acquérir un badge ou un trophée virtuel n’a jamais motivé personne à continuer à travailler.

En revanche, les petites victoires fréquentes, oui.

Ressentir la joie de corriger un bogue ou d’écrire le code source correct avant que la leçon ne se termine… ÇA, ça vous motivera et vous donnera confiance en vous !

Une de mes priorités les plus importantes est de vous faire devenir autonome. À la fin de ma formation, vous serez capable de corriger vos propres erreurs de code et d’apprendre par vous-même de nouveaux concepts en un clin d’oeil.

Apprendre par soi-même en autonomie est la clé pour devenir un développeur aguerri car c’est un métier en constante évolution.

Les outils : Visual Studio Code et Chrome

Vous n’aurez qu’à installer Visual Studio Code et le navigateur Chrome, qui sont les références populaires actuelles en terme d’outils de développement.

Les extensions et autres outils qu’on utilisera dans la formation évolueront au fur et à mesure que vous progresserez avec le langage JavaScript.

Support de la communauté

Rester coincé des heures sur un bogue est la pire expérience qu’on puisse subir quand on apprend à programmer. Ça tue la confiance en soi et la motivation.

Ça n’arrivera pas dans ma formation puisque vous bénéficierez de mon aide et de celui de la communauté JavaScript de Zéro :

  • Chat en live sur Slack: inscrivez-vous à la formation pour recevoir directement votre invitation pour accéder à Slack
  • Chat vidéo en tête à tête avec moi avec partage d’écran (et de code) via LiveShare sur Visual Studio Code ou Skype, Google Hangout, ou Slack

Objectifs de la formation

  • Apprendre les bases de JavaScript proprement pour avoir de solides fondations en programmation.
  • Devenir un développeur autonome qui puisse apprendre puis évoluer par lui-même.
  • Être capable de corriger ses propres bogues.
  • Être capable de corriger les bogues des autres.
  • Être capable de lire et comprendre le code de quelqu’un d’autre et de l’améliorer.
  • Concevoir et créer une application à partir de zéro.
  • Résoudre un problème donné en utilisant du code.
  • Écrire du code de qualité en appliquant les bonnes pratiques.
  • Décrocher un travail dans l’industrie aussi vite que possible.

Si vous êtes intéressé : inscrivez-vous dès maintenant pour accéder gratuitement à cette formation ! Dans quelques mois elle deviendra payante.

Intéressé ? Inscrivez-vous !

Je suis toujours dans le processus de création de cette formation et j’ai besoin de vos retours pour faire en sorte qu’il soit le mieux adapté à vos besoins. J’utilise une approche itérative pour produire le meilleur contenu possible.

N’hésitez pas à m’envoyer un email ou à me laisser un commentaire sur cet article pour me dire ce que vous pensez de ce manifeste.

Pour rester au courant des nouveautés, n’oubliez pas: inscrivez-vous.

Merci.

Vous apprenez le JavaScript sans aucune expérience en programmation ?

Ma formation vidéo JavaScript de Zéro est faite pour vous.

Des bases de la programmation jusqu'à l'obtention de votre premier job, cette formation vidéo complète en français vous permettra de devenir développeur JavaScript en quelques mois.

8 replies on “Manifeste pour l’enseignement du JavaScript”

  1. Bonjour, tout d’abord je voudrais vous féliciter pour cette belle explication, nous sommes tout les deux débutants ma compagne et moi et sommes intéressés par votre formation je vous contacterais certainement prochainement, bonne journée et bonne continuation pour votre projet.

  2. Bonjour Jérémy,

    Sincères félicitations pour cette belle initiative, que cette formation.
    Ce manifeste écrit est d’une clarté évidente, d’autant plus qu’il hâtise la curiosité.
    Je m’inscris de ce pas.

    A bientôt de vous lire…

    1. Bonjour tinem,

      Merci pour votre commentaire.
      J’espère avoir la même clarté dans mes explications en vidéo, ce qui est moins évident qu’à l’écrit ;-).

      J’ai bien reçu votre inscription et vous ai envoyé un email de bienvenue avec quelques questions, n’hésitez pas à me répondre, ça m’aidera à orienter la formation dans la bonne direction.

      À bientôt.
      Jérémy.

    1. Merci beaucoup Frédéric ! J’espère pouvoir m’y tenir et que la qualité de ce que je produirai sera constant dans le temps (ou s’améliorera avec le temps).

  3. Bonsoir,
    Je viens juste de découvrir ce blog et ta formation… et j’ai déja attaquer quelques unes de tes videos :D.
    Tout simplement bravo pour la clareté de tes explications et pour la qualité des vidéos, on sent que tu y a mis du coeur et que c’est hyper quali …. donc je le suis inscrit… on se croise sur slack 🙂
    @+

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.