L'année dernière, j'ai pris une très grosse décision dans ma vie: 2013 serait l'année où j'ai enfin appris à coder.
J'ai toujours été fasciné par Internet et par la façon dont la technologie nous permet de communiquer avec des gens du monde entier. Il y a tellement de technologies incroyables en cours de construction en ce moment, et j'ai réalisé que je ne me contentais pas de rester assis et d'utiliser ces canaux de communication - je voulais les créer moi-même. Je n'avais aucune formation technique et je n'avais jamais vraiment codé, mais je savais que c'était maintenant ou jamais.
Bien sûr, la première question était: comment? Il existe une multitude d'options pour apprendre à coder: programmes en ligne, livres, cours du soir, camps d'entraînement - la liste est longue, chaque option nécessitant différents niveaux d'engagement.
J'avais déjà fouillé dans des tutoriels de codage, mais sans grand succès. Je voulais apprendre, mais je ne pouvais jamais sembler arriver à un point où j'avais l'impression d'accomplir quoi que ce soit. J'obtenais quelques chapitres et je finissais totalement confus, en me demandant pourquoi, sur Terre, j'utilisais du code pour faire en sorte que les mots «99 bouteilles de bière» soient imprimés dans le terminal. Alors j'abandonnerais.
Pour vraiment apprendre, je savais qu'il me fallait un vrai projet où je pourrais voir les résultats concrets de ce que je faisais et partager mon succès avec d'autres. J'ai donc décidé de créer mon propre chemin pour apprendre à utiliser le code: j'ai quitté mon emploi, j'ai stocké des nouilles au ramen et j'ai décidé de créer JFDI (il suffit de le faire) en créant 180 sites Web en 180 jours.
Bien qu'il ne soit certainement pas possible pour tout le monde de se consacrer à plein temps à un projet comme celui-ci, il existe encore de nombreuses façons d'utiliser mon approche pratique pour acquérir une nouvelle compétence. Que vous ayez envie de savoir coder ou de faire autre chose, lisez la suite des leçons les plus importantes de mon parcours et expliquez-leur comment vous pouvez les appliquer à votre propre aventure.
1. Commencez petit, continuez à construire
Apprendre de nouvelles compétences peut être accablant de regarder une montagne de connaissances que vous essayez de conquérir. Ainsi, plutôt que de m'attaquer à la montagne entière, j'ai décidé de faire un mini projet par jour, ce qui m'aiderait à rester concentré sur l'amélioration de petite taille et progressive.
Avant de commencer le projet 180 Websites, je savais que je voulais pouvoir créer de grandes applications Web interactives, mais je ne savais presque rien sur la façon de créer même un site Web de base. J'ai donc commencé par créer quelque chose de très simple, juste quelques lignes de code. Il m'a fallu toute la journée pour chercher des réponses à mes questions sur Internet, mais c'était la première étape.
Chaque jour, je faisais quelque chose d'un peu plus complexe, en me basant sur ce que j'avais déjà appris. Devoir produire un produit final chaque jour signifiait que je ne pouvais pas me laisser arrêter de comprendre chaque concept que j'explorais - je devais continuer à avancer. Et en conséquence, il ne fallut pas longtemps avant que mes améliorations mineures ne commencent à faire boule de neige.
Plus tard dans le projet, je faisais des choses que je n'aurais jamais imaginées. Beaucoup de sites Web que j'ai créés étaient amusants et ludiques. J'ai fabriqué des jouets comme Sushi Jiggler et Etch-A-Sketch et des jeux tels que Simon et Minesweeper. J'ai aussi fait des applications plus sérieuses. Je me suis vraiment intéressé aux données et ai créé des outils de présentation comme Elevations, qui trace le terrain entre deux endroits de la Terre. La communication et le partage étaient également un concept important pour moi et j'ai créé des applications comme Audio Garden pour aider les gens à se connecter partout dans le monde. How We Feeling, qui suit les émotions des gens sur Twitter, est l'un de mes favoris.
Lorsque vous apprenez quelque chose de nouveau, vous rencontrerez souvent des concepts qui n'ont tout simplement aucun sens la première fois que vous les voyez. Il est dangereusement facile de se laisser tenter pour comprendre tous les détails, se décourager et abandonner. Le fait d’avoir fixé un délai d’un jour à chaque site Web m’a obligé à faire fonctionner les choses plutôt que de me préoccuper de savoir les obtenir. Tant que je continuais à avancer, je savais un jour que je comprendrais des choses que je n’avais obtenir la première fois.
2. S'affranchir est le meilleur moyen de rester responsable
En plus de mettre mon site Web quotidien en ligne, j'ai également mis tout mon code sur GitHub (la plate-forme de partage de code pour 6 millions de personnes dans le monde), afin que toute la communauté de l'ingénierie puisse voir. Sans blague, c'était terrifiant! Tout le monde allait pouvoir voir à quel point j'étais mal! Toutes mes erreurs, à l'air libre!
Ce que j'ai vite compris, cependant, c'est qu'en partageant mon travail publiquement, je ne laissais aucune marge de manoeuvre, et je sentais la pression pour continuer à m'améliorer. J'ai également pu obtenir de réels commentaires sur mon code et mes sites Web, ce qui a permis de définir les idées que je voulais explorer par la suite. Plus important encore, exposer mes erreurs et idées fausses m'a appris à être plus à l'aise de ne pas tout savoir.
Le problème, c’est que l’apprentissage est compliqué et que vous allez faire des erreurs, quel que soit le sujet traité. Lorsque vous apprenez quelque chose de nouveau, vos connaissances sont extrêmement lacunaires, ce qui peut être très embarrassant. Votre instinct est peut-être d'essayer de couvrir ces lacunes, mais cela ne vous aide pas à les combler. Le partage de mes erreurs m'a aidé à surmonter cet instinct, à faire face à mes lacunes en matière de connaissances et à en sortir véritablement.
3. Suivre votre cheminement est la meilleure façon de voir jusqu'où vous venez vraiment
En plus de créer un site tous les jours, j’ai également écrit un article de blog quotidien pour écrire mon projet. Bien sûr, bloguer n’est certes pas essentiel pour apprendre à coder - ou apprendre autre chose que l’écriture -, mais cela m’a aidé à développer une compétence très importante: la capacité de communiquer sur mon travail et de partager mon histoire.
Je n'avais jamais écrit un seul billet de blog avant de commencer le projet 180 Websites (ce qui ne me surprendra pas si vous lisez mes premiers messages du projet), alors écrire tous les jours n'était pas facile au début. J'ai souvent senti que je n'avais rien d'intéressant à dire. Mais plus j'écrivais, plus cela devenait facile. J'ai découvert qu'écrire sur ce que j'apprenais me permettait de résumer les concepts avec lesquels je luttais et de développer mon vocabulaire de programmation. Cela m'a également donné l'occasion de réfléchir à des choses autres que le codage, comme comment ce que j'apprenais était lié à la vie réelle. À la fin des 180 jours, j'avais non seulement appris à coder, mais aussi comment parler de mon expérience de codeur.
Un an et plus de 250 billets de blog plus tard, je suis maintenant un ardent défenseur du pouvoir des blogs et j'encourage tous ceux que je rencontre à commencer, surtout si vous essayez d'apprendre quelque chose de nouveau.
Suivre mon propre chemin n'a pas toujours été facile et il y a eu des jours où je me suis sentie très seule. Cependant, cela m'a donné l'occasion d'explorer des idées que je n'aurais peut-être pas pu développer dans une atmosphère plus structurée. Par exemple, j'ai découvert que même si je ne suis pas un grand spécialiste des chiffres et des mathématiques, j'adore les données! J'ai aussi appris à oublier la perfection et à adopter une itération rapide.
Plus important encore, j'ai appris à maîtriser mon travail de manière apologétique. Chaque fois que vous ferez de grands sauts dans la vie, il y aura des défaitistes et des sceptiques. Leurs commentaires pourraient piquer, mais ne laissez pas la négativité nourrir votre doute. Si vous voulez faire quelque chose de novateur, vous devez parfois vous laisser aller sur une branche.




