Article original : The #100DaysOfCode Challenge, its history, and why you should try it

En juin 2016, j'ai reçu un email d'un développeur nommé Alexander Kallaway.

Je connaissais Alex parce qu'il avait créé le groupe d'étude freeCodeCamp Toronto. C'était l'un des groupes d'étude les plus actifs au Canada, attirant des foules de développeurs chaque semaine.

Mais Alex ne m'écrivait pas à propos du groupe d'étude de Toronto. Il m'écrivait parce qu'il voulait me parler d'un défi d'endurance qu'il avait imaginé.

Le défi était le suivant : Alex voulait coder pendant au moins une heure chaque jour — pendant les 100 prochains jours consécutifs.

Image

Comic par [Sarah Andersen](https://www.facebook.com/DoodleTimeSarah/" rel="noopener" target="*blank" title=").

Alex avait écrit un article expliquant les règles de son défi et s'engageant publiquement à le relever. Il espérait que quelques autres personnes liraient son article et le rejoindraient dans son défi.

Et il a créé un hashtag Twitter pour l'accompagner : #100DaysOfCode.

Image

"Oh ! Salut !" L'un des événements freeCodeCamp à Toronto, la ville où le défi #100DaysOfCode est né. Photo par Justin Richardson.

Je ne savais pas que 18 mois plus tard, des milliers de personnes tweeteraient ce hashtag des centaines de fois chaque jour.

Aujourd'hui, les personnes qui se sont engagées dans le défi #100DaysOfCode utilisent le hashtag pour partager leurs progrès, leurs projets et les étapes qu'elles ont franchies — comme obtenir leur premier emploi de développeur.

Alors, comment Alex est-il passé d'un développeur solitaire souhaitant améliorer ses compétences en codage au leader d'un mouvement mondial impliquant des milliers de développeurs ?

Et qui est Alexander Kallaway, au fait ?

Il y a quelques années, Alex était juste un autre lycéen en Russie. Il était passionné par les langues étrangères et apprenait à la fois l'anglais et le japonais. Sa passion l'a finalement conduit au Japon, où il a poursuivi ses études dans une université japonaise.

Un jour, alors qu'il était au Japon, Alex a repéré une copie en anglais de The 4 Hour Workweek sur une étagère. Il dit que ce livre lui a ouvert les yeux sur l'entrepreneuriat et l'idée que n'importe qui pouvait lancer un projet ayant un grand impact — pas seulement les "hommes d'affaires" traditionnels.

Il a trouvé un moyen de déménager au Canada pour pouvoir fréquenter une école de commerce.

Et c'est là que sa future femme, Anna, l'a contacté, voulant en savoir plus sur les études à l'étranger et comment il avait réussi à le faire. Elle vit maintenant à Toronto avec Alex.

Image

Alex et sa femme Anna à Hong Kong Disneyland.

En 2014, Alex avait terminé ses études de commerce et avait commencé une carrière dans le marketing numérique.

Mais les interactions d'Alex avec les développeurs autour de lui au travail lui ont fait réaliser quelque chose d'important. Il lui manquait une compétence entrepreneuriale essentielle. Il devait apprendre à coder.

Alex n'avait aucune expérience réelle en programmation. Il ne pouvait pas se permettre le temps ou l'argent nécessaires pour fréquenter un bootcamp de codage — et encore moins pour retourner à l'école pour obtenir un diplôme en informatique.

Mais il a décidé d'apprendre à coder quand même. Chaque jour après le travail, Alex s'enseignait à coder en utilisant des ressources en ligne gratuites.

En utilisant freeCodeCamp, il a décidé qu'il voulait coder avec d'autres amis pour avoir plus de responsabilité sociale. Il a essayé de rejoindre un groupe freeCodeCamp à Toronto, mais il n'y en avait pas. Alors il en a créé un.

Le groupe d'étude freeCodeCamp Toronto s'est rapidement développé grâce à ses efforts pour organiser des événements. Le groupe a commencé à se réunir dans des cafés. Bientôt, il remplissait des espaces de bureaux entiers. Et il a finalement trouvé un lieu permanent dans un espace de coworking à proximité.

Et grâce à freeCodeCamp Toronto, Alex s'est lié d'amitié avec des dizaines de personnes partageant les mêmes idées qui voulaient apprendre à coder.

Tout son travail acharné a porté ses fruits. Grâce à ses nouvelles compétences et à son large réseau de développeurs, Alex a obtenu son premier emploi de développeur.

À ce stade, il était facile de devenir complaisant. Il avait réussi.

Il avait un travail amusant. Il gagnait bien sa vie. Il s'était fait tant d'amis. Et il avait "réussi". Il était un expatrié russe trouvant le succès dans la plus grande et la plus compétitive ville du Canada.

Mais Alex savait qu'il devait continuer à développer ses compétences s'il voulait réaliser ses ambitions entrepreneuriales. Il pouvait sentir ses compétences atteindre un plateau. Après une longue journée de travail, il était tentant de simplement se détendre et regarder la télévision, ou de sortir avec des amis.

Alex se souvient :

"L'idée de #100DaysOfCode est originaire de ma frustration personnelle face à mon incapacité à apprendre à coder de manière constante après le travail. Je trouvais d'autres activités moins impliquantes pour occuper mon temps, comme regarder des séries télévisées en binge-watching.

Un de ces jours, j'étais assis dans un restaurant avec ma femme Anna, partageant mes frustrations avec elle. J'ai suggéré que peut-être je devrais faire un engagement public à apprendre pendant au moins une heure chaque jour, et j'ai pensé que je devrais le faire pendant 3 mois.

Anna a dit que c'était une bonne idée, et a demandé : 'Mais pourquoi s'arrêter à 3 mois ? Tu devrais en faire un 100 jours ! Ça sonne mieux !'"

Le défi #100DaysOfCode est né

Image

J'ai pu passer du temps avec Alexander Kallaway en personne à Toronto.

#100DaysOfCode servirait de dispositif d'engagement, forçant Alex à coder chaque jour après le travail, même lorsqu'il avait envie de regarder la télévision à la place.

Il devait clairement énoncer les règles du défi, afin de ne pas pouvoir les plier plus tard.

Il a donc créé la Règle #1 : Vous vous engagez à coder pendant au moins 1 heure chaque jour pendant les 100 prochains jours.

Alex était obsédé par la productivité et le développement de bonnes habitudes. Il avait lu de nombreux livres sur la formation des habitudes. Certains des livres qu'il recommande de lire sur le sujet sont :

Alex a pensé à combien de notre motivation vient de nos amis et de notre famille. Nous avons besoin de responsabilité sociale.

Et c'est alors qu'il a réalisé que ce défi pouvait être de nature sociale, et que plus il impliquait de personnes, plus il était probable qu'un participant individuel réussisse et arrive au jour 100.

Il a donc créé la Règle #2 : Vous vous engagez à encourager au moins 2 autres personnes qui relèvent le défi chaque jour, en utilisant Twitter.

Comme le dit Alex :

"Ce système pourrait aider à contrer toutes les excuses que je me trouvais naturellement pour ne pas faire ce que j'étais censé faire. C'est ainsi que le défi est né — quelques règles simples, la responsabilité sociale, et rien de plus. La responsabilité est l'un des plus grands facteurs pour essayer de changer un aspect de votre vie."

Dès le début, Alex a reconnu que apprendre à coder est difficile. Mais nos amis peuvent nous aider à avancer malgré les revers.

"Il y aura de nombreuses fois où vous aurez l'impression d'en avoir assez. Ou vous aurez l'impression que vos progrès sont trop lents, ou que vous êtes bloqué sans espoir. Ce sont toutes des raisons sérieuses pour abandonner. Ou du moins, c'est ce que vous pourriez vous dire.

Mais si vous vous connectez avec d'autres personnes sur le même chemin, vous pouvez partager les hauts et les bas du voyage, et ensemble, surmonter tous ces obstacles. Partagez vos frustrations, vos expériences d'apprentissage et vos victoires avec les personnes partageant les mêmes idées qui sont également sur le même chemin que vous. En partageant ces expériences, vous grandissez en comprenant : 'Ce n'est pas juste moi.'"

Pourquoi #100DaysOfCode est un objectif plus réaliste que la plupart des résolutions du Nouvel An

Le défi #100DaysOfCode ne dure que 100 jours — moins d'un tiers d'une année. Et vous avez une énorme communauté de personnes qui vous encouragent.

En conséquence, de nombreuses personnes non seulement terminent le défi — elles s'engagent une deuxième fois !

Alex a donc eu l'idée de "rounds". Ceux-ci sont indiqués en tweettant avec le jour où vous en êtes (Jour 1) et le nombre de fois où vous avez tenté le défi (Round 1).

Il a adopté un nouveau format pour les tweets de progression quotidienne : R1D1 — ce qui signifie Round 1 Day 1.

"Il y a une blague interne née de ce format : Le deuxième jour de la deuxième round — R2D2 — les gens publient une photo ou un gif du célèbre robot R2D2 de Star Wars dans leur tweet de progression quotidienne."

Image

Si vous parcourez le hashtag #100DaysOfCode sur Twitter, vous verrez des cas où des personnes ont déjà complété plusieurs rounds.

Mais Alex recommande de commencer par un seul engagement de 100 jours et de continuer à partir de là. Il recommande également de garder les choses simples au début.

"Les résolutions du Nouvel An ne fonctionnent pas parce que les gens s'engagent trop. Assurez-vous que c'est votre seule habitude que vous essayez d'adopter."

Il dit également qu'il est acceptable si quelque chose d'inattendu survient et que vous ne pouvez pas coder pendant un jour.

"Si vous voyagez pendant 2-3 jours et ne pouvez pas coder, prenez un livre sur le codage avec vous et lisez-le à la place. Si vous ne pouvez vous permettre que 20 minutes par jour, faites-le. Faites du défi le vôtre. La seule règle que je veux que vous gardiez sacrée est que vous devez coder quotidiennement. Vous pouvez sauter un jour ici et là pour des situations imprévues, mais pas plus. Le but est de devenir constant, peu importe ce que la vie vous lance."

Si vous êtes intéressé à booster votre motivation, vous devriez relever le défi. Cela commence par tweeter votre engagement envers le défi.

Cliquez ici pour vous engager publiquement dans le défi #100DaysOfCode 😇

Ensuite, vous pouvez forker le dépôt GitHub #100DaysOfCode pour servir de journal de votre progression quotidienne.

Une chose formidable à propos du défi est que vous n'avez pas besoin d'attendre le Nouvel An pour le relever.

Les gens commencent le défi chaque jour, donc vous aurez des personnes qui ont commencé avant vous pour vous encourager.

Ensuite, vous pouvez vous retourner et encourager les personnes qui commencent après vous.

Ces tweets encourageants et les retours sur vos projets peuvent être extrêmement motivants. J'ai parlé avec des tonnes de personnes qui disent que le défi #100DaysOfCode les a aidées à surmonter des barrières qui avaient retenu leur codage pendant des mois. L'aspect de la responsabilité sociale fait des merveilles.

Où en apprendre plus

Alex a fait quelques grandes interviews de podcast où il parle plus en détail du défi #100DaysOfCode :

Vous pouvez également consulter leur site officiel : 100daysofcode.com

Et lire l'article d'Alex sur certaines des améliorations apportées au défi.

Même si vous ne voulez pas relever le défi, vous devriez continuer à coder autant que vous le pouvez.

À la fin de la journée, tout est une question de pratique.

"Chaque jour où vous codez est un jour où vous avez gagné." — Alexander Kallaway