Article original : The Story of MyCodeSchool: Tragedy, Triumph, and Two Friends Who Changed Programmer Education Forever

J'ai commencé à apprendre à coder en 2012. Et il y avait une chaîne YouTube que tous mes amis utilisaient pour apprendre les algorithmes et les structures de données : MyCodeSchool.

Dès les premières minutes de visionnage de MyCodeSchool, on pouvait immédiatement constater que :

  1. Ces développeurs étaient vraiment passionnés par l'informatique. Et
  2. Ils étaient exceptionnellement doués pour l'enseigner.

À l'époque, j'étais un enseignant de 31 ans qui essayait de décrocher son premier emploi en tant qu'ingénieur logiciel. Et comme la plupart des gens, je regardais les vidéos. Je prenais des notes. Et finalement, je continuais mon chemin.

Ce n'est que des années plus tard que j'ai remarqué que MyCodeSchool avait arrêté de publier des vidéos. Et j'ai découvert la raison tragique de cette décision.

Image La chaîne YouTube de MyCodeSchool, qui – à part une seule vidéo publiée en 2016, est restée inactive depuis près de 6 ans.

Plus j'ai creusé, plus j'ai réalisé à quel point cette histoire était importante. Et maintenant, je vais vous la raconter.

Je vais également partager avec vous des photos et des informations inédites des débuts de MyCodeSchool.

Chaque développeur devrait connaître cette histoire d'amitié entre ces deux enseignants, et comment ils ont, pendant un court moment, conquis le monde de la programmation.

Cette histoire est triste. Mais elle est aussi inspirante. Et je me sens honoré de vous la raconter.

Voici comment Harsha et Animesh ont pris des décennies de sagesse en informatique et l'ont rendue facilement accessible à des millions d'étudiants à travers le monde.

Le Singe Avec Sa Main Coincée Dans Un Bocal

Animesh Nayan était un étudiant médiocre qui assistait rarement aux cours. Il était un "dernier de la classe" qui ne réussissait à passer les années que parce que ses amis le couvraient lorsque ses professeurs faisaient l'appel.

Mais Animesh adorait la programmation. Et il était doué pour cela. En dehors des cours, il s'immergeait dans le monde des algorithmes, des structures de données et de la conception de systèmes.

Animesh est devenu si bon qu'il a réussi à décrocher un emploi convoité d'ingénieur logiciel chez Microsoft dès la fin de ses études.

J'ai longuement parlé avec Animesh, et il m'a exprimé ses opinions sur l'enseignement supérieur indien sans détour : "Chaque année, nous diplômons un grand nombre d'ingénieurs en informatique, mais seulement 15 à 20 % d'entre eux sont employables dans l'industrie des services informatiques. Et seulement 3 % d'entre eux sont employables dans les entreprises de produits informatiques, qui nécessitent une compréhension plus approfondie des concepts d'informatique comme les structures de données et les algorithmes."

"Avec le niveau actuel de l'enseignement en informatique, nous répondons davantage aux besoins de l'industrie en termes de quantité plutôt qu'en termes de qualité."

Et comme le destin l'a voulu, résoudre ce "problème de qualité" qu'Animesh avait identifié est devenu le principal objectif de sa vie.

Mais il ne s'en rendrait compte que près de 5 ans plus tard, après avoir suivi le mouvement chez Microsoft. Il était bon dans son travail, mais ce n'était pas sa vocation. C'était ce que la société voulait pour lui. Ce n'était pas ce qu'il voulait pour lui-même.

"D'abord, j'essayais de rendre mon père heureux en obtenant de bonnes notes et en décrochant un bon emploi. Ensuite, j'essayais de rendre mon manager au travail heureux en corrigeant 20 bugs logiciels par semaine. J'en avais marre de chercher la validation et de ne pas être connecté à mon moi intérieur. Je pensais que les gens me prendraient au sérieux si je leur disais que je travaillais pour Microsoft. Mais quelle est mon identité au-delà de cela ?"

Animesh a comparé sa situation à celle d'un singe qui avait mis sa main dans un bocal pour attraper des cacahuètes. Pour sortir sa main, il devait lâcher certaines des cacahuètes. Mais les instincts du singe l'empêchent de le faire, alors il reste là, coincé. (Et oui, c'est une méthode réelle utilisée pour piéger les singes.)

"Très souvent, dans la vie, nous nous comportons comme ces singes. Nous nous accrochons à quelque chose comme une source d'argent même lorsque cela nous rend misérables."

Mais travailler pour Microsoft lui a apporté du prestige et l'a rendu célèbre parmi sa famille élargie. Beaucoup de ses amis et parents qui avaient du mal à suivre des programmes d'informatique se sont tournés vers lui pour demander du mentorat. Ils espéraient reproduire le succès d'Animesh pour eux-mêmes. Et Animesh a fait de son mieux pour les aider.

"J'ai compris que la plupart d'entre eux n'avaient pas de bonnes bases, et qu'ils manquaient de ce que j'appellerais la compétence centrale en informatique - la programmation."

Il a vu ce que Salman Khan avait accompli grâce à ses vidéos de mathématiques sur Khan Academy, et a pensé qu'il pouvait faire quelque chose de similaire pour la programmation et l'informatique.

"Mon approche était de rendre un concept complexe d'informatique facile à comprendre avec un bon script. Je passais des semaines à réfléchir à la manière de simplifier et d'expliquer un algorithme de la meilleure façon possible."

En 2012, il a publié sa première leçon de 15 minutes sur YouTube.

"J'étais gêné d'entendre ma propre voix. Mais ma femme m'a encouragé, alors je l'ai publiée quand même. Étonnamment, peu de gens enseignaient l'informatique dans une langue facile à comprendre à l'époque. Ma vidéo se classait bientôt en tête pour une requête comme 'complexité temporelle'. Je me suis senti encouragé et j'en ai créé d'autres."

À la mi-2012, il avait publié plusieurs vidéos, et d'autres programmeurs ont commencé à le contacter pour collaborer. Mais Animesh avait une personne en particulier en tête – son ami de longue date et fellow diplômé de l'IIIT Allahabad, Harsha Suryanarayana.

Le Fou Modeste

Harsha n'était pas un simple diplômé en informatique sans emploi. C'était un programmeur compétitif légendaire. Il était bien connu non seulement sur le campus, mais aussi internationalement.

Image Harsha Suryanarayana

Voici quelques-unes des réalisations de Harsha :

  • Il a obtenu un score parfait à ses 3 examens ICSE.
  • Il a représenté l'Inde au Concours International de Programmation Universitaire de l'ACM.
  • Il a atteint le classement "rouge" sur Top Coder, et était le programmeur indien le mieux classé sur toute la plateforme de programmation compétitive.
  • Et il a été le premier Indien à se qualifier pour un Google Code Jam.

La réputation de Harsha était telle que ses amis le surnommaient "Lord Harsha".

Mais Harsha lui-même préférait un pseudonyme moins grand : "Humblefool".

Image Harsha (à gauche) aux finales mondiales de l'ACM ICPC

Animesh dit de Harsha : "J'avais aussi essayé la programmation compétitive, et mon classement n'était même pas la moitié du sien. Je me souviens avoir écrit un email et lui avoir parlé de MyCodeSchool en pensant qu'il serait trop occupé pour répondre."

Mais Harsha l'a appelé le lendemain. Et il était plein d'idées pour MyCodeSchool.

Au lieu de chercher un emploi dans une grande entreprise de logiciels comme Animesh l'avait fait, Harsha avait été occupé à organiser des bootcamps de programmation pour les étudiants en informatique. Et Harsha a invité Animesh à venir l'aider à en enseigner un.

"Ses bootcamps n'obtenaient pas le genre de réponse que j'attendais. Il parlait vraiment vite et supposait probablement que certains concepts et détails étaient trop triviaux pour être expliqués. Même s'il était le gars le plus gentil, beaucoup d'étudiants ne participaient pas et se sentaient trop stupides pour poser des questions. Harsha le sentait aussi, mais ne savait pas comment briser les barrières et changer son cadre de référence. Il devait réduire ses suppositions et établir un bon flux avec tout le monde dans la classe."

Et c'est là qu'Animesh a vu une opportunité. Il ne connaissait pas la moitié de l'informatique que Harsha connaissait. Mais il était doué pour décomposer les concepts et les expliquer. Il soupçonnait qu'ils pourraient former une équipe puissante. Et il a bientôt eu l'occasion de mettre cette hypothèse à l'épreuve.

Le Microsoft India Development Center voulait que Harsha et Animesh aident à former et à intégrer leurs nouvelles recrues. Harsha a créé les défis de codage et Animesh s'est concentré sur la présentation. Ils ont cherché des moyens de gamifier l'expérience, d'ajouter de l'humour et de faire travailler les étudiants en équipe.

Image Animesh (deuxième à droite) avec des participants de l'un de ses bootcamps

Leur bootcamp a reçu une ovation debout et de bonnes notes de la part des participants, et Microsoft voulait les embaucher pour plus de formations. C'était une excellente validation pour l'approche d'enseignement en équipe de Harsha et Animesh. Mais ils avaient des vues sur quelque chose de beaucoup plus grand que la formation d'entreprise.

Ils ont passé l'année suivante à enseigner la programmation compétitive. Ils ont enseigné ensemble un bootcamp de codage d'hiver.

Image Harsha enseignant au camp de codage d'hiver en 2013

Ils ont suivi ensemble un accélérateur de startups et ont lancé un site web, mycodeschool.com. Ils ont même embauché une équipe de stagiaires.

Image De gauche à droite : Animesh, les stagiaires Ashwin, Vishal, Lokesh et Shashank, et Harsha

"Nous avons beaucoup discuté de philosophie, et de la façon dont courir après l'argent n'était pas la meilleure façon de vivre. Notre approche pour créer une startup était assez détendue. Nous n'étions pas trop préoccupés par la levée de fonds ou la croissance rapide. Nous voulions simplement nous amuser avec ce que nous faisions."

Image L'équipe de MyCodeSchool jouant au laser tag

On Ne Réalise Jamais Qu'on Vit Une Renaissance Jusqu'à Ce Qu'elle Soit Terminée

"Je me souviens. C'était le 15 juin 2014. J'ai reçu un email de Microsoft nous invitant à organiser un autre bootcamp pour eux. Je voulais en discuter avec Harsha et je l'ai donc appelé ce soir-là. Il n'a pas répondu. Je l'ai appelé plusieurs fois, mais pas de réponse. Il me rappellerait bientôt comme il le faisait toujours, ai-je pensé."

Le lendemain matin, Animesh a reçu un appel d'un ami lui disant de vérifier les nouvelles locales.

Harsha et sa femme, Neha, traversaient la rue la nuit lorsqu'une voiture les a percutés. Neha était à l'hôpital et se remettrait finalement de ses blessures. Mais Harsha, non. Les médecins l'ont déclaré mort à son arrivée. Il n'avait que 32 ans.

"Quoi ? Es-tu sûr que c'est notre Harsha ?" se souvient Animesh. "Je ne pouvais pas le croire. Mais la nouvelle était vraie. J'étais dévasté."

Il y a eu immédiatement une vague de chagrin dans la communauté de la programmation compétitive.

Top Coder a dédié un match en son honneur.

Image TopCoder a dédié un match à la mémoire de Harsha. À l'époque, Harsha était le membre TopCoder le mieux classé dans la catégorie algorithmes en Inde.

Animesh a dit de son ami : "Harsha a choisi d'aller au paradis parce que Dieu avait besoin d'un programmeur de génie là-bas."

La Vie Après MyCodeSchool

Animesh a réfléchi à cette période de sa vie. "Les mois suivants ont été très difficiles. J'ai essayé de continuer, mais je me sentais seul, triste et submergé."

Animesh a décidé qu'il avait besoin d'un changement de rythme. Sa femme travaillait chez Google en Inde et a pu être mutée en interne aux États-Unis. "J'ai pensé, pourquoi pas. Ce pourrait être un bon changement. La Silicon Valley est un endroit vraiment excitant et j'ai toujours voulu l'expérimenter."

En quelques mois, Animesh avait reçu des offres de géants de la technologie comme Facebook. Aujourd'hui, il travaille en tant qu'ingénieur sur l'équipe de recherche de Google, travaillant sur les algorithmes des moteurs de recherche Google et YouTube.

En parlant avec Animesh, assis à sa table de cuisine, entouré de sa famille, il m'a dit : "Je suis maintenant père de 2 enfants merveilleux et la vie est bonne. Mais il y a une force qui crée un conflit intérieur en moi. Chaque jour, je reçois des emails dans ma boîte de réception me remerciant pour MyCodeSchool et me demandant pourquoi je ne crée plus de vidéos."

"Je ne sais pas quoi dire. Je veux revenir à l'enseignement, mais c'est juste difficile. Je veux consacrer beaucoup de temps à mes enfants et il n'est pas possible de revenir à cela à moins de quitter mon emploi régulier et de le faire à plein temps. Cette force grandit chaque jour. Peut-être qu'elle me ramènera à ma passion pour l'enseignement un jour. Je ne sais pas encore."

Puis les pensées d'Animesh reviennent à Harsha, et il se souvient d'une conversation qu'ils ont eue. "J'étais l'entrepreneur typique et je lui demandais de penser à l'échelle afin que nous puissions atteindre beaucoup plus de monde. Et il a dit quelque chose d'intéressant. Peut-être pouvons-nous simplement inspirer quelques personnes à enseigner, et elles pourront en inspirer quelques autres à enseigner et la chaîne grandira. Nous avons besoin de beaucoup trop d'enseignants motivés, et cela ne peut pas être juste nous de toute façon. C'est comme être une bougie qui peut en allumer d'autres. Quelque chose nous a inspirés, à nous deux, et a mis cette lumière en nous. Nous n'étions pas les premiers et nous ne serons pas les derniers. Nous ne sommes que les maillons intermédiaires de cette chaîne."

L'Esprit de MyCodeSchool Vit Dans la Communauté freeCodeCamp

Je me demande souvent ce qui se serait passé si Harsha était encore avec nous, et s'il et Animesh expérimentaient encore de nouvelles façons d'enseigner la programmation et l'informatique.

Une chose est sûre : nous nous souviendrons du travail de Harsha et Animesh, du temps qu'ils ont passé ensemble, et des cours révolutionnaires qui en ont résulté.

Je parle au nom de nombreux enseignants lorsque je dis que leur travail m'a inspiré, et que des communautés comme freeCodeCamp n'existeraient pas sans la vision de ces pionniers.

Animesh m'a donné la permission de publier plusieurs anthologies de certaines des meilleures explications d'algorithmes et de structures de données de MyCodeSchool sur la chaîne YouTube de freeCodeCamp. À partir de décembre, nous publierons plusieurs cours complets dérivés des archives de cours d'informatique de MyCodeSchool.

Je suis honoré d'aider à faire découvrir l'enseignement de ces deux enseignants légendaires à un nouveau public de développeurs en herbe.

Pour conclure, je veux partager cette anecdote qu'Animesh a mentionnée lors de mes conversations avec lui :

Un étudiant, conscient du génie de Harsha, lui a demandé pourquoi il choisissait de passer tout son temps à enseigner aux autres.

Harsha a réfléchi un moment et a dit : "J'ai toujours aimé les histoires où un outsider gagne. Je veux simplement faire partie de l'une de ces histoires."