Sommaire
Je vais te donner des astuces que j’aurais aimé savoir quand j’ai commencé la programmation. Je t’encourage à te focaliser sur la pratique et les projets concrets.
🎯 Se concentrer sur son objectif en programmation
Choisir ce qu’on a besoin d’apprendre
N’essaye pas de tout apprendre en même temps. Concentre toi sur les langages et les concepts nécessaires pour atteindre tes objectifs.
Exemple : Tu veux apprendre le web ? Commence par apprendre HTML/CSS puis le javascript puis un framework comme React avec TypeScript.
❌ Ne saute pas sur le premier langage juste parce qu’il est à la mode.
Ah et surtout, n’apprends pas 10000 langages pour faire gonfler ton CV ! Les recruteurs ne sont pas dupes… Ils sauront que tu sors d’un bootcamp pour développeur et que tu as survolé les sujets (et donc que tu ne sais pas vraiment développer). Il vaut mieux être expert et se nicher sur un langage / une compétence en particulier plutôt que de vouloir tout faire.
Faire fonctionner son programme
Une fois que tu as choisi ton langage, ton but ne sera pas d’apprendre ce langage (oui oui tu as bien lu). Ton but sera de faire fonctionner ton programme avec ce langage. Il faut d’abord partir d’un projet que tu aimerais créer et qui résout un problème. Pas forcément besoin d’une machine à gaz ou d’un truc compliqué.
Exemple : Tu sais que tu veux t’orienter vers le web donc tu choisis de créer une application web. Tu aimerais créer une application web de recettes avec un nutriscore non pas sur les aliments mais sur la recette globale. Tu vas donc devoir récupérer les nutriscores de chaque aliment de la recette et en faire une moyenne.
BIM ! Nouvelle application ! Tu vas devoir apprendre plein de choses sur ton langage pour la faire fonctionner.
Tu remarqueras que on est pas partis du langage pour l’apprendre et ensuite faire un projet. On part du projet pour apprendre ce qu’il nous faut sur ce langage et faire fonctionner notre programme. Il faudra appliquer le même principe dans le choix de tes outils.
Ne pas apprendre des outils inutiles
Pour faire fonctionner ton programme, tu vas avoir besoin d’outils. Plutôt que de te dire : « tiens j’ai entendu parler de tailwind, ça a l’air pas mal, je vais l’apprendre ». Il faut te dire : « de quels outils ai-je besoin pour faire fonctionner mon projet ? « . TOUJOURS PARTIR DU PROJET. Car en apprenant des outils juste parce qu’ils ont l’air « cool » ou que t’en as entendu parler et que ça ferait joli sur ton CV… Il y a 90% de chances que ce soit inutile pour toi et ton projet.
Remarque : rien est inutile. Ce sera toujours utile d’apprendre quelque chose (peu importe le sujet). Par contre notre temps est limité donc si tu veux te démarquer des autres et atteindre tes objectifs, il vaut mieux être précis et apprendre les bonnes choses. L’informatique c’est vaste donc tu pourrais apprendre plein de choses qui ne te sont pas utiles si tu le voulais. Mais ce n’est pas ton but.
Restons sur cet exemple d’application de recettes. Tu vas avoir besoin d’une base de données. Est-ce que tu prends une base de données SQL ou NoSQL ? Est-ce que tu utilises un CMS pour faciliter l’ajout de données dans ta base ? Est-ce que tu utilises un framework CSS pour te simplifier la vie et coder plus vite ? Je te donne 10 outils pour développeur freelance pour t’aider à bien démarrer.
Bref, tu vois qu’en plus du langage, tu vas devoir construire ta stack d’outils.
🧠 Comprendre les concepts autour des langages
La qualité du code
Oui la qualité du code c’est important… Mais quand tu es débutant, l’important est de faire fonctionner ton programme. Tu as déjà oublié ? 😂
Bon il y a quand même des bonnes pratiques qui valent dans tous les langages et qui seraient bien d’apprendre. Une fois que tu les as vues, à toi de juger si ça vaut le coup de les mettre en place dans ton projet.
Ne vas pas mettre en place des tests automatiques sur ton code alors que ton projet a eu besoin de 1 jour pour être codé. Tu vas mettre 3 jours à écrire tes tests ça a absolument aucun sens. C’est sur un projet de grande envergure avec plusieurs devs dessus que tu peux commencer à t’intéresser à mettre des tests dans ton code. Ce n’est qu’un exemple parmi tant d’autres.
Toutes les bonnes pratiques ne doivent pas être utilisées à chaque fois. C’est important de juger leur importance pour chaque projet.
Le code informatique n’est jamais parfait
C’est important que tu comprennes que tout code contient des imperfections, même dans les grandes boîtes comme Apple ou Facebook.
Je t’en parle car je connais 2 personnes qui travaillent dans chacune des deux entreprises que j’ai citées. Le mythe est détruit. Tu penses que le code va être incroyable quand tu rentres dans l’entreprise mais que nenni.
L’objectif principal est que le code fonctionne et réponde au besoin. C’est tout. Si le code commence à avoir des régressions (c’est à dire que tu ajoutes une feature mais qui en casse une autre), là tu réponds plus au besoin. Donc tu peux commencer à mettre des tests en place. Mais encore une fois c’est une problématique de grosse application.
Remise en question des approches
Même certains concepts populaires comme le POO ou le DDD ne sont pas considérés comme parfait pour tous. Il y a plein de sujets clivants dans l’univers de la tech. Ce n’est pas le cas de tous les sujets évidemment, certains sont bien tranchés et tout le monde est d’accord (à part ceux qui ne comprennent pas le problème).
Dans certains cas, même les systèmes bancaires peuvent contenir du code pas très propre pour faire fonctionner les choses. Mais ça fonctionne et on est contents.
C’est donc crucial que tu remettes en question certaines approches et que tu les testes par toi même pour t’en faire ta propre opinion.
Apprendre rapidement les spécificités d’un langage ou d’un outil
Les connaissances que tu as acquises il y a 5 ans ne sont plus forcément pertinentes aujourd’hui. Il est donc important de se mettre à jour régulièrement. Tu peux plonger dans la documentation pour comprendre les nouveautés et l’évolution des langages.
La compétence d’apprendre rapidement est intemporelle et essentielle, peu importe l’année ou le langage.
⚠️ Je n’ai pas dit qu’il fallait foncer tête baissée. Autant je ne recommande pas de regarder 10000 tutos avant de commencer un projet… Mais je te conseille quand même de te documenter au préalable.
Personnellement je ne regarde quasiment plus de tutoriel. Je vais directement lire la documentation.
❌ L’importance du passage à l’action
« Mieux vaut fait que parfait »
Je préfère quelqu’un qui code un projet de A à Z mais avec un code un peu bancal plutôt que quelqu’un qui fait du clean code mais qui ne va jamais au bout de ses projets.
Arrête de regarder des tutoriels
Justement en parlant des tutoriels précédemment : pourquoi tu dois sortir du « tutorial hell » ?
Déjà ce n’est pas en regardant des vidéos que tu vas apprendre. Généralement, tu comprends même pas ce que fait le mec dans la vidéo, tu te contentes de copier. Tu as l’impression d’être efficace car tu regardes 10H de vidéos, t’as l’impression d’avoir appris des choses mais en réalité tu n’as pas appris grand chose. Pour apprendre la programmation il faut galérer et appliquer.
Il vaut mieux commencer à coder, même si tu sais pas faire grande chose. Quand tu en auras marre de galérer, là tu iras voir un article ou un tutoriel pour t’aider. Crois moi tu apprendras beaucoup plus vite que les autres comme ça.
Privilégier les projets plutôt que les technologies
Ça ne sert à rien d’apprendre tous les derniers outils et langages tendances. Je te l’ai dit déjà ! Un langage est un moyen de réaliser des choses concrètes. C’est tout. Si tu apprends un langage c’est pour te spécialiser et t’orienter sur certains types de projets.
Si tu veux faire du web tu vas apprendre des langages web. De fait, tu ne pourras pas créer des logiciels ou des applications mobiles. Mais il y a déjà tellement de choses à faire dans le web. Pas besoin d’apprendre 109823 langages pour savoir « tout faire » car en réalité tu ne sauras rien faire.
Montrer ses réalisations concrètes
Les futurs recruteurs doivent pouvoir télécharger et examiner les projets réalisés avec les langages et outils maîtrisés.
Exemple : tu veux faire construire ta maison et tu vas voir 2 constructeurs.
1️⃣ Le premier
Il te montre comment il sait se servir d’un tractopelle, d’un marteau avec ses clous etc… Il te dit « oui oui j’ai déjà construit une maison tkt ».
2️⃣ Le deuxième
Il te montre les dernières maisons qu’il a construites.
Alors tu choisis lequel ? En qui tu as le plus confiance ? Tu vois où je veux en venir ?
🚀 Conclusion
Pour commencer la programmation, concentre toi sur les concepts de bases et le passage à l’action. Code des projets intéressants que tu pourras montrer aux recruteurs.
Gagner sa vie avec WordPress
Dans cette formation, je vais t'apprendre à te lancer et à vivre de la création de site web avec WordPress.