Apprendre à coder tout·e seul·e en 7 étapes
Peut-être que vous êtes actuellement entrain de vous demander comment vous pouvez apprendre à coder tout seul·e ? Et sans trop vous ruiner dans des cours et autres formations payantes ? Quelles sont les bonnes formations pour commencer/progresser ? Est-ce que c’est seulement possible d’apprendre le développement web tout seul·e ??
Je vais essayer d'apporter des pistes de réponses !
Avertissement : je parlerais ici de l'apprentissage du développement web plus particulièrement, pour pouvoir prendre des exemples tirés de mon expérience.
1. Faites le point
Avant toute chose, il va falloir vous poser deux minutes et faire le point pour dégager des objectifs : où vous voulez aller exactement.
Je vous conseille de prendre une feuille et un crayon et de noter :
- Pourquoi vous voulez apprendre à coder ? (exemple : parce que c’est un secteur qui recrute, parce que vous voulez devenir freelance, parce que vous aimez le code, pour l'argent...) ;
- En combien de temps vous voulez vous former ? Est-ce que vous avez une deadline ? (sinon, je vous conseille de vous mettre une date buttoir, ça ne pourra qu’être plus motivant pour la régularité ! Si vous ne savez pas trop pour l’instant, ce n'est pas très grave, mettez une date approximative : 6 mois , 1 an...) ;
- Combien de temps par jour vous pouvez/voulez consacrer à votre formation ? Ce sera utile après pour créer un planning. 1h/jour, 7h/jour …. ? (sachez qu’à moins d’une heure, ça risque d’être vraiment très long, mais marquez ce que vous pouvez).
2. Faites-vous un planning
C’est un point capital. Et le mieux est d’en faire un complet, avec des objectifs à court, moyen et long terme (beaucoup plus efficace pour garder la motivation en cas de coups durs).
Faites vous par exemple un tableau Excel, dans lequel vous notez vos objectifs à moyens termes, sous-découpés en routines à suivre pour les atteindre.
Exemple de planning efficace.
Je vous recommande chaudement de suivre l’excellent cours « Apprendre à apprendre » en libre accès sur OpenClassroom. Des tableurs préfaits dans ce style sont d’ailleurs disponibles, n’hésitez pas à les utiliser comme modèles !
3. Trouvez la matière première
Prenez d'abord le temps de batifoler d’un site à l’autre, d’un apprenant à l’autre, d’un tuto à l’autre. Ne pas tout de suite s’engouffrer dans une offre payante même sur un sujet qui nous intéresse ou sur une formation qui a l’air géniale. Au début, on ne sait pas ce qu’on doit apprendre, et il va falloir trouver des ressources (et des bonnes surtout).
Des conseils pour faire le tri :
- Commencez par chercher les avis dans le cours lui-même, mais pas seulement (les avis ne semblent pas toujours très objectifs). Allez voir les avis sur des forums, des sites de notations etc… ;
- Demandez aussi directement sur des groupes pro (vous trouverez souvent des groupes sur facebook, ou des communautés sur twitter qui se feront une joie de vous aider et conseiller). Attention tout de même à l’effet « iels sont tous nul·les » : j’ai souvent remarqué que beaucoup de personnes vont être assez systématiquement très critiques envers les formateur·ices qui font de la pédagogie de vulgarisation. C'est dommage car parfois une bonne vulgarisation même si un peu approximative vaut mieux qu'un cours sur-développé et non assimilable pour un novice ;
Quelques idées de matières premières :
- les tutos YouTube : Grafikart, Donkey Geek (gratuit) ;
- le freeCodeCamp (gratuit) ;
- OpenClassrooms (gratuit) ;
- Udemy (gratuit et payant).
4. Soyez régulier
C'est un des conseils les plus importants dans cet article. Si ce n'est le plus important.
Fournir un très gros effort ponctuel c’est bien, mais ça ne sert pas à grand chose. Faites une séance de sport intensive de 4h, et vous ne serez ni moins gras, ni plus en forme. Au mieux, ça vous fera du bien sur le moment.
Par contre, faites du sport 30 min / jours, tous les jours, et vous obtiendrez des miracles. Au bout de 2 à 6 mois certes. Mais tout de même.
Et puis 30 min c’est quoi finalement, dans une journée. Pas grand chose !
Pour le code, c’est exactement pareil : ne vous mettez pas à coder que le weekend pendant 4h sans rien faire le reste de la semaine. Si vous pouvez, dégagez vous minimum 30 min ou 1h / jour (plus c’est mieux, moins… l’apprentissage sera long mais pourquoi pas).
5. Demandez de l’aide (quand vous en avez besoin)
S’entêter c’est bien, trop c’est bête !
Je sais, c’est pas toujours simple, mais très important. On peut vite se décourager quand on ne comprends plus rien ou qu’on est bloqué. Si après avoir retourné Google dans tous les sens (des heures voir des jours), vous êtes toujours bloqué, allez sur twitter, sur StackOverflow (pour des soucis spécifiques), sur des forums (OpenClassrooms, freeCodeCamp …) et demandez de l’aide.
Alors attention, pas n’importe comment !
Vous le savez sans doute quand d'autres développeur·euses essayent de nous secourir, iels prennent sur leur temps : on doit donc les aider un maximum en amont. Visez l’efficacité, ça sera bénéfique à tout le monde !
Recontextualiser votre problème : Expliquer brièvement toutes les étapes de votre projet, chronologiquement et de manière objective.
Copier/Coller l’intégralité de votre code : même s’il est long. Vous ne pensez peut-être pas que le bug peut venir d’une petite ligne de code anodine en bas de page, mais on ne sait jamais !
Exposez vos théories, mais soyez ouvert·es au fait que ça peut ne pas du tout être ça. Donnez simplement les pistes de réflexions que vous avez eu jusqu’à présent.
N’exigez pas une réponse rapide – ni quoi que ce soit d’ailleurs.
C’est bien de trouver un juste mileux entre trop souvent demander de l'aude et ne pas assez en demander.
Même si ce n’est pas toujours facile pour l’ego, dites-vous bien que si vous êtes bloqué, il y aura bien quelqu’un d’autre qui sera un jour bloqué aussi sur le même soucis et qui vous remerciera d’avoir posé la question !
6. Variez les sources
Parfois la meilleur façon de comprendre quelque chose de compliqué est… qu’on nous l’explique différemment!
La façon de faire des apprenants n’est pas toujours adaptée pour nous. Et ce n'est pas grave !
Parfois il suffit de pas grand chose, une métaphore ou une comparaison qui nous parle et soudain... tout devient clair ! On a l’impression qu’un épais brouillard vient de se lever dans notre tête.
En suivant toujours les cours des mêmes personnes, on peut passer à côté de petites épiphanies du genre. C’est d’ailleurs généralement le fait de diversifier les tutos qui va nous permettre, petits déclics par petits déclics, d’avoir une compréhension générale et solide d’un sujet.
Un exemple concret : Comment j’ai appréhendé l'apprentissage de React.
J’ai commencé par regarder des tutos très généraux sur YouTube, qui résumait globalement la techno .
Puis je me suis attaqué à une formation plus complète sur Udemy. Au cours de cette formation, je me suis rendu compte qu’il me manquait plus de bases en JavaSript et que je n’étais pas apte à comprendre réellement ce qu’on m’expliquait : retour aux bases !
J’ai suivi des cours de Javascript avancés sur Udemy. En plus de ça, j’ai passé la certification freeCodeCamp « JavaScript Algorithms and Data Structures ».
Trois mois plus tard : retour sur React. Je commence par des tutos détaillés sur Youtube, qui reprennent les bases de React. Cet apprenant prend bien le temps de décortiquer tout ce qu’il explique et me permet d’avoir une compréhension en profondeur de ce que je suis entrain de faire.
Retour à mon cours Udemy : maintenant tout va mieux, je peux continuer sereinement, en comprenant tout ce que je fais.
Le fait de ne plus bien comprendre, de ne plus arriver à suivre doit être un signal que vous devez prendre sérieux ! Quand on apprend tout·es seul·es, on n'a pas d’évaluation ou de profs pour nous dire qu'on a besoin de consolider nos bases. C’est donc vraiment important d'arriver à s'auto-évaluer en continu, même quand c'est douloureux !
Alors oui c’est vrai, c’est pas toujours top pour le moral : mais si ça peut vous aidez, rappelez-vous de la fameuse analogie avec la maison : personne ne construit un palace sur des fondations en cartons.
Plus vos bases seront solides, plus vous pourrez avancer sereinement, et surtout efficacement. Au final, ce sera même un gain de temps !
7. Faites-vous un compte twitter.
La communauté tech est très active sur Twitter.
Pour le code, notamment, ça fourmille de comptes à suivre. En plus, bien souvent les dev sont vraiment adorables et soutenant, c'est donc en vrai plus pour garder la motivation !
Abonnez-vous à toutes sortes de comptes. Certains comptes par exemple, ne font que poster des messages d’encouragement pour les débutants, tous les jours. Ça fait beaucoup de bien de voir qu'on est tous·tes dans le même bateau à galérer !
Au-delà de ça, que ce soit pour partager ses projets, demander un coup de main ou faire sa veille techno, cette plateforme est véritablement multi-usages.
En complément, je recommanderais également de se faire un compte GitHub et/ou LinkedIn, et d’apprendre le plus vite possible à utiliser Git.
Cela vous permettra notamment de montrer/partager vos projets, étape clé pour trouver un premier emploi ou une première mission.
CONCLUSION
Tout cela ne constitue que des conseils, à adapter selon vous et vos propres fonctionnements bien sûr. Dans tous les cas, il n’y a pas de solutions miracles et il vous faudra de la patience, de la rigueur et de l’opiniâtreté.
Mais ça vaut le coup, juré ! La joie de voir son premier site en ligne est vraiment mémorable ! :)
Vous pouvez me suivre sur Twitter (@ShayReichert), je partage des conseils, des astuces de code et mes projets persos.