La storia di MyCodeSchool: tragedia, trionfo e due amici che hanno cambiato per sempre l'educazione dei programmatori

Ho iniziato a imparare a programmare nel 2012. E c'era un canale YouTube che tutti i miei amici usavano per imparare algoritmi e strutture dati: MyCodeSchool.

Pochi minuti dopo aver guardato MyCodeSchool, potresti immediatamente dire che:

  1. Questi sviluppatori erano davvero appassionati di informatica. E
  2. Erano eccezionalmente bravi nell'insegnarlo.

A quel tempo, ero un insegnante di 31 anni che cercava di ottenere il mio primo lavoro come ingegnere del software. E come la maggior parte delle persone, ho guardato i video. Ho preso appunti. E alla fine sono andato per la mia strada allegra.

Solo anni dopo ho notato che MyCodeSchool aveva smesso di pubblicare video. E ho scoperto il tragico motivo per cui.

Più approfondivo, più mi rendevo conto di quanto fosse importante questa storia. E ora condividerò quella storia.

Condividerò anche con voi alcune foto e approfondimenti mai pubblicati prima dei primi giorni di MyCodeSchool.

Ogni sviluppatore dovrebbe imparare questa storia di amicizia tra questi due insegnanti e come essi, per un breve periodo, hanno preso d'assalto il mondo della programmazione.

Questa storia è triste. Ma è anche stimolante. E mi sento onorato di trasmetterlo a te.

Ecco come Harsha e Animesh hanno impiegato decenni di saggezza informatica e l'hanno reso facilmente accessibile a milioni di studenti in tutto il mondo.

La scimmia con la mano bloccata in un barattolo

Animesh Nayan era uno studente mediocre che frequentava raramente le lezioni. Era un "ultimo bencher" che poteva passare la scuola solo perché i suoi amici lo coprivano quando i suoi professori prendevano la frequenza.

Ma Animesh amava la programmazione. Ed era bravo in questo. Al di fuori delle sue lezioni, si è immerso nel mondo degli algoritmi, delle strutture dati e della progettazione dei sistemi.

Animesh è diventato così bravo, infatti, che è stato in grado di ottenere un ambito lavoro come ingegnere del software presso Microsoft fin dalla scuola.

Ho parlato a lungo con Animesh e mi ha spiegato le sue opinioni sull'istruzione superiore indiana senza mezzi termini: "Ogni anno diplomiamo un gran numero di ingegneri informatici, ma solo il 15-20% di loro è impiegabile nel settore dei servizi abilitati dall'IT. E solo il 3% di essi è utilizzabile in aziende di prodotti IT, che richiedono una comprensione più approfondita dei concetti di informatica come strutture dati e algoritmi ".

"Con l'attuale standard di educazione informatica, ci rivolgiamo al settore più in termini di quantità e meno in termini di qualità".

E come voleva il destino, affrontare questo "problema di qualità" che Animesh aveva identificato sarebbe diventato il fulcro della sua vita.

Ma non se ne sarebbe accorto fino a quasi 5 anni dopo, dopo aver seguito le mozioni in Microsoft. Era bravo nel suo lavoro, ma non era la sua vocazione. Questo era ciò che la società voleva per lui. Non era quello che voleva per se stesso.

"Prima stavo cercando di rendere felice mio padre ottenendo buoni voti e ottenendo un buon lavoro. Poi stavo cercando di rendere felice il mio manager al lavoro correggendo 20 bug del software in una settimana. Ero stanco di cercare convalida e non essere connesso al mio io interiore. Ho pensato, le persone mi prendono sul serio se dicessi loro che lavoro per Microsoft. Ma qual è la mia identità oltre a questo? "

Animesh ha paragonato la sua situazione a una scimmia che aveva raggiunto un barattolo per afferrare delle noccioline. Per tirare fuori la mano, ha dovuto lasciare andare alcune noccioline. Ma l'istinto della scimmia gli impedisce di farlo, quindi rimane lì, bloccato. (E sì, questo è un metodo di vita reale utilizzato per intrappolare le scimmie.)

"Molto spesso, quando si tratta della vita, ci comportiamo come queste scimmie. Ci aggrappiamo a qualcosa di simile a una fonte di denaro anche quando ci rende infelici".

Ma lavorare per Microsoft gli ha dato prestigio e lo ha reso famoso nella sua famiglia allargata. Molti dei suoi amici e parenti che stavano lottando con programmi di informatica lo hanno contattato chiedendogli un tutoraggio. Speravano di riprodurre da soli il successo di Animesh. E Animesh ha fatto del suo meglio per aiutarli.

"Ho capito che la maggior parte di loro non ha dei buoni fondamenti, e manca di quella che chiamerò l'abilità di base dell'informatica: la programmazione".

Ha visto ciò che Salman Khan aveva realizzato attraverso i suoi video di matematica alla Khan Academy e ha pensato di poter fare qualcosa di simile per la programmazione e l'informatica.

"Il mio approccio era quello di rendere un concetto complesso di informatica facile da capire con una buona sceneggiatura. Trascorrevo settimane a pensare a come semplificare e spiegare un algoritmo nel miglior modo possibile".

Nel 2012 pubblica la sua prima lezione di 15 minuti su YouTube.

"Mi sentivo in imbarazzo ad ascoltare la mia voce. Ma mia moglie mi ha incoraggiato, quindi l'ho pubblicato lo stesso. Sorprendentemente, allora non molte persone insegnavano informatica in un linguaggio di facile comprensione. Il mio video è stato presto classificato al primo posto per una query come" complessità temporale ". Mi sono sentito incoraggiato e ho creato altri video".

A metà del 2012, aveva pubblicato diversi video e altri programmatori iniziarono a mettersi in contatto per collaborare. Ma Animesh aveva gli occhi puntati su un programmatore in particolare: il suo amico di lunga data e collega laureato alla IIIT Allahabad, Harsha Suryanarayana.

L'umile sciocco

Harsha non era un normale laureato in informatica disoccupato. Era un leggendario programmatore competitivo. Era famoso non solo nel campus, ma a livello internazionale.

Ecco alcuni dei risultati di Harsha:

  • Ha ottenuto un punteggio perfetto in tutti e 3 i suoi esami ICSE.
  • Ha rappresentato l'India all'ACM's International Collegiate Programming Contest.
  • Ha raggiunto la classifica "rossa" su Top Coder ed è stato il programmatore indiano con il punteggio più alto sull'intera piattaforma di programmazione competitiva.
  • Ed è stato il primo indiano in assoluto a qualificarsi per un Google Code Jam.

La reputazione di Harsha era tale che i suoi amici lo chiamavano "Lord Harsha".

Ma lo stesso Harsha preferì optare per una maniglia meno grandiosa: "Humblefool".

Animesh dice di Harsha: "Avevo provato anche la programmazione competitiva, e la mia valutazione non era nemmeno la metà della sua. Ricordo di aver scritto un'e-mail e di avergli parlato di MyCodeSchool e di aver pensato che sarebbe stato troppo impegnato per rispondere."

Ma Harsha lo chiamò il giorno successivo. Ed era pieno di idee per MyCodeSchool.

Invece di trovare un lavoro in una grande azienda di software come aveva fatto Animesh, Harsha era stato impegnato a condurre bootcamp di programmazione per studenti di informatica. E Harsha invitò Animesh a venire ad assisterlo nell'insegnarne uno.

"I suoi campi di addestramento non ricevevano il tipo di risposta che mi aspettavo. Parlava molto velocemente e probabilmente pensava che alcuni concetti e dettagli fossero troppo banali per preoccuparsi di spiegarli. Anche se era il ragazzo più gentile, molti studenti non partecipavano e si sentivano anche loro stupido fare domande. Anche Harsha lo sapeva, ma non sapeva come rompere le barriere e cambiare il suo quadro di riferimento. Aveva bisogno di abbassare le sue supposizioni e di entrare in sintonia con tutti i presenti ".

Ed è qui che Animesh ha visto un'opportunità. Non conosceva metà dell'informatica che conosceva Harsha. Ma era bravo a scomporre i concetti e spiegarli. Sospettava che potessero renderli una squadra potente. E presto ha avuto la possibilità di mettere alla prova questa ipotesi.

Il Microsoft India Development Center voleva che Harsha e Animesh aiutassero a formare e assumere i nuovi assunti. Harsha ha creato le sfide di codifica e Animesh si è concentrato sulla presentazione. Hanno cercato modi per rendere ludica l'esperienza, aggiungere umorismo e convincere gli studenti a lavorare in team.

Il loro bootcamp ha ottenuto una standing ovation e un punteggio elevato da parte dei partecipanti, e Microsoft voleva assumerli per ulteriore formazione. È stata una grande convalida per l'approccio didattico basato sul team di Harsha e Animesh. Ma avevano gli occhi puntati su qualcosa di molto più grande della formazione aziendale.

Trascorsero l'anno successivo insegnando programmazione competitiva. Hanno insegnato insieme un bootcamp di programmazione invernale.

Hanno esaminato insieme un acceleratore di avvio e hanno lanciato un sito Web, mycodeschool.com. Hanno persino assunto una squadra di stagisti.

"Abbiamo discusso molto di filosofia e di come inseguire solo i soldi non fosse il modo migliore per vivere la vita. Il nostro approccio alla creazione di una startup era piuttosto rilassato. Non eravamo troppo preoccupati di raccogliere fondi o crescere velocemente. Volevamo solo farlo. divertiti con qualunque cosa stessimo facendo. "

Non ti rendi mai conto di vivere nel Rinascimento finché non è finito

"Ricordo. Era il 15 giugno 2014. Ho ricevuto un'e-mail da Microsoft che ci invitava a condurre un altro bootcamp per loro. Volevo discuterne con Harsha e così l'ho chiamato quella sera. Non ha risposto. L'ho chiamato qualche volta, ma nessuna risposta. Mi richiamerebbe presto come fa sempre, ho pensato. "

La mattina dopo, Animesh ha ricevuto una chiamata da un amico che gli diceva di controllare le notizie locali.

Harsha e sua moglie Neha stavano attraversando la strada di notte quando un'auto si è schiantata contro di loro. Neha era in ospedale e alla fine si sarebbe ripresa dalle ferite. Ma Harsha no. I medici lo hanno dichiarato morto all'arrivo. Aveva solo 32 anni.

"Cosa? Sei sicuro che sia il nostro Harsha?" Ricorda Animesh. "Non potevo crederci. Ma la notizia era vera. Ero devastato."

C'è stata un'immediata manifestazione di dolore nella comunità dei programmatori competitivi.

Top Coder ha dedicato una partita in suo onore.

Animesh ha detto del suo amico a: "Harsha ha scelto di andare in paradiso perché Dio aveva bisogno di un programmatore geniale lì".

La vita dopo MyCodeSchool

Animesh ha riflettuto su quel periodo della sua vita. "I mesi successivi furono molto duri. Ho cercato di continuare, ma mi sono sentito solo, triste e sopraffatto".

Animesh ha deciso che aveva bisogno di un cambio di ritmo. Sua moglie lavorava per Google in India ed è stata in grado di trasferirsi internamente negli Stati Uniti. "Ho pensato, perché no. Questo potrebbe essere un buon cambiamento. La Silicon Valley è un posto davvero eccitante e ho sempre voluto viverlo."

Nel giro di pochi mesi, Animesh aveva ricevuto offerte da giganti della tecnologia come Facebook. Oggi lavora come ingegnere nel team di ricerca di Google, lavorando sugli algoritmi dei motori di ricerca di Google e YouTube.

Parlando con Animesh mentre sedeva al tavolo della sua cucina, circondato dalla sua famiglia, mi ha detto: "Sono un padre di 2 bambini meravigliosi ora e la vita è bella. Ma c'è una forza che continua a creare un conflitto interiore in me. Ogni giorno, ricevo messaggi di posta elettronica nella mia casella di posta in cui mi ringraziano per MyCodeSchool e mi chiedono perché non creo più video ".

"Non so cosa dire. Voglio tornare a insegnare, ma è solo difficile. Voglio dedicare molto tempo ai miei figli e non è possibile tornare indietro a meno che non lasci il mio lavoro regolare e lo faccia a tempo pieno. Questa forza cresce ogni giorno. Forse mi ricondurrà alla mia passione per l'insegnamento ancora una volta. Non lo so ancora ".

Quindi i pensieri di Animesh tornano ad Harsha, e ricorda una conversazione che avevano avuto. "Ero il tipico imprenditore e gli chiedevo di pensare a ridimensionare in modo che potessimo raggiungerne molti di più. E ha detto qualcosa di interessante. Forse possiamo solo ispirare alcune persone a insegnare, e loro possono ispirare poche altre a insegnare e la catena lo farebbe crescere. Abbiamo bisogno di troppi insegnanti motivati, e comunque non possiamo essere solo noi. È come essere una candela che può accendere altre candele. Qualcosa ha ispirato noi due e ha messo quella luce in noi. Non eravamo il primi e non saremo gli ultimi. Siamo solo gli anelli intermedi di questa catena ".

Lo spirito di MyCodeSchool vive nella community freeCodeCamp

Mi chiedo spesso cosa sarebbe successo se Harsha fosse ancora con noi e se lui e Animesh stessero ancora sperimentando nuovi modi di insegnare la programmazione e l'informatica.

Una cosa è certa: ricorderemo il lavoro di Harsha e Animesh, il tempo trascorso insieme e i corsi innovativi che ne sono derivati.

Parlo a nome di molti insegnanti quando dico che il loro lavoro mi ha ispirato e che comunità come freeCodeCamp non esisterebbero senza la visione di questi pionieri.

Animesh mi ha dato il permesso di pubblicare diverse antologie di alcuni dei migliori algoritmi e spiegazioni della struttura dati di MyCodeSchool sul canale YouTube di freeCodeCamp. A partire da dicembre pubblicheremo diversi corsi integrali derivati ​​dall'archivio dei corsi di informatica di MyCodeSchool.

Sono onorato di contribuire a portare l'insegnamento di questi due leggendari insegnanti a un nuovo pubblico di aspiranti sviluppatori.

In chiusura, voglio condividere questo aneddoto menzionato da Animesh nelle mie conversazioni con lui:

Uno studente, consapevole del genio di Harsha, gli ha chiesto perché ha scelto di trascorrere tutto il suo tempo insegnando agli altri.

Harsha ci ha pensato per un po 'e ha detto: “Mi sono sempre piaciute le storie in cui vince un perdente. Voglio solo far parte di una di quelle storie. "