Comment apprendre à coder ? (on dit programmer en fait) [+Vidéo]

J’ai mis coder dans le titre parce que les débutants utilisent ce mot dans les moteurs de recherche (coucou le SEO).

Mais le terme le plus approprié est programmer.

Ah oui, et tant qu’on y est, on ne dit pas je suis codeur, mais on dit programmeur, ou plus récemment développeur (et surtout pas programmateur 🤦‍♂️).

Comment apprendre à programmer quand on est débutant ?

J’ai fait une vidéo assez complète sur le sujet et je vais ajouter quelques éléments supplémentaires dans cet article.

D’où viennent toutes ces astuces ? Des étudiants de ma formation JavaScript qui font sans cesse les mêmes erreurs ! Et de mon expérience aussi bien sûr.

Vidéo complémentaire à cet article

Résumé de la vidéo

Si vous ne voulez pas regarder la vidéo ci-dessus voici un petit résumé des conseils que je donne dans celle-ci :

  • Diversifiez vos sources d’informations pour « baigner » dans le langage que vous apprenez : vidéos, livres, tutoriels, blogs, podcasts, conférences…
  • Étudiez efficacement
    • Préférez un environnement calme sans distractions : téléphone en mode silencieux, pas de réseaux sociaux, pas de notifications, pas de bruits extérieurs, isolez-vous.
    • Travaillez de façon continue et longtemps, sans être interrompu pour favoriser le flow.
    • Travaillez le matin pour avoir le plus d’énergie et de motivation.
  • Technique pomodoro : en cas de difficulté à se mettre au travail
    • Travaillez pendant 25 min puis faites 5 min de pause et recommencez.
    • Toutes les 2h, prenez une pause plus longue de 15 à 20 min.
    • Utilisez une extension comme blocksite sur Chrome pour éviter la tentation d’aller « juste 2 min » sur un site chronophage…
  • Piège n°1 : le manque de pratique
    • Vous êtes sûr de savoir refaire ce que vous venez d’apprendre ? Détrompez-vous ! Vous ne savez pas. Il faut pratiquer pour apprendre, lire et comprendre ne suffit pas.
    • Ne sautez jamais les exercices !
    • Rédigez toujours votre propre code en partant de zéro.
  • Piège n°2 : l’illusion du copier-coller
    • Ne copier-collez jamais votre code. Tapez-le toujours au clavier. Le copier-coller est votre pire ennemi car il ne favorise pas la mémorisation du code copié. La frappe au clavier : oui.
  • Mémoriser à l’aide de répétitions espacées
    • Tout ce qui est fréquemment utilisé est stocké dans votre mémoire, le reste est jeté.
    • Alternez séances d’études et de repos.
    • Pratiquez plusieurs fois par semaine sur des sessions courtes plutôt qu’une seule session longue chaque semaine.
    • Faites vos révisions avant de dormir, votre cerveau travaillera dessus pendant le sommeil.
  • Pour sortir d’une situation bloquante
    • Arrêtez de bosser dessus et revenez-y plus tard.
    • Faites une sieste de 20 min pour revenir bosser avec des idées fraîches.
  • Pratique délibérée
    • Travaillez sur ce qui est difficile.
    • Utilisez la technique pomodoro pour vous motiver.
  • Essayez d’enseigner pour voir si vous avez tout compris
    • Ça vous permettra d’approfondir les notions mal comprises et de bâtir de meilleures fondations techniques !

Conseils supplémentaires

En plus des stratégies que j’ai déjà évoquées dans la vidéo, voici quelques conseils supplémentaires que je donne régulièrement à mes étudiants.

N’apprenez pas la documentation par coeur

Apprendre un langage de programmation ce n’est pas apprendre par coeur toutes les fonctions existantes fournies par ce langage !

Apprendre à programmer, c’est avant tout comprendre ce qu’on fait, comprendre la logique et l’algorithmique du programme qu’on rédige.

Connaître tous les détails de toutes les fonctions fournies par votre langage de programmation favori ne sert absolument à rien. Je dirai même que c’est impossible tellement il y a de fonctions, de paramètres, et d’options possibles de nos jours.

En revanche… avoir une vue globale de ce que permet de faire le langage de programmation et savoir qu’il existe une fonction permettant de faire ce que vous voulez faire, ça oui, c’est utile. Mais en connaître tous les détails non. La documentation est là pour ça.

Lorsque vous en aurez besoin, vous pourrez consulter la documentation de cette fonction pour savoir comment elle doit être utilisée pour votre besoin particulier.

Vous retiendrez naturellement les fonctions les plus usuelles à force de les utiliser.

Je ne connais aucun développeur qui n’a pas en continu une fenêtre ouverte avec de la documentation à côté de son code !

La syntaxe doit être maîtrisée

Lorsque vous apprenez à conduire, au début, vous devez dédier une partie de votre réflexion aux mouvements de votre corps pour passer les vitesses, accélérer, freiner, tourner le volant, regarder dans les rétros etc.

C’est épuisant.

Puis petit à petit, vous acquérez des réflexes et vous n’avez plus besoin d’y penser. Vous pensez juste accélérer et tout se fait naturellement.

Vous libérez alors votre cerveau pour penser à des choses de plus haut niveau comme anticiper le passage au rouge d’un feu, le comportement d’un autre conducteur, favoriser l’insertion d’autres voitures sur l’autoroute etc.

En programmation, c’est exactement la même chose.

Au début, vous allez lutter sur la syntaxe : où est-ce que je dois mettre une parenthèse déjà ? Et là c’est une parenthèse ou une accolade ? Comment on déclare une fonction ? Il faut une virgule ici ou un point-virgule ?

Seule la pratique et la rédaction de code (sans copier-coller !) vous permettront de maîtriser la syntaxe et de rendre la frappe de votre code fluide.

À partir de là vous pourrez penser à l’algorithme que vous devez rédiger. Vous penserez il faut que je boucle de 3 à 8 et vos mains rédigeront le code qu’il faut pour faire cette tâche.

Vous pourrez alors penser à d’autres choses de plus haut niveau, de l’architecture logicielle ou anticiper les problèmes éventuels que votre code pourrait amener dans le futur et le corriger tout de suite.

Tout ça prend du temps, et seules la pratique et l’expérience vous permettront d’atteindre cette fluidité dans la rédaction de code source.

Maîtrisez les bases correctement pour faciliter votre progression.

Travaillez sur un gros projet (+ des tout petits)

Lorsque vous maîtriserez bien la syntaxe, je vous conseille d’avoir toujours un projet personnel de grande envergure pour appliquer concrètement ce que vous apprenez sur un projet réel.

La bonne façon de faire est de commencer petit et d’ajouter de nouvelles fonctionnalités au fur et à mesure que vos connaissances progressent.

Le mieux est de créer un projet qui pourra vous être utile dans votre portfolio pour démontrer vos compétences à qui serait intéressé (un éventuel employeur par exemple).

L’objectif d’avoir toujours un projet de grande taille, c’est de pouvoir se heurter à des problèmes d’architecture logicielle. Ça vous permettra de comprendre ce que c’est d’une part, et ça vous permettra de mieux structurer votre code par la suite, de le rendre plus modulable et extensible.

Lorsque vous apprenez une nouvelle compétence, créez un petit projet uniquement pour tester votre capacité à utiliser cette compétence dans un environnement isolé que vous maîtrisez parfaitement.

Une fois que vous y arrivez et que vous êtes confiant dans cette compétence, utilisez-là pour ajouter une nouvelle fonctionnalité sur votre gros projet principal.

Ça vous demandera sûrement un peu plus de travail de réussir à intégrer la nouvelle fonctionnalité à votre gros projet que sur un petit projet isolé.

En améliorant votre gros projet au fur et à mesure, vous développerez non seulement vos compétences en architecture logicielle, mais vous aurez également un projet de grande envergure à ajouter à votre portfolio.

Vous prendrez confiance en vous et en vos capacités à créer des applications complètes.

Demandez de l’aide intelligemment

L’informatique c’est binaire, soit ça marche, soit ça marche pas.

Des erreurs idiotes, vous allez en rencontrer des tonnes, alors quand quelque chose ne fonctionne pas comme ça devrait, et que ça fait 3 jours que vous êtes dessus, demandez de l’aide !

Il n’y a pas de honte à demander de l’aide quand on est débutant, et même quand on est développeur professionnel, c’est d’ailleurs la raison d’être du site StackOverflow.

Mais pour recevoir de l’aide de la part de tous ces développeurs qui font ça sur leur temps libre, il vaut mieux faire les choses proprement et prendre le temps de bien rédiger son message.

Indiquez un maximum d’informations sur ce que vous essayez de faire et sur le contexte ainsi que sur la machine sur laquelle vous travaillez. De façon générale, lisez les règles du forum sur lequel vous vous apprêtez à laisser un message pour savoir comment bien rédiger ce message pour obtenir de l’aide.

Respectez les développeurs qui vont consacrer du temps à votre problème en rédigeant un message clair et complet sur ce que vous essayez de faire. Il n’y a rien de plus pénible que de lire un message du type « Mon code il marche pas aidez-moi ! » sans aucun code fourni ni explications sur le contexte du problème.

La plupart des forums sont en anglais. Si vous ne lisez pas l’anglais, mettez-vous y, car toute la documentation en programmation est toujours rédigée en anglais.

Si vous avez besoin d’aide en français, je vous invite à acheter le module intermédiaire de ma formation (coucou le placement de produit) qui vous donnera accès à un tchat privé sur Slack pour demander de l’aide.

Sachez que chercher de l’information sur internet et trouver ce dont on a besoin dans la documentation du langage ou de l’outil qu’on utilise, c’est 90% du temps de travail d’un développeur.

Donc ne pensez pas être nul parce que vous passez votre vie le nez dans la documentation, c’est la norme, surtout quand on débute !

Conclusion

J’espère avoir pu vous aider à créer un environnement favorable à l’apprentissage de la programmation. Avec toutes ces astuces et conseils, vous mettrez toutes les chances de votre côté pour apprendre à programmer.

Si vous avez des questions sur comment apprendre à programmer ou si vous souhaitez avoir d’autres conseils n’hésitez pas à m’en faire part dans les commentaires ci-dessous. Je réponds personnellement à tout le monde.

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 web en quelques mois.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.