Article original : From High School Dropout to Managing 25 Employees: The Hardest Decade of My Life

Je suis une personne assez privée. Mais au cours des 5 dernières années, les gens m'ont posé beaucoup de questions personnelles. Ils ont même créé une catégorie entière à mon sujet sur Quora.

J'ai répondu à la plupart de ces questions au fil des ans. Mais il y a une période entière de ma vie dont je n'ai jamais parlé auparavant.

Principalement parce que je ne veux pas que les enfants qui lisent ceci pensent : "Je devrais abandonner l'école" ou "Je devrais m'enfuir de la maison et vivre dans la rue." S'il vous plaît, ne faites pas ces choses.

La raison pour laquelle je partage cela maintenant est de vous montrer que j'ai fait des erreurs.

Vous n'avez pas à laisser la colère ou le nihilisme vous consumer, comme j'ai failli le faire. Tant qu'il y a de la vie, il y a encore du potentiel.

Alors, oui – j'ai abandonné le lycée.

Oui – les choses sont devenues si mauvaises que j'ai passé un an à dormir dans ma voiture, sur les parkings de Walmart autour d'Oklahoma City.

Oui – j'ai réussi à retourner ma vie – obtenir un GED tout en travaillant chez Taco Bell, et obtenir un diplôme d'une école pour travailleurs.

Oui – j'ai finalement travaillé comme reporter, déménagé en Chine pendant plusieurs années, et suis devenu directeur d'école, gérant 25 employés.

Et oui – tout cela s'est passé dans la même décennie.

La décennie la plus longue et la plus difficile de ma vie.

L'animateur de Software Engineering Daily, Jeff Meyerson, m'a interviewé longuement sur mon passé. Au cours de notre conversation de 2 heures, nous avons exploré les années qui ont précédé mon apprentissage de la programmation et la construction de la première version de freeCodeCamp.

J'ai intégré le podcast ci-dessous, ainsi que la transcription complète. Mais d'abord, voici la partie où je décris cette période de ma vie.

Équilibre ponctué

Je pense que chaque enfant ayant grandi à Oklahoma City dans les années 1990 peut comprendre à quel point l'attaque terroriste a été dévastatrice. Non seulement pour les familles de toutes les personnes décédées, mais pour tous ceux qui ont ressenti le grondement de l'explosion alors qu'elle déchirait la ville.

Pour moi, ce fut la fin de l'innocence.

Voici comment j'ai décrit l'événement lors de l'interview de Jeff :

Le jour où mon enfance s'est terminée était le 19 avril 1995. J'étais à Oklahoma City, à 9h02. J'étais dans mon cours de sciences et soudainement tous les bécher ont commencé à trembler et toutes les tables ont commencé à trembler. Et je n'avais jamais vécu de tremblement de terre auparavant, mais nous avons simplement supposé que c'était un tremblement de terre.

Tous les étudiants, le professeur, tout le monde a regardé autour et s'est regardé les uns les autres. Nous avons vu la pièce trembler et nous ne savions pas ce qui s'était passé. Quelques minutes plus tard, nous avons découvert ce qui s'était passé.

Il y avait un bâtiment dans le centre-ville d'Oklahoma City et un terroriste avait garé un camion devant, rempli d'engrais. Et il l'a fait exploser et a tué 168 personnes, dont 19 bébés qui se trouvaient dans une nurserie au rez-de-chaussée.

Donc pour moi, ce fut un énorme choc. Je suis passé d'un enfant typique de la classe moyenne en Amérique centrale à commencer à remettre en question la réalité, et comment nous en sommes arrivés à ce point où quelque chose comme cela n'a pas été arrêté.

Puis en regardant le chaos qui a suivi, en regardant comment les gens autour de moi ont réagi. J'avais une camarade de classe qui a perdu son père. Cette expérience m'a vraiment réveillé. À partir de ce moment, je ne pouvais plus vraiment regarder la réalité de la même manière.

Mes notes et ma situation familiale à la maison se sont rapidement détériorées.

Après des années de malheur, j'ai pris une série de décisions dramatiques.

Mon père était un disciplinaire strict, et nous nous battions toujours. Un jour, alors que j'étais en deuxième année de lycée, j'en ai eu assez de me battre avec lui. Ma grand-mère venait de mourir et j'avais hérité de sa berline Ford Taurus blanche de 1986. J'ai pris toutes mes affaires et les ai jetées dans la voiture et je suis simplement parti.

J'ai passé l'année suivante de ma vie à vivre dans ma voiture. À rester dans les parkings de Walmart la nuit où il y avait de la lumière.

Au début, je continuais à aller au lycée. Mais un jour, j'étais à la cafétéria et j'ai vu un homme de mon église qui avait été une grande inspiration pour moi. Il se portait toujours volontaire pour diriger l'école du dimanche, et j'étais vraiment bon ami avec son enfant.

Il avait un diplôme universitaire et avait travaillé pendant des décennies. Mais je l'ai vu dans la cafétéria avec un filet à cheveux, servant de la nourriture. Et il avait été réduit à faire cela pour pouvoir subvenir aux besoins de sa famille.

Et à ce moment-là, j'ai simplement – dans cet instant, je suis devenu désillusionné par l'école et j'ai décidé d'abandonner.

Donc je vivais dans ma voiture, et je suis simplement allé à la bibliothèque tous les jours où il faisait chaud et j'ai tourné entre toutes les différentes bibliothèques autour d'Oklahoma City. Lire des livres et simplement réfléchir beaucoup. Puis me garer dans le parking de Walmart et aller dormir.

La vie en tant qu'abandon scolaire vivant dans ma voiture était difficile. La gravité de la situation m'a frappé rapidement.

Mes économies de ces étés à tondre des pelouses se sont évaporées. Je n'avais aucune compétence utile. J'avais brûlé la plupart de mes ponts.

Je ne pouvais plus ignorer mes problèmes et essayer de vivre dans les livres ou dans ma propre tête.

Je devais trouver comment joindre les deux bouts pour survivre.

Finalement, j'avais besoin d'argent pour acheter de la nourriture et des trucs. Donc j'ai obtenu un emploi chez Taco Bell. Mon manager était ce gars costaud nommé Duke qui avait un tatouage très visible du drapeau confédéré sur son bras que son uniforme ne couvrait pas.

Chaque fois que les affaires étaient calmes, je courais simplement à l'arrière-boutique, je préparais un burrito rapidement et le mangeais. Et je réfléchissais simplement à ma vie et à où les choses allaient et à ce que j'allais faire. Je n'avais vraiment aucune idée, mais j'ai décidé que je devrais probablement aller à l'école si je ne voulais pas finir comme Duke ici.

Donc j'ai passé le GED et je me suis inscrit dans l'université d'État la moins chère que j'ai pu trouver. Et j'ai échangé mon emploi chez Taco Bell contre un travail dans différents journaux de la ville tout en étudiant les arts libéraux.

Je courais simplement avec mon bloc-notes et interviewais des personnes dans différentes positions de pouvoir. Il y avait un groupe de riches homeschoolers dans la ville et je me rendais simplement chez eux pour leur enseigner. Ce fut ma première expérience avec l'enseignement.

Ces premières années de travail en tant que reporter m'ont aidé à poser de meilleures questions et à mieux comprendre le fonctionnement du monde.

Le doyen du département des arts libéraux m'a pris sous son aile. Il m'a parlé de son séminaire hebdomadaire sur invitation avec des étudiants internationaux du monde entier.

Apprendre la vie dans d'autres pays – directement des personnes elles-mêmes – m'a vraiment ouvert les yeux.

Le monde était bien plus grand qu'Oklahoma City.

À l'époque où j'ai obtenu mon diplôme, je savais déjà où se produisait le grand changement. C'était le début des années 2000 et il n'y avait qu'une seule destination qu'une personne ambitieuse rechercherait, et c'était la Chine.

La Chine traversait un état historique d'hypercroissance où plus de 300 millions de personnes passaient de l'agriculture de subsistance à des emplois de classe moyenne dans le secteur des services. Je voulais comprendre cela.

Donc j'ai trouvé un programme de troisième cycle international où je pouvais aller étudier avec un groupe de Chinois. Je suis monté dans un avion et je suis allé à Tianjin.

Je ne connaissais personne là-bas. J'étais le seul Occidental sur un campus de 20 000 personnes. J'avais un groupe d'étudiants coréens en commerce international qui partageaient une chambre avec moi, et je me suis mis au travail pour apprendre le chinois et en apprendre le plus possible sur la Chine.

Après 4 ans d'études et de travail en tant qu'enseignant en Chine, ma femme – une camarade de classe – a obtenu son visa pour les États-Unis. Nous sommes retournés à Oklahoma City.

J'avais 26 ans. J'étais le plus jeune directeur d'école du système scolaire, et j'apprenais comment diriger une école et comment...

Jeff: Comment en es-tu arrivé là ? Comment as-tu obtenu ce travail ? Comment as-tu obtenu le poste de plus jeune directeur d'école dans un système scolaire ?

Moi: Eh bien, lorsque je suis immédiatement revenu de Chine, j'ai travaillé dans un magasin de proximité et j'essayais de trouver n'importe quel emploi axé sur l'éducation internationale.

J'ai trouvé cette école qui était un programme intensif d'anglais sur un campus universitaire, et j'ai fait tout ce qui était en mon pouvoir pour obtenir ce travail. J'ai appris tout ce que je pouvais sur les personnes qui y travaillaient. J'ai appris tout ce que je pouvais sur l'histoire de l'organisation, et je suis entré là-bas comme une encyclopédie ambulante et parlante, et contre toute attente, j'ai réussi à obtenir ce travail.

Je me souviens avoir passé des entretiens pendant environ six heures à trois occasions différentes, car la directrice était – elle était sceptique quant à ma capacité à le faire, car je n'avais aucune expérience réelle en gestion.

L'expérience d'enseignement que j'avais était principalement l'enseignement à des homeschoolers et l'enseignement à des ingénieurs brésiliens en Chine. Je leur apprenais à utiliser l'anglais, car il y avait simplement d'énormes groupes de personnes se rendant en Chine pour pouvoir participer au grand boom économique que la Chine connaissait.

Donc, j'enseignais à tous ces expatriés comment parler anglais et j'enseignais aux Chinois comment parler anglais, et donc mon expérience d'enseignement était assez limitée. Je n'avais pas de maîtrise en éducation ou en enseignement de l'anglais comme langue seconde ou quelque chose de similaire. Donc, j'ai vraiment dû compenser tout cela en passant des entretiens extrêmement bien et en étant extrêmement compétent.

Donc, c'est là que j'ai appris à gérer les gens. Je ne gérais pas seulement les enseignants - je gérais aussi d'autres administrateurs. Je gérais les séjours à domicile. En gros, des personnes qui ouvrent leurs maisons pour accueillir des étudiants de l'étranger.

Nous avions beaucoup d'étudiants de Chine, du Japon, de Corée, d'Arabie Saoudite, du Brésil, et d'Europe, et je devais travailler directement avec ces parents et résoudre beaucoup de problèmes. Je devais travailler avec des agences qui voulaient placer des étudiants aux États-Unis. Je devais travailler avec le gouvernement américain et le département de l'immigration et faire une quantité incroyable de paperasse et essentiellement garder cette école en fonctionnement.

Je suis passé de la gestion de zéro personne à la gestion de 25 personnes du jour au lendemain lorsque j'ai obtenu ce travail.

C'était une décennie folle. Et ce que je vous ai partagé ici n'est que quelques minutes de l'interview du podcast. Jeff et moi avons parlé de beaucoup d'autres choses aussi. Y compris où freeCodeCamp se dirige en 2020.

Vous pouvez écouter l'interview complète ici (140 minutes d'écoute) :

Ou vous pouvez l'écouter sur le site web de Software Engineering Daily (avec des options pour l'ouvrir dans divers lecteurs de podcast).

Je tiens à remercier Jeff de m'avoir invité à revenir sur son podcast, et pour ses questions réfléchies. À ce stade, il a interviewé près de 1 000 développeurs dans son émission. Je vous encourage fortement à vous abonner.

Voici la transcription complète de l'interview.

Jeff: freeCodeCamp a été créé il y a cinq ans avec pour objectif de fournir une éducation gratuite en programmation à quiconque sur Internet. freeCodeCamp est devenu le meilleur endroit pour commencer à apprendre à écrire des logiciels.

Il existe de nombreux autres endroits qu'un ingénieur logiciel devrait visiter lors de son parcours éducatif, mais freeCodeCamp est le meilleur endroit pour commencer, car il est gratuit et il n'y a pas de publicités.

Pour la plupart des gens qui apprennent à coder, le prix de cette éducation est très important, car ils apprennent à coder pour construire une nouvelle carrière. Beaucoup de gens apprennent à coder parce qu'ils n'ont pas d'argent.

Il est également important qu'un nouveau programmeur apprenne d'une source d'information impartiale, car un environnement soutenu par la publicité éduquera le nouveau programmeur vers des produits dont il n'a peut-être pas besoin.

freeCodeCamp n'a pas été facile à construire. La construction de freeCodeCamp a nécessité une expertise en ingénierie logicielle, en affaires, en médias et en développement communautaire.

Le modèle économique basé sur les dons de freeCodeCamp ne collecte pas beaucoup d'argent. Pourquoi quelqu'un créerait-il une organisation à but non lucratif alors qu'il pourrait passer son temps à construire une entreprise logicielle très rentable ?

Quincy Larson est le fondateur de freeCodeCamp, et il rejoint l'émission pour un épisode spécial sur son histoire et le parcours de construction du meilleur endroit sur Internet pour qu'un nouveau programmeur commence.

C'était un épisode agréable pour moi, car je suis ami avec Quincy. J'ai passé beaucoup de temps avec lui, mais je ne savais vraiment rien de son passé.

Si vous y réfléchissez, c'est assez intéressant que quelqu'un crée une organisation à but non lucratif avec sa collection de compétences. Alors pourquoi quelqu'un ferait-il cela ? Eh bien, la réponse est dans cette interview, car il a un passé très distinctif avec beaucoup de hauts et de bas.

Apprendre l'histoire de Quincy m'a aidé à comprendre en beaucoup plus de détails pourquoi il a construit freeCodeCamp et les propriétés médiatiques associées de freeCodeCamp. Ils ont une chaîne YouTube très populaire, un podcast populaire, et je recommande de vérifier ces ressources.

Merci à Quincy d'être venu dans l'émission, et j'espère que vous apprécierez cette interview avec lui.

[00:04:05] Jeff: Quincy Larson, bienvenue à nouveau sur Software Engineering Daily.

[00:04:08] Quincy: Merci, Jeff. C'est un honneur et je pense qu'il s'est écoulé environ quatre ans et demi depuis que j'ai été sur Software Engineering Daily.

[00:04:14] Quincy: Eh bien, cela fait un moment que vous n'êtes venu que pour parler de cela. Nous avons eu quelques émissions aléatoires. Vous étiez avec Haseeb. Nous avons un peu parlé de la neutralité du net.

Nous avons eu quelques discussions aléatoires, mais nous n'avons pas parlé de votre magnum opus depuis un moment, qui est freeCodeCamp, sauf lorsque vous venez à San Francisco, ou lorsque vous vivez ici à San Francisco, et que nous faisons des footings, ou que nous parlons longuement dans certains contextes, en mangeant des tacos ou autre, de ce que vous construisez.

L'une des raisons pour lesquelles je pense que vous et moi avons tendance à bien nous entendre et à toujours avoir beaucoup de choses à nous dire est que vous et moi construisons des organisations qui ne rentrent pas dans de nombreux cadres conventionnels.

Il existe ces types d'organisations qui ne sont rendues possibles que par les dynamiques de l'Internet, les dynamiques émergentes de l'Internet, et nous travaillons tous les deux sur des plateformes qui créent essentiellement et diffusent des informations sur l'Internet. Je pense que ces deux choses sont étroitement liées, car nous sommes enthousiastes à propos de l'Internet et de son potentiel, et c'est ce qui alimente une grande partie de la passion derrière nos deux projets.

Donc, freeCodeCamp, pour ceux qui ne le savent pas, est gigantesque. Il aide énormément de gens. Comme vous l'avez dit, nous avons fait une émission il y a quatre ans où nous avons parlé de la rubrique de base de freeCodeCamp, mais nous allons évidemment entrer dans l'architecture et la vision de celui-ci en beaucoup plus de détails dans cette émission. Nous allons faire une conversation longue et discursive.

Pour poser les bases de cela, une chose que je veux comprendre est la suivante : freeCodeCamp est-il une entreprise ou une entreprise philanthropique ?

[00:06:16] Quincy: freeCodeCamp est une organisation à but non lucratif 501(c)(3), soutenue par des donateurs, exonérée d'impôts. C'est donc une œuvre de bienfaisance publique. La même désignation que la Croix-Rouge, Médecins Sans Frontières, que beaucoup de ces autres grandes organisations multinationales non gouvernementales. Donc je la qualifierais de charité.

[00:06:38] Jeff: Il existe des œuvres de bienfaisance qui sont extrêmement rentables. Il y en a très peu, comme Mozilla, par exemple. Préféreriez-vous que freeCodeCamp soit une plateforme basée sur les dons, à la Wikipedia, ou quelque chose de plus proche de Mozilla, où c'est une organisation à but non lucratif, mais qui se trouve être rentable ?

[00:07:01] Quincy: Mozilla est un cas vraiment intéressant, et d'après ce que je comprends, c'est presque une organisation à but non lucratif qui a englouti une entreprise à but lucratif beaucoup, beaucoup plus grande, comme Firefox. Je pense que Yahoo donnait à Mozilla des centaines de millions de dollars par an pour utiliser la recherche Yahoo comme navigateur par défaut au lieu de Google, par exemple.

Mozilla est intéressant parce qu'ils sont si grands parce qu'ils sont presque une couverture contre les tendances plus monopolistiques de Google. Donc je ne sais pas si Mozilla est un modèle qui peut être facilement reproduit par d'autres organisations à but non lucratif.

[00:07:39] Jeff: Lorsque vous avez décidé de construire freeCodeCamp, vous faites quelque chose sans beaucoup de précédent, mais vous étiez très confiant que cela fonctionnerait. D'où avez-vous tiré cette confiance ?

[00:07:55] Quincy: Eh bien, je n'étais pas super confiant initialement lorsque j'ai lancé freeCodeCamp. Mais après que les gens soient restés...

Donc, l'histoire brève de freeCodeCamp, et je peux aller beaucoup plus loin dans mon histoire personnelle plus tard, ce que je pense être pertinent. Je n'ai jamais vraiment parlé de cela auparavant. Mais c'est le cinquième anniversaire de freeCodeCamp. Je pense que c'est aussi bon moment que n'importe quel autre pour moi d'explorer cela.

Mais juste pour répondre à votre question rapidement. Après que les gens aient commencé à rester sur freeCodeCamp et après qu'ils aient commencé à progresser dans leur programme et à obtenir des emplois de développeurs. Ensuite, dans mon esprit, cela est devenu un modèle prouvé. Parce que les gens étaient capables, sans dépenser d'argent, sans même quitter leur emploi ou faire quoi que ce soit de dramatiquement différent de ce qu'ils faisaient déjà, en passant simplement une heure par jour à coder par eux-mêmes, ils étaient capables de changer de carrière.

Une fois que nous avons vu beaucoup de gens faire cela, il est devenu clair que c'était un modèle reproductible et que nous pouvions le développer.

[00:08:51] Jeff: Décrivez comment votre perspective a changé lorsque vous avez commencé à obtenir une traction significative avec freeCodeCamp.

[00:09:02] Quincy: Eh bien, nous avons immédiatement su que nous pouvions aider beaucoup plus de gens que nous ne le faisions si nous continuions à développer les choses. Nous aurions pu le garder petit. Et il y a beaucoup moins de risques à simplement le garder petit.

C'est l'équivalent de l'assemblage manuel de choses par des Ph.D. dans un environnement de type salle blanche.

Ou nous aurions pu aller beaucoup plus loin et essayer d'aider des personnes qui traditionnellement n'étaient pas en mesure de transitionner facilement vers le secteur technologique.

Au début, la plupart des gens étaient ici aux États-Unis. La plupart d'entre eux étaient déjà des personnes éduquées, de classe moyenne.

Et progressivement, nous avons simplement essayé de rendre freeCodeCamp de plus en plus accessible aux personnes en dehors des États-Unis et aux personnes qui n'avaient pas nécessairement une éducation traditionnelle solide que nous considérerions aux États-Unis comme aller dans une bonne université publique, par exemple.

Beaucoup de pays n'ont pas d'universités publiques de l'ordre de ce que nous avons aux États-Unis. Beaucoup de personnes n'ont pas accès à une éducation secondaire qui soit à la hauteur de ce que nous avons aux États-Unis.

Donc, nous avons des personnes qui ont maintenant suivi freeCodeCamp et qui ont grandi dans les bidonvilles de Delhi ou dans les bidonvilles de São Paulo et qui n'avaient pas beaucoup d'éducation du tout, mais qui ont pu utiliser freeCodeCamp et apprendre suffisamment pour pouvoir aller travailler en tant que développeur.

C'était un grand saut que nous avons fait, et il n'y avait pas de réel précédent pour que cela fonctionne. Et même lorsque cela a commencé à fonctionner, vous devez vous demander, "S'agit-il d'instances isolées d'individus extrêmement motivés qui n'ont pas eu assez d'opportunités, ou s'agit-il de quelque chose qui peut vraiment être généralisable au point où freeCodeCamp peut devenir une sorte de "programme de dernier recours" pour les personnes, indépendamment de leur milieu socio-économique, où elles peuvent potentiellement obtenir un emploi très lucratif et subvenir aux besoins de leur famille, et par extension, injecter de la productivité et de l'activité économique dans leurs communautés locales ?"

[00:11:11] Jeff: Vous vous définissez comme un enseignant. À la base, l'idée de l'enseignant à travers l'histoire est un rôle très estimé. C'est un rôle qui, pour être efficace, nécessite du leadership, et le leadership est complexe, difficile et éprouvant. Il y a un sentiment que les éléments estimés de l'enseignant aux États-Unis au cours des dernières générations se sont un peu détériorés.

Je pense que cela a quelque chose à voir avec le processus de plus en plus mécanisé, le processus de plus en plus corporatisé du système scolaire public. Je suis sûr que vous avez quelques idées à ce sujet. Mais quelle est la raison profonde de votre désir, le désir aspirant de Quincy Larson de s'identifier comme un enseignant ?

[00:12:25] Quincy: Eh bien, l'enseignement a une longue tradition. Confucius était un enseignant, n'est-ce pas ? Vous pouvez remonter aux civilisations anciennes, et vous pouvez voir les enseignants jouer un rôle – Socrate.

C'est une tradition qui se perpétue à travers les générations, et le rôle de l'enseignant est devenu de plus en plus raffiné à l'époque moderne. Et généralement, les enseignants s'intègrent dans un grand système scolaire. Qu'il s'agisse au niveau universitaire ou au niveau primaire. C'est un rôle assez diffus.

Je décrirais Carl Sagan comme un enseignant. Je décrirais Bob Ross comme un enseignant.

La définition réelle de l'enseignement est quelque peu malléable. Donc je continue à utiliser le titre d'enseignant, puisque j'ai travaillé comme enseignant pendant environ une décennie avant de commencer freeCodeCamp. Je continue à utiliser ce titre parce que je pense que l'enseignement des gens par la conception pédagogique à grande échelle est aussi une forme d'enseignement.

[00:13:32] Jeff: Parlez-moi de la décennie que vous avez passée en tant qu'enseignant.

[00:13:36] Quincy: Eh bien, je devrais probablement remonter encore plus loin pour vraiment vous parler de la façon dont je suis entré dans l'enseignement, car c'est assez compliqué.

[00:13:47] Jeff: Nous avons tout notre temps.

[00:13:48] Quincy: Très bien. Remontons très loin. Donc je vais remonter très loin à mon enfance, si cela vous convient, et je vous mettrai à jour, car l'enseignement n'était qu'une progression, une étape vers ce qui m'a finalement conduit à créer freeCodeCamp.

Le jour où mon enfance s'est terminée était le 19 avril 1995. J'étais à Oklahoma City, à 9h02. J'étais dans mon cours de sciences et soudainement tous les bécher ont commencé à trembler et toutes les tables ont commencé à trembler. Et je n'avais jamais vécu de tremblement de terre auparavant, mais nous avons simplement supposé que c'était un tremblement de terre.

Tous les étudiants, le professeur, tout le monde a regardé autour et se sont regardés les uns les autres. Nous avons vu la pièce trembler et nous ne savions pas ce qui s'était passé. Quelques minutes plus tard, nous avons découvert ce qui s'était passé.

Il y avait un bâtiment dans le centre-ville d'Oklahoma City et un terroriste avait garé un camion devant, rempli d'engrais. Et il l'a fait exploser et a tué 168 personnes, dont 19 bébés qui se trouvaient dans une nurserie au rez-de-chaussée.

Donc pour moi, ce fut un énorme choc. Je suis passé d'un enfant que je décrirais comme un enfant typique de la classe moyenne en Amérique centrale à commencer à remettre en question la réalité, et comment nous en sommes arrivés à ce point où quelque chose comme cela n'a pas été arrêté.

Puis en regardant le chaos qui a suivi, en regardant comment les gens autour de moi ont réagi. J'avais une camarade de classe, elle a perdu son père. Juste cette expérience m'a vraiment réveillé. À partir de ce moment, je ne pouvais plus vraiment regarder la réalité de la même manière.

Mon père était un disciplinaire strict, et nous nous battions toujours. Un jour, alors que j'étais en deuxième année de lycée, j'en ai eu assez de me battre avec lui. Ma grand-mère venait de mourir et j'avais hérité de sa berline Ford Taurus blanche de 1986. J'ai pris toutes mes affaires et les ai jetées dans la voiture et je suis simplement parti.

J'ai passé l'année suivante de ma vie à vivre dans ma voiture. À rester dans les parkings de Walmart la nuit où il y avait de la lumière.

Au début, je continuais à aller au lycée. Mais un jour, j'étais à la cafétéria et j'ai vu un homme de mon église qui avait été une grande inspiration pour moi. Il se portait toujours volontaire pour diriger l'école du dimanche, et j'étais vraiment bon ami avec son enfant.

Il avait un diplôme universitaire et avait travaillé pendant des décennies. Je l'ai vu dans la cafétéria avec un filet à cheveux, servant de la nourriture, et il avait été réduit à faire cela pour pouvoir subvenir aux besoins de sa famille. À ce moment-là, j'ai simplement – dans cet instant, je suis devenu désillusionné par l'école et j'ai décidé d'abandonner.

Donc je vivais dans ma voiture, et je suis simplement allé à la bibliothèque tous les jours où il faisait chaud et j'ai tourné entre toutes les différentes bibliothèques autour d'Oklahoma City. Lire des livres et simplement réfléchir beaucoup. Puis me garer dans le parking de Walmart et aller dormir.

Et finalement, j'avais besoin d'argent pour acheter de la nourriture et des trucs. Donc j'ai obtenu un emploi chez Taco Bell. Mon manager était ce gars costaud nommé Duke qui avait un tatouage très visible du drapeau confédéré sur son bras que son uniforme ne couvrait pas.

Chaque fois que les affaires étaient calmes, je courais simplement à l'arrière-boutique, je préparais un burrito rapidement et le mangeais. Et je réfléchissais simplement à ma vie et à où les choses allaient et à ce que j'allais faire. Je n'avais vraiment aucune idée, mais j'ai décidé que je devrais probablement aller à l'école si je ne voulais pas finir comme Duke ici.

Donc j'ai passé le GED et je me suis inscrit dans l'université d'État la moins chère que j'ai pu trouver. Et j'ai échangé mon emploi chez Taco Bell contre un travail dans différents journaux de la ville tout en étudiant les arts libéraux. Je courais simplement avec mon bloc-notes et interviewais des personnes dans différentes positions de pouvoir. Il y avait un groupe de riches homeschoolers dans la ville et je me rendais simplement chez eux pour leur enseigner. Ce fut ma première expérience avec l'enseignement.

[00:17:53] Jeff: Attendez. Désolé. Pourquoi faites-vous des interviews ?

[00:17:55] Quincy: En tant que journaliste. En gros, j'ai travaillé pour un tas de différents journaux locaux. Donc j'interviewais des administrateurs d'hôpitaux. J'interviewais des personnes du gouvernement de la ville. J'avais l'occasion de parler à toutes sortes de personnes, et c'est vraiment ce qui m'a donné un aperçu de la façon dont les organisations fonctionnent et des structures de pouvoir.

[00:18:11] Jeff: Et a posé les bases de votre futur travail en tant que podcasteur.

[00:18:15] Quincy: Exactement, oui. Cette expérience d'interview était vraiment importante, et plus je parle aux gens –

[00:18:22] Jeff: C'est une compétence formidable, n'est-ce pas ? Comme c'est super flexible.

[00:18:25] Quincy: Oui. Vous pouvez l'utiliser pour – Si vous avez un bloc-notes ou un laissez-passer de presse, vous pouvez entrer et parler à n'importe qui et leur poser des questions et vraiment aller au cœur de ce qu'ils font et de la façon dont ces différentes structures fonctionnent. C'était vraiment instrumental pour moi. J'ai vraiment trouvé ma voie en interviewant des gens et en apprenant davantage sur eux et en apprenant comment ces systèmes fonctionnent.

[00:18:48] Jeff: Sans vouloir vous sortir de votre flux, mais quel était votre état d'esprit au début de cette aventure ? Parce que je pense que lorsque je – Sans vouloir vous voler la vedette, mais comme lorsque je pense à mon propre – J'ai traversé beaucoup de petits boulots aléatoires.

J'ai commencé tellement de projets aléatoires qui n'ont mené à rien, et je pense que notre public, probablement, il y a beaucoup de gens qui traversent cette marche semi-aléatoire en ce moment où ils ont l'impression que peut-être ils sont dans une position où ils savent ce qu'ils ne veulent pas. Mais ils sont en transition de savoir ce qu'ils ne veulent pas à construire des habitudes positives et itérer vers ce qu'ils veulent.

Je trouve que cela peut être psychologiquement difficile, mais aussi une expérience psychologiquement renforçante. Donc je me demande un peu où en était votre tête alors que vous vous frayiez un chemin à travers la bibliothèque et Taco Bell et obteniez votre GED et alliez dans une université bon marché.

[00:20:04] Quincy: Eh bien, pour moi, les choses étaient simplement si chaotiques. La façon dont je voyais le monde était qu'il y avait cette apparence d'ordre. Mais si nous creusons un peu plus profondément, peut-être pouvons-nous voir le chaos sous-jacent.

Pourquoi ces structures existent-elles ? De plus en plus, j'ai commencé à voir pourquoi nos organisations étaient toutes structurées autour de la hiérarchie où il y a presque toujours une personne au sommet et puis plusieurs couches en dessous. Et les gens se présentent au bureau à une certaine heure et ils font une tâche très spécifique et ils ont des délais et tout est mesuré d'une certaine manière.

La rémunération de tout le monde est généralement dans un ordre de grandeur des autres, sauf si vous arrivez à ces très grandes entreprises où vous avez des exécutifs tout en haut qui gagnent plusieurs ordres de grandeur de plus que les autres personnes.

Mais j'ai commencé à réfléchir à pourquoi. Il y avait une raison pour laquelle ces propriétés émergentes avaient pris le dessus. C'était éclairant. Je veux dire, c'était vraiment – J'avais l'impression de découvrir des choses importantes, surtout lorsque je cuisinais ces différents administrateurs et que je leur posais beaucoup de questions, en apprenant comment ils pensent.

Pourquoi les choses étaient-elles comme elles étaient ? Plus vous posez de questions, plus les questions se révèlent. C'était juste cet oignon sans fin que je pelais couche par couche.

[00:21:32] Jeff: Il devient plus grand à mesure que vous le pelez.

[00:21:34] Quincy: Oui. Je ne pense pas qu'il y ait une grande conspiration ou quoi que ce soit. Je pense que c'est juste un tas de gens qui opèrent dans ce système qui fonctionne miraculeusement bien comme il le fait. Mais il n'est probablement pas aussi efficace qu'il pourrait l'être.

C'était la chose – Je suppose que si je devais décrire mon expérience, c'était absolument revigorant. C'était juste cette euphorie de la découverte, comme, "C'est comme ça que ça marche. C'est pourquoi les choses sont comme elles sont." Mais en même temps, c'était très décevant que 200 000 ans d'histoire humaine et nous avons un tas de gens assis en costume dans des bureaux en sirotant du café et en déplaçant des papiers.

[00:22:18] Jeff: Eh bien, pour aller plus loin, contrastez l'invigorant de votre processus d'apprentissage actif avec la stagnation du système éducatif traditionnel dont vous êtes devenu si désillusionné.

[00:22:34] Quincy: Eh bien, je peux tout à fait voir pourquoi l'éducation est ce qu'elle est. Je veux dire, à travers les années d'enseignement et d'interaction avec les étudiants, d'interaction avec les enseignants, d'interaction avec les administrateurs, j'ai commencé à comprendre que les choses étaient ce qu'elles étaient parce qu'elles étaient suffisamment bonnes et j'ai commencé à voir beaucoup d'éducation comme de la garde d'enfants, essentiellement. C'est la manière du gouvernement de soulager essentiellement les parents de leurs enfants pour la journée afin que les parents puissent aller travailler.

Les enfants apprennent des choses, mais c'est très sous-optimal. Je veux dire, les vacances d'été, vous effacez essentiellement des mois d'apprentissage au cours des vacances d'été. Pourquoi avons-nous encore des vacances d'été ? Avoir huit cours par jour où chacun dure 50 minutes et les enfants passent presque autant de temps à passer d'un cours à l'autre qu'à s'asseoir et à apprendre. Il y a toutes ces choses qui se révèlent.

Le coût incroyable associé à l'éducation privée et publique. L'élève moyen en Amérique, je pense que nous dépensons environ 10 000 à 12 000 dollars par élève et par an pour l'éducation.

Et ce n'est pas seulement comme l'inefficacité du gouvernement ou autre chose, car les écoles privées sont à peu près les mêmes. Les coûts sont assez similaires. C'est juste qu'ils ont été transférés aux parents et éloignés des contribuables pour que les gens paient directement.

Donc, et ensuite, lorsque vous arrivez au niveau universitaire, les coûts sont encore plus élevés. Pour une raison quelconque, nous avons maintenant un administrateur pour chaque professeur. Juste la prolifération administrative et toutes ces choses, comme comment expliquer la bureaucratie croissante ? Je pense que beaucoup de cela revient à la nature humaine. Je n'ai pas de réponses particulièrement satisfaisantes pour vous. Je peux juste dire que cela fonctionne comme cela fonctionne parce que personne n'a encore imposé un changement radical.

Mais je pense que de tels changements sont probablement inévitables, et je ne me fais pas d'illusions en pensant que je peux personnellement avoir un impact sur ce système qui est partout. Presque tous les pays du monde ont un système éducatif similaire, et ont un système d'enseignement supérieur similaire.

[00:24:45] Jeff: Eh bien, vous tracez les contours de freeCodeCamp dans une lumière beaucoup plus résolue en racontant votre histoire ici. Je commence à comprendre un peu mieux d'où vous venez. À ce stade, vous êtes dans cet état transitoire où vous faites des interviews en tant que journaliste. Vous allez à l'école. Continuons à remonter le chemin de la mémoire ici.

[00:25:23] Quincy: Oui. Donc j'ai obtenu mon diplôme, et à l'époque où j'ai obtenu mon diplôme, je savais déjà où se produisait le grand changement. C'était le début des années 2000 et il n'y avait qu'une seule destination qu'une personne ambitieuse rechercherait, et c'était la Chine.

La Chine traversait un état historique d'hypercroissance où plus de 300 millions de personnes passaient de l'agriculture de subsistance à des emplois de classe moyenne dans le secteur des services. Je voulais comprendre cela.

Donc j'ai trouvé un programme de troisième cycle international, essentiellement, où je pouvais aller étudier avec un groupe de Chinois. Je suis monté dans un avion et je suis allé à Tianjin.

Je ne connaissais personne là-bas. J'étais le seul Occidental sur un campus de 20 000 personnes. J'avais un groupe d'étudiants coréens en commerce international qui partageaient une chambre avec moi, et je me suis mis au travail pour apprendre le chinois et en apprendre le plus possible sur la Chine.

J'ai rencontré ma femme là-bas. Elle était l'une de mes camarades de classe dans l'un de mes cours en école de troisième cycle, et j'ai passé les deux années suivantes de ma vie à apprendre la Chine et à apprendre les affaires à travers les yeux de la Chine. Apprendre l'histoire, apprendre les gens, et bien sûr passer une énorme quantité de temps à apprendre à la fois le mandarin et le cantonais, car ma femme est cantonais. Nous avons passé beaucoup de temps dans le Sud.

Donc c'était la période suivante de ma vie, et c'était une période passionnante pour être en vie.

J'étais absolument au bon endroit au bon moment pour apprendre une quantité incroyable, et cela restera probablement la partie la plus revigorante et exaltante de ma vie.

Ensuite, je suis revenu de Chine et j'ai commencé à travailler comme enseignant et directeur d'école ici aux États-Unis après que ma femme ait obtenu un visa. Finalement, elle a pu devenir citoyenne américaine. Ensuite, je dirigeais des écoles ici aux États-Unis et en Chine.

[00:27:26] Jeff: Vous aviez quel âge ?

[00:27:28] Quincy: J'avais 26 ans. J'étais le plus jeune directeur d'école du système scolaire, et j'apprenais comment diriger une école maintenant et comment –

[00:27:38] Jeff: Comment en êtes-vous arrivé là ? Comment avez-vous obtenu ce travail ? Comment avez-vous obtenu le poste de plus jeune directeur d'école dans un système scolaire ?

[00:27:43] Quincy: Eh bien, lorsque je suis immédiatement revenu de Chine, j'ai travaillé dans un magasin de proximité et j'essayais de trouver n'importe quel emploi axé sur l'éducation internationale. J'ai trouvé cette école qui était un programme intensif d'anglais sur un campus universitaire, et j'ai fait tout ce qui était en mon pouvoir pour obtenir ce travail. J'ai appris tout ce que je pouvais sur les personnes qui y travaillaient. J'ai appris tout ce que je pouvais sur l'histoire de l'organisation, et je suis entré là-bas comme une encyclopédie ambulante et parlante, et contre toute attente, j'ai réussi à obtenir ce travail.

Je me souviens avoir passé des entretiens pendant environ six heures à trois occasions différentes, car la directrice était – elle était sceptique quant à ma capacité à le faire, car je n'avais aucune expérience réelle en gestion. L'expérience d'enseignement que j'avais était principalement l'enseignement à des homeschoolers et l'enseignement à des ingénieurs brésiliens en Chine. Je leur apprenais à utiliser l'anglais, car il y avait simplement d'énormes groupes de personnes se rendant en Chine pour pouvoir participer au grand boom économique que la Chine connaissait.

Donc, j'enseignais à tous ces expatriés comment parler anglais et j'enseignais aux Chinois comment parler anglais, et donc mon expérience d'enseignement était assez limitée. Je n'avais pas de maîtrise en éducation ou en enseignement de l'anglais comme langue seconde ou autre chose de similaire. Donc, j'ai vraiment dû compenser tout cela en passant des entretiens extrêmement bien et en étant extrêmement compétent. C'était un grand pas, car avant cela, c'était ma première étape dans une position de gestion.

Si vous pensez à ce que je fais aujourd'hui avec freeCodeCamp, c'est surtout gérer des équipes de bénévoles, et ensuite nous avons une petite équipe de sept personnes, y compris moi-même, qui travaillent à temps plein sur freeCodeCamp.

Donc, c'est là que j'ai appris à gérer les gens. Je ne gérais pas seulement les enseignants - je gérais aussi d'autres administrateurs. Je gérais les séjours à domicile. En gros, des personnes qui ouvrent leurs maisons pour accueillir des étudiants de l'étranger.

Nous avions beaucoup d'étudiants de Chine, du Japon, de Corée, d'Arabie Saoudite, du Brésil, et d'Europe, et je devais travailler directement avec ces parents et résoudre beaucoup de problèmes. Je devais travailler avec des agences qui voulaient placer des étudiants aux États-Unis. Je devais travailler avec le gouvernement américain et le département de l'immigration et faire une quantité incroyable de paperasse et essentiellement garder cette école en fonctionnement.

Je suis passé de la gestion de zéro personne à la gestion de 25 personnes du jour au lendemain lorsque j'ai obtenu ce travail.

[00:30:25] Jeff: C'est aussi à cette époque que vous avez commencé à vous intéresser sérieusement à la technologie, n'est-ce pas ?

[00:30:30] Quincy: Donc, après quelques années à diriger des écoles aux États-Unis et en Chine, je me suis retrouvé dans une situation où j'ai remarqué que mes enseignants passaient beaucoup de temps enchaînés à leur bureau à faire des tâches administratives banales, comme des rapports de notes, des rapports d'immigration, des rapports de présence, des choses qui pourraient être automatisées si j'apprenais quelques bases.

Donc, j'ai simplement fait des recherches sur Google. J'ai appris un peu de Visual Basic. J'ai appris quelques outils différents pour cliquer de manière programmatique sur des formulaires de visa gouvernementaux et autres, et j'ai essentiellement dit à mon personnel, "Hé, je m'en occupe à partir d'ici", et ils ont pu passer tout leur temps avec les étudiants, et les étudiants étaient si heureux, car c'est pour cela qu'ils étaient venus ici, pour apprendre l'anglais et passer beaucoup de temps avec des Américains et se préparer à s'intégrer afin qu'ils puissent aller dans leurs programmes de troisième cycle.

Donc, c'était à cette époque que j'ai appris la programmation et le scripting de base. À partir de là, j'ai vu à quel point c'était puissant et j'ai commencé à penser, "Wow ! Je pourrais construire un système entier qui aide les écoles à fonctionner plus efficacement."

Puis une pensée m'est venue, "Eh bien, peut-être devrais-je simplement apprendre à programmer correctement et ensuite je serai dans une meilleure position pour construire cet outil."

Donc, j'ai passé neuf mois à aller à des hackathons, à traîner dans des hackerspaces et à coder et à faire tout ce que je pouvais - en travaillant à travers des tonnes de manuels, en suivant des cours en ligne gratuits qui sortaient du MIT et de Stanford, et chaque week-end, un hackathon différent. J'ai fait des dizaines de hackathons cette année-là, et ensuite j'ai pu obtenir un emploi de développeur junior.

Lorsque j'ai travaillé en tant que développeur, c'est là que le vrai apprentissage a commencé. Et j'ai commencé à en apprendre de plus en plus sur le travail en équipe, sur l'utilisation du contrôle de version, sur les principes de l'ingénierie logicielle, sur les dynamiques de la création de logiciels et de la maintenance de logiciels lors des déploiements. Lutter contre des bugs étranges et des choses comme ça, et c'est là que mes compétences de développeur se sont forgées.

Après cela, je voulais toujours aider les autres. Je voulais construire l'outil de gestion scolaire, mais ensuite j'ai réalisé, "Eh bien, si je peux simplement aider les autres à faire ce que j'ai fait et à apprendre à coder, alors ils peuvent sortir et construire des outils de gestion scolaire, et ils peuvent construire beaucoup d'autres outils qui font progresser les choses et font avancer les choses, et créent de nouvelles industries."

Donc, c'est à ce moment-là que j'ai décidé, "Eh bien, je vais apprendre à coder. Ensuite, je vais enseigner aux autres comment coder." Donc, j'ai commencé à construire différents projets autour de l'éducation technologique, et finalement, après plusieurs projets échoués, j'ai construit le MVP de freeCodeCamp au cours d'un long week-end. Je l'ai mis en ligne. J'ai commencé à tweeter à ce sujet, et les gens ont commencé à venir et à l'utiliser.

C'était une expérience vraiment incroyable, car c'était la première fois que j'avais réellement construit quelque chose à partir de rien que les gens apprécient, après des années et des années de construction de projets que je n'arrivais pas à faire apprécier aux gens.

[00:33:29] Jeff: Donc, je pense qu'une grande partie de ce qui rend freeCodeCamp réussi et qui le fera continuer à croître est qu'il y a une vision inspirante, et je ne sais pas à quel point cette vision est grande. Mon sentiment est qu'elle est grande et qu'elle grandit chaque année, mais il est possible que même lorsque vous avez lancé ce projet, vous aviez une vision de ce que freeCodeCamp pourrait être qui est plus titanesque que ce qui s'est réalisé aujourd'hui.

Donc, avant de commencer à plonger dans freeCodeCamp dans des détails gratuits, j'aimerais vraiment que vous rassembliez les différents fils de votre expérience unique et que vous décriviez comment ceux-ci se sont réunis dans la vision de ce que vous essayez de faire avec freeCodeCamp. Je veux vraiment comprendre la vision et où vous essayez d'aller avec freeCodeCamp.

[00:34:46] Quincy: C'est une question intéressante. Donc, je dirais que certains des fils qui proviennent de mon expérience, tout d'abord, remettre en question pourquoi les choses sont ce qu'elles sont. C'est quelque chose que j'ai appris assez tôt, et cela a influencé freeCodeCamp, car j'ai pu poser beaucoup de questions comme pourquoi les gens se rencontrent-ils en personne pour l'école ? Pourquoi les gens ont-ils ce calendrier fixe ? Pourquoi l'école est-elle structurée de manière à avoir un début et une fin ? Pourquoi y a-t-il tant de lecture et tant de cours magistraux dans l'éducation par rapport à simplement s'asseoir et le faire ?

Ensuite, j'ai commencé à réaliser que beaucoup des raisons de ces choses sont enracinées dans la convention. Beaucoup d'entre elles sont motivationnelles, car si vous êtes dans un bâtiment avec un tas d'autres personnes assises à côté de vous, il y a une pression extrinsèque pour performer. Si vous êtes simplement sur votre ordinateur portable après une longue journée de travail, il n'y a pas la même pression pour que vous fassiez réellement le travail.

Donc, cela a influencé beaucoup de choses chez freeCodeCamp, en comprenant simplement les limites de l'apprentissage interactif, en ligne et à son propre rythme, et en comprenant les défis motivationnels qui l'accompagnent.

[00:36:00] Jeff: Le MVP de freeCodeCamp, c'était une certaine façon d'apprendre à coder, et je crois qu'il a considérablement évolué depuis. J'essaie de me souvenir de ce qu'était la première version. Pouvez-vous décrire comment freeCodeCamp a évolué depuis son MVP que vous avez construit ?

[00:36:27] Quincy: Bien sûr. Pour le bénéfice des auditeurs, lorsque je dis MVP, je veux dire produit minimum viable - essentiellement la première version de freeCodeCamp. Donc, initialement, ce que j'ai construit au cours de ce week-end était un programme où vous pouviez progresser. Vous pouviez vous connecter et vous pouviez marquer les choses comme terminées, essentiellement. Une fois que vous aviez marqué toutes les choses comme terminées, alors vous aviez terminé et vous obteniez cette certification pour freeCodeCamp.

Donc, le programme était principalement des ressources externes, comme aller suivre le cours d'informatique 101 de Stanford. Voici un lien vers celui-ci, et travaillez simplement à travers les cours et revenez ensuite et cochez que vous avez fait cela une fois que vous l'avez terminé. Nous avons fait la même chose avec beaucoup d'autres ressources d'apprentissage en ligne gratuites et interactives. C'était la première version. Important pour cette première version, j'ai également mis en place une salle HipChat. HipChat est un outil de salon de discussion, et nous parlions là-bas.

Lorsque les gens rejoignaient ce salon de discussion, je traînais là-bas et mon objectif était de motiver les gens et de les faire progresser. Donc je leur parlais. Je disais, "Hé, parlez-moi un peu de vous. Qu'est-ce qui vous a inspiré à apprendre à coder ?" Des questions directrices qui réveilleraient en eux cette chose critique, comme, "Hé, je devrais m'asseoir et faire cela. Je pourrais transitionner vers la tech."

Donc, beaucoup des premiers jours où nous essayions simplement d'inspirer les gens, et deux grandes choses se sont produites. Premièrement, les gens voyaient aussi ce que je faisais et ils faisaient la même chose - ils étaient là à côté de moi pour accueillir les gens dans la communauté et leur poser des questions, et les aider lorsqu'ils étaient bloqués ou avaient des questions, ou des moments de crise de confiance afin de pouvoir les rassurer.

Donc, ce salon de discussion était absolument instrumental, et les gens qui m'aidaient dans ce processus étaient instrumentaux. Ensuite, les gens ont commencé à obtenir des emplois, et ce fut le point de bascule.

Une fois que les gens ont commencé à obtenir des emplois, cela est devenu une chose prouvée. Ce n'était plus un programme de jouets que les gens faisaient simplement pour l'auto-amélioration. C'était un outil réel qu'ils pouvaient utiliser pour le développement économique et pour leur propre gain de carrière.

Une fois qu'ils ont commencé à faire cela, les gens obtenaient un emploi et parlaient de la manière dont cela les avait aidés à obtenir un emploi, et les gens ont commencé à contribuer à freeCodeCamp.

Nous avons lentement remplacé le programme de ressources externes par notre propre programme open source maison sous licence BSD. La BSD-3 est l'une des licences open source les plus permissives aux côtés de la licence MIT. Nous avons utilisé Creative Commons share like le BY-SA. C'est l'une des licences Creative Commons les plus permissives sur tout le programme.

Donc, nous travaillions tous ensemble sur ces choses et construisions ce programme géant qui, à mon avis, était initialement inférieur à beaucoup des ressources externes enseignées par des professeurs d'université, mais qui est rapidement devenu de qualité comparable.

Le programme freeCodeCamp avait un énorme avantage - ce n'était pas un professeur qui vous parlait à travers une vidéo. Tout le temps, vous étiez dans un éditeur de code en train de coder et vous aviez cette suite de tests. Et chaque fois que vous pensiez que votre code était prêt, vous appuyiez simplement sur contrôle+entrée ou cliquiez sur le bouton et il exécutait tous les tests et vous disait si votre code était effectivement prêt.

Vous entriez simplement dans cet état de flux où vous progressiez d'exercice en exercice et appreniez de manière expérimentale en construisant des projets.

Donc, ce fut une énorme percée en termes de motivation, car nous avons senti que beaucoup des problèmes avec l'apprentissage traditionnel étaient simplement une boucle de feedback très lâche. Vous vous asseyez dans une classe tout le semestre et prenez des notes et étudiez ces notes et ensuite votre critère d'évaluation vient à la toute fin lorsque vous passez l'examen final, et vous découvrez quelle note vous avez obtenue. Il est difficile de penser à un feedback plus grossier que cela.

Mais c'est ce que l'éducation traditionnelle a généralement à offrir. Oui, peut-être qu'il y a quelques quiz en cours de route.

Mais les exercices interactifs étaient – Vous n'attendez pas des semaines ou des mois pour un feedback. Vous attendez quelques millisecondes, car cette plateforme entière fonctionne directement dans votre navigateur. Elle n'envoie même pas de données à un serveur. Elle exécute simplement le code directement dans votre navigateur contre un test, et en quelques microsecondes, vous obtenez un feedback.

Il y a un délai de près de zéro milliseconde - cela ne touche même pas le serveur. Donc, c'est la boucle de feedback la plus serrée que vous puissiez obtenir, et cela a vraiment accroché les gens et ils ont commencé à implémenter de plus en plus de défis et le programme a grandi à partir de là.

[00:42:37] Jeff: Je me souviens de cette époque où vous et moi nous sommes rencontrés pour la première fois en personne. Je pense que c'était dans un endroit de tacos à Berkeley, ou je pense que vous aviez un burrito, parce qu'apparemment vos jours chez Taco Bell vous ont bloqué en mode burrito. Je pense que je me souviens en fait d'une réponse sur Quora où vous avez également mentionné que beaucoup de votre routine quotidienne est construite autour des burritos micro-ondes.

Donc, les burritos sont profondément ancrés dans la vie de Quincy Larson. Mais je me souviens de vous avoir parlé dans cet endroit de burritos à Berkeley, et cela aurait pu être 9 mois ou 10 mois après le début de Software Engineering Daily et vous étiez, je suppose, probablement un an et demi après freeCodeCamp.

Donc, nous étions à des étapes similaires où nous pouvions ressentir un sentiment de traction, et je pense que vous écoutiez beaucoup mon émission à cette époque, car à l'époque, il y avait vraiment beaucoup de podcasts sur l'ingénierie logicielle et les personnes dans des états d'isolement volumineux, comme vous et moi, écoutent beaucoup de podcasts, et vous vous plongiez vraiment dans le terrier du lapin de la compréhension du logiciel. Donc, je pense que vous étiez un auditeur assidu à cette époque.

Donc, nous avions des conversations sur nos projets/business/produits dérivés d'Internet respectifs, Software Engineering Daily et freeCodeCamp respectivement. J'ai l'impression que nous étions tous les deux vraiment incertains de ce que nous essayions exactement d'atteindre.

Je veux dire, même à l'époque, je pense que j'étais comme, "Oui, je veux dire, j'espère tout vendre à O'Reilly, ou peut-être lancer comme cinq autres podcasts et être comme un truc twit." Je suppose que ce sont encore des possibilités ou quelque chose.

Mais, je ne sais pas. Cela semblait tôt par rapport à où je pense que nous en sommes tous les deux aujourd'hui où nous avons un peu plus de confiance, un peu plus de vision, un peu plus de foi que l'élan ou l'inertie de nos plateformes continueront à se maintenir. Je veux dire, je suis toujours paranoïaque. Vous me semblez être quelqu'un qui est toujours paranoïaque à l'idée que les choses s'effondrent.

Mais je suppose que j'aimerais revenir à cette époque. Parce que je me souviens de vous parler un peu comme, "Oui." Je veux dire, un peu inquiet à propos de Treehouse ou – Quels étaient les autres à l'époque ? Codecademy, Pluralsight, ces autres concurrents en éducation. Je pense que le marché a montré que l'éducation en ligne sur le codage est simplement plus grande que ce que quiconque attendait. Elle est suffisamment grande pour soutenir toutes ces différentes verticales. Chacune d'entre elles a des différenciateurs concurrentiels différents.

Mais je suppose que j'aimerais revenir à cette époque et comprendre comment votre vision de la défensibilité de l'entreprise, ou non de l'entreprise, de l'entreprise philanthropique, des finances. Ramenez-moi aux premiers jours et donnez-moi une compréhension un peu plus affinée de la manière dont la structure de freeCodeCamp en tant qu'entité durable et défendable a mûri dans les premiers jours ?

[00:46:06] Quincy: Au début, j'étais confiant que cela serait quelque chose que n'importe qui pourrait simplement venir et répliquer. Techniquement, c'est le cas. Je veux dire, vous pouvez encore construire freeCodeCamp aujourd'hui. Mais une chose que nous avions et qui nous propulsait vraiment était cette énorme communauté de personnes qui avaient soit obtenu leur diplôme de freeCodeCamp et qui travaillent maintenant dans des rôles de développeurs, soit des contributeurs qui ont peut-être fait cela, mais qui contribuent encore à la communauté elle-même.

Donc, freeCodeCamp en tant que projet de logiciel open source. Rien de particulièrement spécial à ce sujet. Je pense qu'il est très bien construit. Je pense que la pédagogie que nous y avons intégrée est très astucieuse et qu'elle fonctionne. Elle fonctionne remarquablement bien compte tenu du fait que vous ne dépensez aucun argent et que vous pouvez le faire à votre convenance sur plusieurs années.

Nous avons des personnes qui passent trois ou quatre ans. Je vois régulièrement des tweets de personnes disant qu'elles ont commencé en 2016 et qu'elles viennent de terminer la dernière certification en 2019.

Donc, le programme réel et la plateforme réelle, rien de très excitant à ce sujet. Mais la communauté, c'est ce qui est vraiment excitant, et il est difficile de construire une communauté comme celle que freeCodeCamp a construite au fil des ans, car cela demande une quantité incroyable de travail acharné, et freeCodeCamp n'est pas une filiale d'entreprise. Ce n'est pas quelque chose qui est simplement financé par un milliardaire. C'est une communauté de personnes qui pensent de la même manière et qui ont des objectifs de carrière similaires et des passions similaires qui se sont réunies et ont commencé à construire ensemble et ont construit cet outil au cours des cinq dernières années.

Donc, cette communauté elle-même est de loin l'aspect le plus important de freeCodeCamp et la chose que je pense que les autres auraient du mal à répliquer. Je dis cela parce que cela a demandé une quantité incroyable de travail. J'ai passé les cinq dernières années à aider les gens, à répondre à des centaines d'e-mails par jour, à aller dans différents groupes d'étude autour du monde et à parler aux gens et à essayer de cultiver autant de leadership que possible au sein d'une organisation principalement dirigée par des bénévoles.

Donc, je dirais que je ne suis pas le meilleur développeur au monde. Je ne suis probablement pas le meilleur enseignant capable de donner un cours magistral sur le moment. Ce que je pense être vraiment bon et sur quoi j'ai travaillé très dur pour devenir bon, c'est diriger une communauté et comprendre les besoins des personnes dans cette communauté, comprendre comment nous pouvons aider ces personnes et comment nous pouvons aider ces personnes à aider les autres.

[00:48:48] Jeff: Quelle a été la partie la plus difficile de la construction de freeCodeCamp jusqu'à présent ?

[00:48:54] Quincy: La partie la plus difficile est absolument de garder les choses en marche en termes d'argent. Je suis profondément, profondément mauvais pour demander des dons, pour demander de l'aide. Et cela s'est vraiment vu, car il y a quelques semaines, nous avons eu une panne. L'un de nos serveurs API est tombé pendant deux jours et nous avons fait une analyse des causes profondes, comme nous le faisons toujours lorsqu'il y a une sorte de panne. Nous avons fait ce post-mortem.

À la fin, la seule conclusion que nous avons pu tirer, le vrai doigt était pointé vers moi et le fait que nous faisons fonctionner cette organisation avec un budget serré.

freeCodeCamp est actuellement, je pense, dans le top 1 600 des sites web sur terre. Nous sommes plus grands que TechCrunch. Toutes ces plateformes d'apprentissage en ligne que vous avez mentionnées plus tôt, Udacity, Treehouse, Code Academy, nous sommes significativement plus grands que toutes celles-ci en termes d'utilisation, de personnes utilisant freeCodeCamp.

Donc, comment pouvons-nous faire tout cela avec un budget de 373 000 dollars en 2019 ? Comment pouvons-nous fournir 1,1 milliard de minutes d'instruction, ce qui équivaut à 2 000 ans de personnes apprenant cette année ? Nous ne sommes pas en mesure de le faire aussi bien que nous devrions pouvoir le faire, car nous avons dû couper beaucoup de coins. Tout doit être fait aussi peu cher que possible.

Donc, nous avons conclu à la fin de cette analyse des causes profondes que nous aurions probablement pu dépenser 30 dollars par mois en logiciel de surveillance qui aurait pu détecter le type spécifique de panne et nous aurions pu simplement le corriger et il n'y aurait pas eu deux jours de temps d'arrêt. Il n'y aurait pas eu cette grande enquête. Mais lorsque vous êtes fauché, beaucoup de fois le voyant de contrôle du moteur s'allume et vous n'avez pas les ressources pour vous arrêter et faire vérifier par un mécanicien, n'est-ce pas ? C'est précisément comment freeCodeCamp a fonctionné, et cela doit changer.

Donc, cela a été absolument mon plus grand défaut en tant que leader, et le plus gros problème avec freeCodeCamp est que je suis terrible pour collecter des fonds et je dois m'améliorer. Je dirais que, bien sûr, je pourrais simplement embaucher une personne de collecte de fonds d'entreprise pour aller chercher un tas de dons et de fondations pour nous soutenir. Mais nous sommes une organisation de base. Nous avons plus de 5 000 personnes dans la communauté qui chaque mois font un don à freeCodeCamp. Ils donnent 5 livres par mois ou 10 dollars par mois ou 35 dollars par mois. Nous en voulons plus.

Nous avons plus de 40 000 personnes qui ont suivi freeCodeCamp et qui travaillent maintenant dans des entreprises technologiques. Beaucoup d'entre eux sont chez Apple, ou Google, ou Amazon, ou Microsoft. Certaines de ces grandes entreprises avec des salaires élevés. Je dois trouver un moyen de rappeler gentiment à ces personnes, "Hé, si vous pouvez nous soutenir, nous pouvons aider beaucoup plus de gens ici."

[00:51:48] Jeff: Vous avez besoin d'une association d'anciens élèves.

[00:51:50] Quincy: Donc, nous avons une association d'anciens élèves LinkedIn avec environ 60 000 personnes. Je suis simplement très mauvais pour admettre que nous avons besoin d'argent, et je suis mauvais pour demander – je suis timide pour demander de l'argent. C'est une chose sur laquelle je travaille. C'est le plus grand goulot d'étranglement en ce moment.

[00:52:07] Jeff: Ces universités se désagrègent. Peut-être que vous pouvez trouver un ancien élève qui a récemment été licencié. Ces associations d'anciens élèves vendent toujours les choses les plus ridicules, comme, "Oh ! Vous avez un autocollant pour un don de 150 dollars." Comme, "Wow ! C'est une bonne affaire. Je peux dire que j'étais un ancien élève de freeCodeCamp si je fais un don de 150 dollars." Vous avez besoin de quelqu'un comme ça pour faire ces dons absurdes.

Je ne sais pas. En parlant plus franchement. Je veux dire, vous avez des gens comme Swicks qui a donné 10 000 dollars à freeCodeCamp, et il est relativement nouveau dans le développement logiciel. Il est encore en train de se faire une carrière. Mais il voit déjà tellement de valeur dans freeCodeCamp qu'il est prêt à redonner. Donc, présumément, il y aura plus de gens comme lui, surtout lorsqu'ils se lanceront dans l'entrepreneuriat.

[00:53:15] Quincy: Oui, je suppose que nous n'avons besoin que d'un Bill Gates ou d'un Jeff Bezos pour passer par freeCodeCamp pour pouvoir potentiellement soutenir l'organisation. Cela dit, je veux dire, Shawn Wang, Swicks, il a fait un don de 10 000 dollars à freeCodeCamp il y a quelques jours et il en a tweeté la semaine dernière. Il a tweeté avec ce #payitbackwards, et il a écrit cet article sympa sur ses raisons de faire un don à freeCodeCamp, et j'encourage tout le monde à le vérifier et à simplement rechercher le #payitbackwards. La saison des dons de vacances est en train de monter en puissance et je vais passer en mode collecte de fonds à plein régime et essayer d'obtenir autant de petits dons que possible de différents anciens élèves. Mais, c'est absolument quelque chose que je vais faire.

Je vois tout à fait ce que vous voulez dire en prenant quelqu'un de l'université, mais c'est une situation très différente.

[00:54:11] Jeff: Je plaisantais un peu. Je veux dire, ce ne serait pas bon pour votre marque.

[00:54:13] Quincy: Donc, jusqu'à présent, chaque personne que nous avons intégrée à l'équipe, les sept personnes qui travaillent à temps plein pour freeCodeCamp sont toutes passées par freeCodeCamp. Je n'ai jamais eu à faire d'entretien d'embauche pour freeCodeCamp, car je savais déjà exactement qui dans la communauté contribuait le plus. À qui pouvons-nous donner des ressources supplémentaires ? Qui pouvons-nous payer pour travailler à temps plein sur freeCodeCamp, mais pour pouvoir se consacrer à temps plein à la contribution à freeCodeCamp. Ce sont les personnes que nous avons embauchées. Donc, si j'étais en mesure d'identifier quelqu'un au sein de la communauté freeCodeCamp qui peut m'aider avec cela, oui, peut-être que cela fonctionnerait.

Un problème est que nous fonctionnons si maigrement, où nous avons peut-être un couple de mois de paye à la banque à un moment donné. Il est difficile de prendre le risque d'embaucher quelqu'un pour ce rôle. Donc, j'essaie d'apprendre à faire toutes ces choses moi-même en lisant beaucoup de livres à ce sujet. J'ai étudié la méta de la collecte de fonds et j'essaie de comprendre comment tout cela fonctionne. En lisant tous les livres sur les organisations à but non lucratif, et nous sommes dans une situation unique, comme lorsque nous essayons de faire en sorte que quelqu'un sponsorise freeCodeCamp, ils nous traitent comme si nous étions une sorte de hackathon, ou lorsque nous essayons d'obtenir –

[00:55:23] Jeff: Vous voulez dire lorsque vous essayez de faire en sorte qu'une entreprise vous sponsorise ?

[00:55:25] Quincy: Oui. Chaque fois que nous essayons d'obtenir, par exemple, des crédits à utiliser, comme un don en nature d'une entreprise. Souvent, ils sont comme, "Oh, est-ce un hackathon ? Qu'est-ce que c'est ? Qu'est-ce que freeCodeCamp ? Qu'est-ce que quelque chose comme freeCodeCamp ?" Je dois faire une longue explication de ce qu'est freeCodeCamp et pourquoi il est ce qu'il est.

Il y a beaucoup de choses sur freeCodeCamp qui semblent incroyables. Je considère que quelqu'un qui est à l'intérieur de freeCodeCamp, il semble étrange qu'il y ait cette organisation que des millions et des millions de personnes utilisent et que des dizaines de milliers de personnes ont obtenu des emplois grâce à son utilisation jusqu'à présent, et que tout cela fonctionne avec l'équivalent du salaire annuel d'un ingénieur de la Silicon Valley.

[00:56:10] Jeff: C'est pourquoi j'ai commencé l'émission avec les analogies qui n'ont pas réussi à lui rendre justice. Vous êtes une aberration. Vous n'êtes pas Wikipedia. Vous n'êtes pas Mozilla. Vous n'êtes pas Craigslist. Vous êtes votre propre belle aberration.

[00:56:29] Quincy: Donc, beaucoup de cela était simplement des défis de communication. Comment pouvons-nous communiquer ce qu'est freeCodeCamp ? Comment pouvons-nous communiquer l'échelle ? Donc, une chose que j'ai faite cette année lorsque je me préparais pour notre campagne de collecte de dons était d'essayer de trouver comment je peux réduire l'efficacité capitalistique pure de freeCodeCamp, si vous voulez, à un nombre concret.

Donc, j'ai pris ces 1,1 milliard de minutes et je les ai divisés par notre budget de 373 000 dollars, et j'ai obtenu 50 heures d'instruction fournies pour chaque dollar donné.

Donc, c'est une manière pratique, car lorsque les gens nous donnent 5 dollars par mois, nous pouvons dire, "Vous payez pour 250 heures d'instruction chaque fois que vous faites un don. C'est assez pour qu'une salle de classe pleine de personnes puisse essentiellement apprendre à coder gratuitement grâce à votre modeste don. Si vous donnez plus d'argent, cela équivaut à un village entier."

Donc, c'est un peu ma façon de penser en termes de la manière dont je prévois d'entrer dans la saison des fêtes en encourageant les gens à faire des dons, c'est simplement quantifier le bénéfice direct de leurs dons.

[00:57:43] Jeff: D'accord. Le budget de 373 000 dollars, c'est le budget annuel approximatif, n'est-ce pas ?

[00:57:50] Quincy: C'est notre budget exact pour 2019.

[00:57:54] Jeff: Pour 2019, comme jusqu'à présent ou prévu pour être la totalité ?

[00:57:59] Quincy: Presque tous nos coûts sont fixes. Donc je peux projeter cela avec une assez bonne certitude. C'est combien cela coûtera pour faire fonctionner freeCodeCamp pour les deux mois restants, plus les 10 mois que nous avons déjà traversés.

[00:58:12] Jeff: Les gros coûts, sont-ils les développeurs ou les serveurs ?

[00:58:14] Quincy: Les deux. Mais dans toute organisation logicielle, les personnes sont généralement le principal coût. Nous dépensons plusieurs milliers de dollars par mois en serveurs.

[00:58:24] Jeff: Je veux dire, cela semble – Les serveurs au moins, il semble que vous pourriez simplement faire en sorte qu'une entreprise vous sponsorise. Mais alors cela pourrait presque ne pas en valoir la peine de traiter avec le surplomb de type faites-vous de la publicité pour Azure ou êtes-vous dans le lit avec Amazon ou quelque chose comme ça.

[00:58:46] Quincy: C'est été notre philosophie. Nous sommes heureux d'utiliser des sponsors en nature. Amazon donne aux organisations à but non lucratif une certaine somme d'argent chaque mois, ou chaque année. Nous sommes en mesure d'obtenir comme je pense un crédit de 1 000 dollars, peut-être 2 000 dollars de la part d'Amazon, et nous utilisons cela en un mois juste pour les e-mails.

J'envoie 2,5 millions d'e-mails par semaine pour notre liste de diffusion. Donc cela devient très rapidement 1 000 dollars par mois juste pour l'envoi d'e-mails. En utilisant Amazon SES, qui est le service d'e-mails le moins cher connu de l'homme. C'est comme vous pouvez envoyer 10 000 e-mails pour un dollar. Donc nous brûlons rapidement tous ces crédits.

Microsoft Azure nous donne un crédit assez généreux en tant qu'organisation à but non lucratif. Nous brûlons cela. Même avec tous ces crédits, nous allons probablement devoir trouver – Nous utilisons beaucoup d'autres outils. Par exemple, Algolia nous fournit la recherche, et cela signifie que nous n'avons pas à faire fonctionner un serveur Elasticsearch. Algolia est à bien des égards plus rapide qu'Elasticsearch et il est certainement plus facile à configurer.

Nous avons tous ces sponsors en nature qui nous aident. Je pense qu'ils aident la plupart des organisations à but non lucratif, mais c'est une grande aide pour nous. Donc je ne veux pas minimiser ces parrainages en nature, mais nous ne voulons pas recevoir de gros chèques de grandes entreprises pour la raison précise que vous venez de dire. Nous ne voulons pas que freeCodeCamp soit "présenté par Google".

[01:00:06] Jeff: C'est l'une des choses que j'aime, je pense, une raison pour laquelle j'aime vous parler, c'est que vous êtes totalement intransigeant sur votre absence de conflit d'intérêts par rapport aux sponsors corporatifs,

Je suis tout le contraire. Je suis tout à fait pour le contenu sponsorisé. Mon émission est remplie de publicités. Mais je suppose que je suis au moins transparent à ce sujet. Transparent dans la mesure où je peux l'être sans affecter la qualité de l'émission. Mais je sens que dans mon propre comportement à certains moments, puis-je vraiment parler mal de l'entreprise X lorsque l'entreprise X est un sponsor ? Je pense que cela témoigne de votre vision à long terme que vous êtes intransigeant là-dessus.

[01:01:04] Quincy: Ce avec quoi vous travaillez est un modèle très différent. Lorsque vous êtes une organisation à but non lucratif soutenue par des donateurs – je veux dire, imaginez que vous êtes quelqu'un qui donne à l'Université Johns Hopkins et que vous êtes comme un médecin ou un avocat et que vous êtes comme vraiment fier de votre don de 10 000 dollars que vous venez de faire à Johns Hopkins. Ensuite, Michael Bloomberg arrive et fait un don de 1 milliard de dollars et c'est 4 ou 5 ordres de grandeur plus grand que votre don qui pour vous était une grosse somme d'argent. Je peux simplement imaginer que ce soit vraiment dégonflant, comme dire, "Oh ! Eh bien, devrais-je même me donner la peine de donner à Johns Hopkins désormais ? Je veux dire, regardez. Ils viennent de recevoir tout cet argent de Michael Bloomberg."

Donc, avec freeCodeCamp, j'aimerais éviter une situation où les gens ont l'impression que leurs dons ne font pas une grande différence. Quel est l'intérêt de donner à freeCodeCamp si Bill et Melinda Gates leur donnent déjà beaucoup d'argent ? Pour moi, personnellement, je veux donner mon argent lorsque je fais des dons à des causes qui en ont vraiment besoin, où cela aura un énorme impact. Je ne pratique pas directement l'altruisme efficace. Je sais que Haseeb et beaucoup de personnes que vous avez eues dans l'émission pratiquent – c'est l'altruisme efficace.

[01:02:15] Jeff: Altruisme efficace. Oui.

[01:02:16] Quincy: C'est là où vous donnez un certain pourcentage de votre salaire à une organisation à but non lucratif et vous vous êtes engagé à distribuer, et il y a toutes ces organisations qui classent les œuvres de bienfaisance par leur efficacité. freeCodeCamp, nous avons une cote de transparence platine sur GuideStar.org, je pense.

Mais il y a une organisation formidable appelée Donors Choose, et c'est ce que Haseeb et beaucoup d'autres personnes pratiquant l'altruisme efficace utilisent. Cette organisation classe essentiellement les œuvres de bienfaisance pour leur efficacité et vous aide à maximiser l'impact que chaque dollar que vous donnez aura.

Malheureusement, parce que freeCodeCamp est si nouveau, nous n'avons pas les sept années de déclarations fiscales nécessaires pour pouvoir être éligibles à ces listes. Donc c'est une chose qui finira par arriver et nous sauvera, je pense, car je suis confiant que nous pourrons figurer sur ces listes.

Je suis confiant que, comme vous l'avez dit, nous allons commencer à avoir beaucoup plus d'anciens élèves qui sont dans une position où ils peuvent faire des dons importants. freeCodeCamp sera éventuellement en mesure d'avoir beaucoup de ressources que nous pourrons utiliser, comme la Croix-Rouge, et comme Médecins Sans Frontières et beaucoup de ces autres organisations à but non lucratif qui font un travail énorme et sont capables d'employer beaucoup de personnes pour la cause qu'elles ont poursuivie.

Donc, je suis confiant que freeCodeCamp y parviendra. C'est juste la période intermédiaire un peu difficile où tout est maintenu avec du ruban adhésif qui m'inquiète. Maintenant, freeCodeCamp, nous pourrions en théorie licencier tout le monde. Je pourrais me licencier. Je pourrais simplement aller chercher un emploi quelque part et payer pour les serveurs, et je pense que si je travaillais quelque part, je pourrais probablement continuer à payer les serveurs et garder freeCodeCamp en vie. Le pire des scénarios absolu.

Donc, je ne suis plus inquiet que freeCodeCamp ne disparaisse simplement. Cela n'arrivera pas. La vraie question est combien de potentiel pour faire du bien dans ce monde nous laissons passer en étant si sous-capitalisés. C'est ce qui me tient éveillé la nuit, le potentiel manqué.

[01:04:14] Jeff: Nous n'irons pas beaucoup plus loin sur ce sujet. Mais si Bill et Melinda Gates disaient, "Vous savez quoi, Quincy ? 2 millions de dollars par an. Vous les avez." L'accepteriez-vous ?

[01:04:25] Quincy: Je ne suis pas sûr. Je ne peux pas dire définitivement que nous le refuserions catégoriquement car il y a la possibilité que beaucoup de nos donateurs diraient, "Oh ! Vous devriez l'accepter."

Mais si cela signifiait que l'acceptation de cet argent allait faire chuter dramatiquement nos petits dons de base, je le refuserais probablement. Parce qu'à long terme, c'est une stratégie beaucoup plus robuste pour une organisation comme freeCodeCamp d'avoir des dizaines de milliers de parties prenantes qui font des dons chaque année plutôt que d'avoir une ou deux grandes fondations qui contrôlent son destin.

[01:04:55] Jeff: Comment le marché des produits d'éducation au codage a-t-il changé depuis que vous avez commencé freeCodeCamp ?

[01:05:03] Quincy: Je pense que de plus en plus de gens ont réalisé que vous pouvez obtenir un bon emploi si vous apprenez à coder. Les choses n'ont pas assez changé, cependant. Je suis surpris de voir à quel point les choses ont peu changé. Si vous regardez le nombre de diplômés en informatique aux États-Unis, il n'a pas augmenté de manière spectaculaire. Il a un peu augmenté, mais pas en ligne avec ce à quoi on pourrait s'attendre.

Je suis ravi qu'il y ait autant de bootcamps de codage qui aident les gens dans leurs communautés à apprendre à coder. Je suis surpris qu'il n'y en ait pas plus. Je suis surpris que tant d'entre eux aient fait faillite, car il y a encore tant d'emplois non pourvus qui nécessitent du codage. Environ 60 % de tous les emplois STEM nécessitent de la programmation.

J'ai beaucoup d'amis qui font des doctorats dans différents domaines, la science, la génomique, toutes ces choses, et ils utilisent la programmation presque exclusivement. C'est ce qu'ils font. Ils prennent les ensembles de données et écrivent des scripts pour analyser ces données de manière fiable où ils créent des pipelines pour pouvoir analyser les données. Toute personne travaillant avec des données doit savoir programmer, et pourtant les choses évoluent si lentement.

C'est une chose qui me surprend totalement, c'est que lorsque j'ai commencé freeCodeCamp, j'étais si sûr que le gouvernement allait déverser des tonnes d'argent sur l'éducation à la programmation, ou tout l'argent que Google et toutes ces autres entreprises déversaient dans l'éducation – Facebook, que cela allait faire une énorme différence et puis soudainement il n'y aurait plus une telle pénurie de développeurs qu'ils ne seraient plus si rares. Ce serait bien. Je pense que ce serait formidable s'il pouvait y avoir un million de développeurs de plus en Amérique, ou deux ou trois millions de plus.

[01:06:43] Jeff: Il doit y en avoir beaucoup plus. Je pense que les indices ne les capturent simplement pas, n'est-ce pas ?

[01:06:48] Quincy: Je ne suis pas sûr. Je veux dire, il y a définitivement plus de développeurs. Mais vous devez comprendre. Je suis tellement pris dans le méta. Je suis sur Twitter en voyant les gens poster qu'ils viennent d'obtenir un nouvel emploi. C'est un peu la pointe de l'iceberg. Il y a tellement de gens qui – Et c'est la chose folle quand vous commencez à penser à la macroéconomie et que vous commencez à penser à la manière dont il y a des milliards de gens autour du monde qui travaillent et des millions de gens juste aux États-Unis qui travaillent aux caisses enregistreuses et dans le commerce de détail, des choses comme ça.

Vous commencez à penser à toutes ces personnes et puis vous pensez à la très, très, très petite proportion de gens qui savent coder et comment ces gens qui savent coder pourraient complètement transformer ces industries et rendre les choses dramatiquement plus efficaces et débloquer tant de potentiel économique, et pourtant cela n'arrive pas près d'aussi vite que nous le voulons.

[01:07:37] Jeff: Qu'est-ce que vous comprenez aujourd'hui sur l'éducation au codage que vous ne saviez pas au début de freeCodeCamp ?

[01:07:43] Quincy: Je dirais que c'est quelque chose que j'ai dramatiquement sous-estimé, c'est simplement l'aspect motivationnel. La programmation n'est pas intrinsèquement une chose technique difficile. Je pense qu'il y a probablement beaucoup de sujets qui sont beaucoup plus difficiles à comprendre que la création de quelques algorithmes et structures de données de base, n'est-ce pas ?

[01:08:03] Jeff: C'est sûr, mon ami.

[01:08:05] Quincy: Et pourtant, c'est un domaine très frustrant à intégrer, car tout le temps vous êtes assis là avec un compilateur ou avec un interpréteur qui vous dit que vous avez tort, vous avez tort, vous avez tort, vous avez tort. Vous recevez des messages d'erreur. Vous recevez des tests de champ. Les choses ne fonctionnent pas. Vous allez lire des discussions sur stack overflow de il y a 10 ans et essayez de vous débloquer constamment. Donc, il faut beaucoup de détermination pour apprendre à coder et il faut beaucoup de détermination pour persévérer et ne pas simplement aller élever des chèvres ou autre chose un an ou deux après le début de votre carrière.

Pour moi, la programmation est avant tout un défi motivationnel plus que tout autre chose, et cela a vraiment été mis en évidence alors que j'ai vu des gens abandonner le domaine, pour ainsi dire, non pas parce qu'ils ne pouvaient pas le faire, mais parce qu'ils ne voulaient plus continuer. Ils étaient comme, "Oh ! S'il vous plaît, donnez-moi – Oh ! Il y a un poste de gestion. Je n'ai plus besoin de coder. Laissez-moi sauter sur celui-ci," n'est-ce pas ? Donc, c'est l'une des choses sur lesquelles nous avons travaillé très dur, c'est comment pouvons-nous garder les gens inspirés. Nous avons une section sur le formulaire freeCodeCamp appelée Vous Pouvez Le Faire, et les gens, lorsqu'ils ressentent la profondeur de leur frustration, la profondeur de leur désespoir, peuvent y aller et les gens les encouragent.

Je pense que tous les groupes de rencontre dans différentes villes et tous les différents groupes d'étude et toutes ces organisations, comme Women Who Code comme Hack Club. Ils gardent les gens motivés et les poussent à avancer à travers le désespoir et les font progresser avec leurs compétences afin qu'ils puissent progressivement s'acclimater à la tension d'être un développeur. Il n'y a pas de règle qui dit que vous devez éventuellement arrêter de programmer et que vous devez passer à un rôle de gestion, n'est-ce pas ? Il y a beaucoup de gens qui aiment programmer et qui le font depuis des décennies. Donc, comment pouvons-nous garder les gens motivés et intéressés par la technologie et les empêcher de s'épuiser ?

[01:10:00] Jeff: Je ne pourrais pas être plus d'accord avec ce que vous dites ici. Le moment où j'ai croisé votre chemin sur Internet pour la première fois était lorsque j'étais beaucoup sur Quora. Une des raisons pour lesquelles je passais autant de temps sur Quora était que j'avais vraiment beaucoup de difficultés dans mon éducation en informatique à l'université. Je pense que l'une des raisons pour lesquelles j'avais tant de difficultés est que l'éducation traditionnelle en informatique à l'université n'est pas conçue pour inspirer. Elle est plutôt conçue pour renforcer cette frustration et cette mentalité de tour d'ivoire, comme, "Regardez, le compilateur vous dit que vous avez tort, parce que vous n'avez pas votre place ici, et vous êtes un idiot."

Je sentais que cela était renforcé dans les manières de beaucoup de mes professeurs, comme, "Regardez, si vous ne pouvez pas le faire, si vous ne pouvez pas écrire les tests unitaires, si vous ne pouvez pas terminer vos projets en deux semaines, peut-être devriez-vous abandonner. Peut-être que cette majeure n'est pas pour vous. Peut-être devriez-vous aller en MIS. Peut-être devriez-vous retourner à l'école de commerce. Peut-être devriez-vous partir d'ici." Ils prenaient vraiment cette attitude comme, "Peut-être devriez-vous faire un pas en arrière."

Ce n'est pas l'attitude qu'un éducateur devrait adopter. L'éducateur devrait essentiellement adopter, "Regardez, que devons-nous faire pour remodeler votre esprit afin que vous puissiez réellement réussir dans ce domaine, car ce n'est vraiment pas si difficile." Oui, je veux dire qu'il y avait quelque chose avec Quora. Il y avait quelque chose avec la culture Internet. La culture Internet a les éléments d'inspiration dont vous avez besoin – je veux dire, Seth Godin, quelqu'un dont je suis fan. J'ai trouvé son podcast à peu près à la même époque et il est tout à fait pour donner le doigt d'honneur à ces gens qui vous disent que ce n'est pas quelque chose de réalisable. Cela va prendre de la détermination, mais cela ne va pas prendre beaucoup plus que cela.

[01:12:06] Quincy: Ce que vous avez décrit avec l'expérience universitaire que vous avez vécue, c'est une réalité malheureuse dans de nombreuses universités aujourd'hui. Ici aux États-Unis et aussi à l'étranger, il y a ce genre d'élitisme. Je ne suis pas sûr exactement pourquoi c'est le cas. Cela pourrait être simplement enraciné dans le fait que les professeurs d'université se battent si fort pour des postes si rares dans le milieu universitaire.

[01:12:29] Jeff: Et la lignée des mathématiques et de la physique de l'informatique.

[01:12:33] Quincy: Oui. Mais la réalité sur le terrain, elle ne pourrait pas être plus différente de cette rareté que ces arbitres essaient de renforcer. La réalité est qu'il y a des opportunités incroyables, et ce n'est pas seulement le cas pour l'ingénierie logicielle, mais je pense aussi pour la médecine. La médecine a ce processus de bizutage presque rituel qu'ils font subir à tous les médecins, et l'école de médecine est brutale, et [inaudible 01:13:53] est brutale.

[01:13:54] Jeff: Je ne sais pas si je vous ai dit cela, mais j'étais pré-médecine jusqu'à ce que je suive le cours de chimie organique. Il y a eu ce semestre où j'ai suivi le cours de chimie organique. J'ai dit, "D'accord. Très bien. J'ai été vérifié, je suis dehors. Paix." Je ferais exactement la même chose. Oui, le processus de sélection. Désolé. Je suis désolé. Ne pas prendre ma place sur le canapé.

[01:14:13] Quincy: C'est vraiment malheureux qu'à la fin de l'année 2018, tant d'éducation soit encore comme cela. C'est encore un peu – Presque toujours un homme qui a marché dans la neige en montée dans les deux sens et veut s'assurer que vous le faites aussi. Quel est l'effet de cela ? Eh bien, si vous voulez voir pourquoi la profession est si homogène, c'est parce que les personnes qui ne peuvent pas se visualiser ne peuvent pas trouver des personnes qui leur ressemblent ou viennent de milieux similaires dans la profession. Ils n'ont même pas cette lueur d'espoir que vous ou moi pourrions avoir en voyant un gars qui ressemble à notre père, par exemple, qui est dans le domaine et en disant, "Eh bien, nous pouvons faire cela aussi." Ils n'ont même pas cela.

Donc, il y a encore moins pour aider à donner du pouvoir à travers ce processus de sélection. Donc, oui. Je suis optimiste que si quelque chose, freeCodeCamp peut présenter une compétition aux programmes d'informatique universitaire et les forcer à devenir plus inclusifs et à arrêter de bizuter les gens. freeCodeCamp peut essentiellement, en augmentant la qualité de ce qui est disponible gratuitement, forcer tout le monde à améliorer leur jeu. Si rien d'autre, je serai très fier de cette contribution à l'éducation que nous avons élevée le plancher.

[01:15:38] Jeff: Voyez-vous une continuation de l'éducation des fondamentaux de l'informatique, des meilleures pratiques de l'ingénierie logicielle, de la sécurité, de la science des données, etc. ? Voyez-vous une continuation de celles-ci dans peut-être des leçons sur l'entrepreneuriat ? Voulez-vous que freeCodeCamp soit un endroit où l'on peut devenir full stack, de l'apprentissage du codage à la construction d'une entreprise logicielle ?

[01:16:16] Quincy: Voici ma réflexion sur ce sujet, et je réalise que cela peut être contraire à beaucoup d'opinions populaires et à beaucoup de souhaits concernant l'entrepreneuriat. Je pense que avant de pouvoir être un entrepreneur à succès, vous devriez sortir et travailler pour d'autres personnes et gérer d'autres personnes au sein d'une organisation existante. Sinon, vous allez être quelque peu naïf et vous allez devoir faire beaucoup d'erreurs sur votre propre argent ou sur l'argent de vos investisseurs, et beaucoup de gens vont souffrir de ces erreurs qui seraient quelque peu protégés si elles étaient dans l'une de ces organisations.

Donc, j'ai passé environ six ans à diriger des écoles, et cette expérience de gestion était absolument essentielle. freeCodeCamp n'existerait pas si j'étais un jeune diplômé qui essayait de créer un projet comme celui-ci. Je pense qu'il y a une raison pour laquelle l'âge médian d'un entrepreneur à succès est généralement dans la quarantaine ou la cinquantaine, car ils ont été autour. Ils ont travaillé avec un système existant. Ils comprennent non seulement comment les choses sont, mais pourquoi les choses sont comme elles sont. Ainsi, ils sont capables de penser dans ces contraintes et de faire de légères modifications à ces permutations et de rendre leur organisation réussie.

La clé du succès n'est pas de défier la convention. C'est de savoir quels aspects de la convention garder en place et quels aspects rejeter, cette sélectivité. Donc, l'idée que freeCodeCamp devienne une sorte d'apprentissage du codage et de l'entrepreneuriat, je pense que cela est probablement au-delà de la portée de freeCodeCamp, car je ne sais pas si c'est nécessairement possible de le faire de manière fiable. Je pense que les gens devraient sortir et obtenir des emplois. Je pense que c'est une bonne façon d'obtenir un emploi, mais vous devriez vraiment travailler dans une entreprise avec une équipe d'ingénieurs logiciels à vos côtés et un chef de produit et des parties prenantes et des clients et toutes ces choses afin de mieux comprendre l'ensemble du processus de développement logiciel.

Je suppose que peut-être si je suis un peu plus pessimiste sur l'entrepreneuriat, c'est juste que je suis prudent. J'ai vu des gens détruire leurs économies. J'ai vu des gens détruire leurs réputations en prenant trop de risques trop rapidement. Donc, la vie est longue. L'espérance de vie humaine devrait idéalement augmenter. J'ai presque 40 ans et j'espère vivre jusqu'à 100 ans, et je vais continuer à apprendre tout au long de ce processus, mais j'encouragerais les gens qui sont relativement tôt dans leur carrière à continuer à travailler et à apprendre sur le côté et à continuer à apprendre autant qu'ils peuvent sur le temps de quelqu'un d'autre avant de sortir et d'essayer de faire une expérience risquée, car l'entrepreneuriat est une – Je pense que la définition de l'entrepreneuriat est quelqu'un qui porte le risque et vous devez être prêt à porter ce risque. Vous devez avoir des économies. Vous devez avoir un plan B si les choses tournent mal. Toutes ces choses vous mettront en place pour le succès plus que simplement suivre un cours en ligne et essayer de vous lancer dans l'entrepreneuriat, à mon avis.

[01:19:31] Jeff: Je veux parler d'architecture logicielle et d'ingénierie logicielle, car vous aviez ce – Comme vous l'avez dit, ce post sur ce qui n'a pas fonctionné avec les serveurs de freeCodeCamp. Vous aviez aussi ce post récent sur freeCodeCamp à cinq ans. Votre architecture logicielle est devenue assez compliquée. Vous avez beaucoup de choses en cours. Vous avez des défis d'ingénierie sérieux car vous êtes à grande échelle. Je veux dire, qu'êtes-vous ? Le 1700e site le plus populaire selon les classements Alexa ? Quelque chose comme ça ?

[01:20:10] Quincy: J'ai dû le chercher, mais nous sommes actuellement 1589e au moment de l'enregistrement.

[01:20:18] Jeff: Cela indique un énorme trafic. La raison pour laquelle il y a un énorme trafic est que vous avez beaucoup de contenu. Vous avez beaucoup de programmes. J'aimerais parler – Nous ne parlons pas en détail de la manière dont le programme fonctionne aujourd'hui, car je pense que probablement beaucoup de personnes qui écoutent sont des étudiants de freeCodeCamp, ou des personnes qui l'ont déjà vu. Mais parlons simplement des contours de freeCodeCamp à un niveau élevé, comme freeCodeCamp en tant que produit, et la surface du produit. Ensuite, nous pouvons creuser dans certains des problèmes architecturaux intéressants que vous devez résoudre avec un produit qui est à cette échelle, à ce débit, et avec un budget aussi petit. Donc, vous avez tous ces compromis de coûts intéressants à faire également. Donc, parlons d'abord simplement de la surface du produit.

[01:21:13] Quincy: Bien sûr. Donc, freeCodeCamp est vraiment trois applications principales différentes. Il y a le programme et les portfolios. C'est l'un des piliers, et c'est pour la plupart du code personnalisé. C'est ce que nous appelons la plateforme. C'est généralement de cela que nous parlons. Nous avons aussi freeCodeCamp.org/news, qui est notre publication, et nous publions plusieurs articles par jour, souvent du journalisme explicatif approfondi, de la biotechnologie. Ensuite, nous avons le forum freeCodeCamp, et c'est le troisième pilier de freeCodeCamp.

Maintenant, ces trois applications fonctionnent sur des serveurs séparés. Le forum freeCodeCamp est alimenté par Discourse, qui est un outil de forum auto-hébergé open source vraiment cool créé par le fondateur de Stack Overflow, Jeff Atwood et son équipe. Il est très bien maintenu, et vous pouvez obtenir votre propre instance de discours en fonctionnement très facilement si vous le souhaitez. Vous pouvez simplement le déployer dans le cloud et il vivra sur son propre serveur dans un conteneur Docker, et le tour est joué. Même chose avec freeCodeCamp.org/news. Il fonctionne sur Ghost, qui est un autre projet open source auto-hébergé qui vient de sortir la version 3 de leur outil. C'est comme WordPress, mais il n'a pas beaucoup des bagages qui accompagnent WordPress. WordPress est excellent, mais il a certaines vulnérabilités et il a un système de plugins très compliqué, et WordPress essaie de faire beaucoup de choses, alors que Ghost essaie simplement d'être un outil de publication.

Donc, nous avons peut-être 7 000 articles sur freeCodeCamp.org/news à ce stade, et nous avons des centaines de milliers de messages sur freeCodeCamp.org/forum. Donc, ce sont ces deux-là. Maintenant, si vous voulez, je peux approfondir ce qui alimente la plateforme freeCodeCamp, le programme principal.

[01:23:17] Jeff: S'il vous plaît.

[01:23:18] Quincy: Oui. Donc, nous utilisons React en frontend. Nous utilisons node comme backend. Nous utilisons un outil appelé Loopback, qui est un outil d'API. Il transforme essentiellement toute votre application en une API où toutes les routes peuvent récupérer du JSON ainsi que du HTML. C'est quelque chose qui est déjà intégré dans des outils comme Ruby on Rails. Avec Ruby on Rails, vous pouvez prendre n'importe quelle URL et vous pouvez simplement mettre .json à la fin et obtenir une représentation JSON des données et de cette route. Donc, Loopback fait beaucoup de choses.

Nous utilisons MongoDB pour notre base de données et nous avons un cluster géré qui est MLab, et nous travaillons à le transférer vers le nouvel outil Atlas de MongoDB. MLab a été acquis par MongoDB récemment. Donc, ils mettent progressivement fin à MLab, je pense. Donc, nous sommes en train de transférer tout. Mais c'est bien d'avoir un grand système partitionné, car nous avons beaucoup de données. Nous avons des millions d'enregistrements, et chacun de ces enregistrements a des millions de complétions de défis et beaucoup d'autres données qu'ils ont ajoutées à leur portfolio.

Les portfolios eux-mêmes, nous travaillons à les développer et à les rendre beaucoup plus riches en termes de données. Vous pouvez soumettre beaucoup de projets différents que vous avez construits en dehors du programme freeCodeCamp. Si vous avez construit votre propre jeu JavaScript, par exemple, vous pourriez le soumettre. En le transformant davantage en une sorte de LinkedIn léger pour les développeurs. Donc, nous travaillons sur cela.

La plateforme elle-même en termes de programme est une application Gatsby, et vous accédez à cette URL, freeCodeCamp.org/learn, et l'ensemble du programme se charge et reste dans votre navigateur, tout, comme des milliers de défis. Ensuite, lorsque vous complétez des défis, il les publie sur le serveur. Si vous vous déconnectez du serveur pour une raison quelconque, vous pouvez continuer à compléter des défis. Ensuite, lorsque vous vous reconnectez, il poussera tout cela vers les serveurs de freeCodeCamp. Donc, nous sommes très proches d'avoir une application entièrement fonctionnelle hors ligne, comme une application web progressive à cet égard. Ce n'est pas tout à fait là, mais nous en sommes peut-être à quelques mois. Nous avons travaillé dessus au cours de l'année dernière.

[01:25:42] Jeff: C'est génial. Je veux dire, la fonctionnalité hors ligne, c'est quelque chose que les pays en développement – Je veux dire, c'est une nécessité – Pour avoir une expérience fluide, vous avez besoin de cette fonctionnalité hors ligne.

[01:25:56] Quincy: Ce que vous venez de dire sur les personnes dans les pays en développement, freeCodeCamp est fondé sur un seul principe, et c'est l'accès. Cela ne signifie pas seulement l'accessibilité en termes de personnes aveugles pouvant utiliser freeCodeCamp. Les personnes ayant des déficiences motrices pouvant utiliser freeCodeCamp. Toutes ces personnes peuvent utiliser freeCodeCamp. Nous avons un score Lighthouse de 100 pour l'accessibilité, et nous prenons cela en considération dans tout ce que nous faisons.

Mais aussi les personnes qui ont des coupures de courant fréquentes, un accès Internet fréquemment interrompu. Donc, non seulement nous essayons de construire la PWA qui répond à toutes ces préoccupations, mais nous rendons également nos données aussi petites que possible afin que l'ensemble du programme freeCodeCamp tienne dans un espace de quelques mégaoctets. Mais nous travaillons également à obtenir éventuellement une application Android, et peut-être même une application iOS. Parce que beaucoup de gens en Inde, beaucoup de gens au Nigeria, dans d'autres pays où un tas de gens utilisent freeCodeCamp, au Pakistan, au Kenya, des endroits comme ça, nous voulons nous assurer qu'ils sont capables de l'utiliser sur leurs propres appareils, et les gens n'ont pas nécessairement d'ordinateurs portables.

Donc, nous avons récemment complètement repensé l'expérience mobile de freeCodeCamp, la version web mobile, pour la rendre plus facile, mettre tout dans un onglet afin que vous puissiez passer de votre code à vos tests et à votre aperçu HTML, à votre sortie de console. Nous travaillons également à ce qu'elle fonctionne de manière native afin que vous puissiez simplement télécharger une application freeCodeCamp depuis l'App Store et vous êtes prêt. Ensuite, lorsque vous avez une connectivité Internet, elle pousse tout votre contenu et vous pouvez toujours réclamer les certifications et tout. Mais nous intégrons de plus en plus cela dans freeCodeCamp.

Par exemple, en ce moment, la plupart des projets sont construits sur CodePen, ce qui est génial. Nous aimerions que tous ceux-ci puissent être construits directement sur freeCodeCamp afin que vous n'ayez pas besoin d'aller sur un site web externe pour construire vos projets. Nous travaillons également avec un code que Mozilla vient de publier pour pouvoir exécuter Python dans le navigateur. Donc, nous allons enseigner les concepts de science des données avec Python et nous allons enseigner TensorFlow, NumPy, Keras, beaucoup de ces bibliothèques en Python dans le cadre de notre programme principal.

[01:28:02] Jeff: Je pense que l'ensemble de l'architecture backend est trop complexe pour être présenté aux gens dans un podcast, malheureusement, mais c'est une architecture backend intéressante, et j'encourage les gens à vérifier vos articles, vos articles récents à ce sujet sur freeCodeCamp News. Mais juste pour donner un peu de contexte sur les types de problèmes que vous devez résoudre, pouvez-vous me parler d'un problème d'ingénierie particulièrement difficile – je veux dire, pas celui que vous avez décrit dans votre récent article, car vous l'avez un peu détaillé de manière excessive, ou peut-être s'il y a des détails que vous n'avez pas détaillés. Nous pourrions aller plus loin dans cela. Mais j'aimerais simplement connaître un goulot d'étranglement de scalabilité particulier ou un défi d'ingénierie backend difficile qui est emblématique des types de problèmes d'ingénierie logicielle que freeCodeCamp rencontre.

[01:29:00] Quincy: Je dirais que nous avons des défis spécifiques au backend liés à l'échelle et à la manière dont nous sommes architecturés et à des choses comme cela. Mais peut-être plus intéressant serait le chevauchement entre la conception pédagogique et l'ingénierie que nous avons dû naviguer. Donc, nous avons très tôt décidé que nous voulions que tout fonctionne côté client, comme tous les tests fonctionnent côté client. C'est pour minimiser la quantité de latence. C'est aussi pour minimiser la variabilité et des choses comme cela. Donc, cela a été un vrai défi de faire enseigner beaucoup de ces sujets de manière entièrement interactive et testée côté client.

Donc, certaines des premières choses que nous avons dû surmonter, par exemple, c'est comment allons-nous enseigner, par exemple, les API Rest et spécifiquement comment allons-nous enseigner Ajax et des choses comme cela de manière interactive dans le navigateur. Donc, ce sont des choses où nous avons presque dû adapter l'instruction au média et aux contraintes du média. Donc, cela a été un défi continu, et nous avons eu des percées au fil des ans sur la manière dont nous pourrions tester différentes choses. Comment nous pourrions –

Donc, l'une des grandes percées récentes – je pense il y a environ un an et demi, nous avons décidé que les suites de tests, les projets à l'origine, n'avaient pas de suites de tests associées. Vous deviez simplement le construire et ensuite nous le révisions manuellement et d'autres personnes vous donnaient des commentaires sur vos projets. Mais il n'y avait pas cette boucle de feedback serrée comme, "Oh, ce projet ne – Ce projet fait exactement ce qu'il est censé faire et il a l'air comme il le fait."

Donc, ce que nous avons fait, c'est que nous avons créé ce point de terminaison API que vous pouvez atteindre et vous pouvez télécharger une suite de tests directement dans votre projet où que vous le construisiez. Que vous le construisiez localement sur votre ordinateur local, que vous le construisiez sur un CodePen, que vous le construisiez sur une application GitHub pages que vous déployez dans Netlify ou quelque chose comme ça. Vous pouvez charger cette suite de tests et vous pouvez l'exécuter directement contre votre code. Donc, chaque fois que vous soumettez l'URL, vous certifiez également qu'elle passe tous ces tests. Donc, il y aura peut-être comme 15 ou 20 tests différents dans une suite de tests pour ces différents projets.

freeCodeCamp, si vous ne le savez pas, est essentiellement tout en projets. Nous avons des leçons pour le moment. Nous supprimons ces leçons et nous les remplaçons par des projets pratiques où vous apprenez JavaScript en construisant un jeu de rôle, par exemple. Vous construisez un jeu de rôle entièrement fonctionnel où vous allez comme combattre un dragon, obtenir une épée, construire vos points de vie et des choses comme ça. Mais vous construisez cela ligne par ligne avec JavaScript. C'est ainsi que vous apprendrez JavaScript, en construisant un jeu de rôle.

[01:31:39] Jeff: Je veux dire, à moins que vous ne vouliez approfondir ce problème d'ingénierie, je veux sauter sur ce que vous venez de dire, l'idée de construire un jeu de rôle plutôt que d'avoir ces leçons spécifiques.

[01:31:51] Quincy: Oui. Nous avons toujours voulu avoir un apprentissage entièrement orienté projet, et dans une certaine mesure, le programme freeCodeCamp existant, comme lorsque vous construisez la première application HTML, vous construisez une sorte d'application photo. Mais c'est encore une série de leçons discrètes, n'est-ce pas ? Le nouveau programme que nous construisons, nous l'appelons la version 7 du programme freeCodeCamp, est totalement axé sur les projets. Donc, au lieu d'avoir une série de leçons discrètes, vous aurez simplement un énorme éditeur de code qui prend presque tout l'écran et c'est Visual Studio code. Nous utilisons Monaco, qui est la version navigateur de Visual Studio code.

[01:32:29] Jeff: Oh, génial !

[01:32:30] Quincy: Oui. Donc, vous obtenez toute la coloration syntaxique. Vous obtenez toute la complétion par tabulation, toutes ces fonctionnalités, n'est-ce pas ? Vous n'avez pas l'expérience complète de l'IDE, mais vous pouvez en tirer une partie. En tout cas, ce que ce sera, c'est qu'il y aura simplement un énorme éditeur de code et nous allons diviser l'éditeur de code et il y aura un test à l'intérieur de celui-ci juste au-dessus de l'endroit où vous devez changer le code ou taper une ligne de code. Ensuite, vous passez cela et, boom ! L'éditeur de code se referme et une nouvelle faille se forme en dessous sur la ligne suivante, et il y a un test. Tout est enseigné à travers une série de tests que vous devez passer.

Donc, vous allez avoir des centaines de tests qui passent. Au cours du processus, vous allez construire cette application sophistiquée. Il y aura beaucoup plus de répétition qu'il n'y en a actuellement. C'est l'une des principales plaintes concernant le programme freeCodeCamp, c'est que nous abordons un tas de sujets en succession rapide et nous ne les revisitons pas nécessairement autant jusqu'à ce que vous arriviez aux projets de certification. Eh bien, nous allons essayer d'intégrer beaucoup de répétition pour aider – Même si le rappel n'est pas aussi important en développement logiciel que la reconnaissance, et dans certains domaines, le rappel est tout. C'est pourquoi tout le système éducatif américain est essentiellement basé sur la rétention, n'est-ce pas ? Vous vous souvenez de tous ces faits afin de pouvoir passer ce test. Avec l'ingénierie logicielle, tout est à portée d'une recherche Google.

Mais nous sommes toujours – Parce que c'est ainsi que les gens sont formés dans presque tous les systèmes éducatifs sur terre, ils sont formés à retenir les choses et ils ne devraient pas – Il y a une gêne associée à avoir un souvenir vague de quelque chose, mais à ne pas avoir une connaissance concrète que l'on peut rappeler. Donc, nous sommes presque – C'est une concession à la manière dont les gens sont ou à la rencontre des gens là où ils sont, au lieu de là où nos esprits d'enseignants purs pensent qu'ils devraient aller. Mais nous allons incorporer plus de répétition pour cette raison même, pour rendre les gens à l'aise, car c'est l'une des raisons les plus courantes que les gens donnent lorsqu'ils quittent freeCodeCamp. C'est comme, "Oh, je n'avais pas l'impression d'apprendre quoi que ce soit. Je n'avais pas l'impression de retenir quoi que ce soit. J'ai fait toutes ces choses et à la fin de la journée, je ne pouvais pas me souvenir de la syntaxe exacte de la manière dont vous faites une déclaration booléenne en JavaScript ou quelque chose comme ça," n'est-ce pas ?

Donc, il y aura beaucoup plus de répétition, mais vous allez construire à travers une série de tests discrets à chaque étape, un seul test que vous devez réussir. Boom ! Vous passez au suivant, et vous allez entrer dans cet état de flux où toutes les 30 ou 40 secondes vous allez avoir un test qui passe et vous avancez, et espérons que comme une seule séance vous allez construire une application. Donc, vous allez construire – En ce moment, l'ensemble du programme freeCodeCamp est de 30 projets. À la fin de cette mise à jour de version, il sera plus proche de 100 projets que vous allez construire.

[MESSAGE DE SPONSOR]

[01:35:22] Jeff: Le feature flagging facilite la modification rapide du fonctionnement de votre produit par votre équipe, et CloudBees Rollout vous permet de gérer facilement les feature flags. Lorsque vous avez une solution pour gérer les feature flags à grande échelle, vous êtes en mesure de déployer en continu et de manière intelligente des modifications dès qu'elles sont terminées sur n'importe quelle plateforme, même mobile. Vous pouvez découpler le développement de la publication du code pour un contrôle des modifications en temps réel. Vous pouvez annuler uniquement les modifications que vous ne voulez pas, ou les conserver.

Vous pouvez basculer des fonctionnalités. Vous pouvez utiliser des flags multivariés pour les tests A-B et vous pouvez supprimer des fonctionnalités défectueuses avec un interrupteur d'urgence. Tout cela fait partie de la plateforme de feature flags qu'est CloudBees Rollout.

Visitez softwareengineeringdaily.com/cloudbees et essayez un essai gratuit de 14 jours et découvrez comment CloudBees Rollout peut vous aider avec chaque publication. Visitez softwareengineeringdaily.com/cloudbees pour obtenir un essai gratuit. Cloudbees Rollout est approuvé par de grands utilisateurs, tels que Zendesk et Jet.com. Essayez-le dès aujourd'hui sur softwareengineeringdaily.com/cloudbees.

[INTERVIEW CONTINUÉE]

[01:36:46] Jeff: C'est intéressant que le passage de l'avoir – Comme je peux imaginer le plan de leçon initial pour freeCodeCamp, comme, "D'accord. D'abord, vous faites Hello World. Ensuite, vous découvrez comment analyser JSON. Ensuite, vous découvrez une méthode à deux chaînes ou quelque chose." Le genre de trucs ennuyeux de la plaque de cuisson. Je pense que ce que j'entends, c'est que vous trouvez que le matériel de la plaque de cuisson ennuyeux peut être épuisant. Cela peut être un effet secondaire de commencer par quelque chose qui est excitant et amusant à faire, et peut-être ajouter un peu de répétition, un rythme un peu plus lent, mais se concentrer complètement sur l'orientation du projet, car c'est plus amusant et que la motivation est si importante, et vous serez en mesure d'obtenir le matériel de la plaque de cuisson ennuyeux simplement comme un résultat additif de l'accent mis sur le projet. Est-ce que je comprends cela correctement ?

[01:38:06] Quincy: Exactement. Mon professeur d'économie lorsque j'étais en école de troisième cycle, il m'a fait asseoir pendant l'une de nos sessions de bureau et il a pris un livre sur son étagère et il a commencé à simplement – Il l'a posé sur le bureau et il a commencé à le feuilleter et il y avait juste une série d'équations. Il a dit, "C'est mon doctorat en économie. Ce livre de cent pages contient toutes les équations que nous utilisons pour mon doctorat en économie. J'ai passé six ans après le premier cycle à apprendre ces trucs, et tout cela tient dans un livre de cent pages."

Mais ce ne sont que les faits bruts, n'est-ce pas ? Cela néglige complètement l'élément humain de la manière dont nous luttons avec l'apprentissage, de la manière dont nous retenons, de la manière dont nous internalisons ces leçons, n'est-ce pas ? Les gens ne s'assoient pas et ne commencent pas à mémoriser des équations. Ce n'est pas ainsi que les humains fonctionnent. C'est ainsi que les ordinateurs fonctionnent. Les ordinateurs sont très bons pour retenir les faits parfaitement. Les humains ne fonctionnent pas de cette manière. Les humains apprennent par l'expérience. Donc, beaucoup de notre parcours avec freeCodeCamp vers l'observation de la manière dont des millions de personnes interagissent, en regardant qui a décidé de continuer, qui arrive à la fin. Qu'est-ce qui les motive ? Quels types de projets construisent-ils ? Comment leurs projets sont-ils différents des personnes qui s'arrêtent à mi-chemin ? Tout cela s'est cristallisé dans cette orientation purement axée sur les projets que nous adoptons maintenant avec la grande mise à jour du programme freeCodeCamp à venir en 2020.

[01:39:38] Jeff: Essayez-vous de le tester ? Le lancez-vous sur de nouveaux utilisateurs de manière progressive, ou avez-vous suffisamment confiance que c'est la direction à suivre pour que vous n'ayez pas l'impression de devoir faire un test A/B et un changement progressif du programme ?

[01:39:59] Quincy: Le test A/B est vraiment bon pour quelque chose, n'est-ce pas ? C'est vraiment bon pour déterminer, par exemple, quelle couleur de bouton va faire convertir les gens dans votre panier d'achat, n'est-ce pas ? C'est moins bon pour quelque chose où vous essayez de guider quelqu'un à travers une expérience très complexe.

Je n'ai aucun doute que lorsque les gens disent qu'il y a plus d'art que de science dans quelque chose, ils ne connaissent pas encore les tenants et aboutissants. Je n'ai aucun doute qu'il existe probablement une très bonne façon de faire des tests A/B et d'arriver à une solution totalement optimale, mais je doute que nous puissions le faire de manière efficace dans le temps. Donc, dans une certaine mesure, oui, nous assemblons simplement cela, notre meilleure supposition, et ensuite nous allons le mettre en ligne et voir comment les gens réagissent. Nous avons des données très granulaires. Nous savons exactement combien de secondes en moyenne les gens passent sur un défi spécifique au sein du programme freeCodeCamp. C'est ainsi que nous avons identifié beaucoup de goulots d'étranglement.

Ma philosophie a été que les gens ne devraient pas passer plus de deux minutes sur une leçon donnée et qu'ils devraient être capables de comprendre comment la faire à partir des instructions et des messages de test, et qu'ils devraient être capables de progresser. Donc, nous trouvons ces valeurs aberrantes et nous sommes capables d'aller et d'ajuster la formulation ou peut-être de la diviser en plusieurs leçons afin de la rendre plus facile pour les gens à traverser.

Avec ces nouveaux projets, nous pourrons faire la même chose. Nous pourrons identifier quel test parmi les 200 ou 300 tests associés à la construction de ce projet est l'obstacle et le rendre plus fluide. En ce qui concerne le déploiement de tous les projets à la fois, beaucoup de cela n'est pas tant un problème d'enseignement qu'un problème de communication. Comment communiquer aux millions de personnes qui utilisent le programme freeCodeCamp que, "Hé ! Cela change. Vous n'aurez pas de leçons individualistes." Maintenant, vous allez construire des projets," et essayer de le faire de manière fragmentée où vous communiquez à une personne, "D'accord. Ces leçons ont disparu, mais maintenant nous avons ce projet." C'est simplement beaucoup plus facile dans notre expérience d'arracher le proverbial pansement que de le retirer lentement.

C'est été notre approche, c'est généralement nous observons. Nous déterminons ce que nous pensons être la prochaine étape et ensuite nous travaillons très dur et ensuite nous livrons cette prochaine étape. C'est, dans une certaine mesure, en conflit avec les méthodologies de développement logiciel Agile et beaucoup d'autres conclusions que je pense fonctionnent vraiment bien pour d'autres types de produits. Mais pour notre programme, il est préférable de procéder par bonds plutôt que par petits pas.

[01:42:29] Jeff: Les personnes qui écrivent le code pour freeCodeCamp, quel est l'équilibre ou la proportion de temps passé et de problèmes difficiles résolus entre – Parce que c'est open source. Quelle est la distribution entre les personnes qui sont des employés rémunérés et les contributeurs philanthropiques open source ?

[01:42:59] Quincy: L'équipe de freeCodeCamp est composée de sept personnes. Je peux les lister rapidement pour votre bénéfice. Donc, il y a moi. Je travaille à temps plein. Beau Carnes. Il gère notre chaîne YouTube. Il fait beaucoup de design pédagogique. Il a travaillé comme enseignant pendant les cinq dernières années.

[01:43:13] Jeff: Au fait, par design pédagogique, vous voulez dire développer et créer des programmes ?

[01:43:16] Quincy: Oui. Le design pédagogique est essentiellement l'enseignement à grande échelle. C'est ainsi que je le définis. Intégrer l'enseignement dans les matériaux. Il est un enseignant expérimenté en classe. Il enseignait au collège depuis les cinq dernières années et il avait travaillé comme ingénieur logiciel pendant un certain temps. Il contribuait à freeCodeCamp depuis des années, et ensuite nous avons pu l'embaucher à temps plein.

Ensuite, Mrugesh Mohapatra. Il est à Pune, en Inde, et il prend beaucoup de nos décisions architecturales majeures. Il a travaillé dans plusieurs multinationales en Inde et a une formation traditionnelle en ingénierie logicielle, mais il contribuait à freeCodeCamp depuis environ trois ans avant de nous rejoindre.

Ahmed Abdolsaheb est basé en Turquie. Il est designer et développeur, et il avait également travaillé avec le programme freeCodeCamp et contribué à freeCodeCamp pendant des années avant que nous ne l'embauchions. Il fait beaucoup de travail de design. Vous remarquerez que freeCodeCamp a une nouvelle couche de peinture lorsque vous y allez. Nous avons refait le guide de style de design et nous avons adapté une cellule que j'appelle Command Line Chic, qui est fortement modelée sur des esthétiques de compétition presque rétro avec des sensibilités d'accessibilité contemporaine. Il fait cela.

Donc, cela complète presque notre équipe de développement, mais nous avons aussi Kris Koishigawa qui est en Corée du Sud, et il est un développeur qui a travaillé comme enseignant d'anglais en Corée pendant les six dernières années. Il a contribué de manière extensive au programme de cocaïne de freeCodeCamp, surtout les sections de préparation à la pratique des entretiens, en écrivant des tests pour des problèmes comme ceux de Project Euler et Rosetta Code. Il a fait cela pendant quelques années et maintenant il travaille à temps plein avec freeCodeCamp.

Kris et Beau se concentrent principalement maintenant sur le développement du programme. Encore une fois, tous les deux ont de solides antécédents d'enseignement et tous les deux sont capables de contribuer à la base de code, mais c'est principalement ce qu'ils font. Ensuite, ne travaillant pas autant sur la base de code, mais travaillant sur le côté contenu des choses. Abbey, Abigail Rennemeyer. Elle est à Portland et elle est l'éditrice principale de la publication freeCodeCamp, freeCodeCamp.org/news. Elle édite pratiquement chaque article qui y est publié, des milliers d'articles par an. Elle écrit aussi et elle gère le podcast, et elle gère également tous nos réseaux sociaux.

Ensuite, Miya Liu est basée à Hangzhou et à Chengdu en Chine, et elle gère la communauté chinoise de freeCodeCamp. La communauté chinoise de freeCodeCamp est presque comme un freeCodeCamp parallèle. Nous avons des centaines et des milliers de personnes qui utilisent freeCodeCamp là-bas, et nous avons des tonnes de grandes communautés et de grandes villes où les gens se réunissent et se rassemblent. Donc, c'est une grande partie de freeCodeCamp ce que Miya fait en Chine. Cela complète toute l'équipe.

Maintenant, en plus d'eux, nous avons des dizaines de contributeurs de code actifs mensuellement qui contribuent directement du code à la plateforme freeCodeCamp. Certains d'entre eux apportent également des ajustements incrémentiels au programme. Ensuite, nous avons une tonne de contributeurs qui contribuent à la publication. Nous avons des contributeurs qui contribuent à la chaîne YouTube de freeCodeCamp. La chaîne YouTube de freeCodeCamp est maintenant la plus grande chaîne de programmation sur YouTube, à part The New Boston, qui a fermé il y a environ quatre ans. Elle a encore plus d'abonnés que nous, mais la chaîne YouTube de freeCodeCamp a pris une vie propre et obtient environ 500 millions de minutes de temps de visionnage par an.

[01:47:03] Jeff: Donc, gérer le projet open source, y a-t-il beaucoup de contribution open source ? Parce que comme il y a beaucoup de projets open source où, par exemple, MongoDB, comme la plupart des contributions à MongoDB, comme je le comprends, proviennent de l'entreprise. Il n'y a rien de mal à cela. L'open source est un peu comme – C'est juste une caractéristique secondaire de beaucoup de produits logiciels. C'est un geste ? Ouvrir le code de votre logiciel est un geste, mais ce n'est pas nécessairement comme ouvrir le code de votre logiciel signifie que vous êtes Linux ou Bitcoin et qu'il y aura comme une vague de personnes qui sont des contributeurs amicaux qui débarquent et résolvent des bugs qui leur prennent des heures à creuser dans les lignes de code.

C'est plus comme peut-être vous avez quelqu'un comme maintenir la bibliothèque SSL qui maintient Internet ensemble, ou vous avez comme une personne et demie qui maintiennent ces bibliothèques ensemble. Mais ce n'est vraiment pas comme cette avalanche de personnes qui contribuent généreusement. Donc, il me semble que vous êtes plus comme l'école des choses de MongoDB où c'est comme –

[01:48:19] Quincy: Je dirais que nous sommes beaucoup plus le contraire. La plupart des contributions proviennent de la communauté. Beaucoup de gros travaux sont effectués en interne simplement parce qu'il y a moins de frais de communication et nous pouvons être plus –

[01:48:35] Jeff: C'est comme un gros travail de re-plateformage. Le truc qui prend vraiment du travail approfondi.

[01:48:40] Quincy: Oui. Ensuite, nous avons occasionnellement des contributeurs open source qui font un travail approfondi significatif aussi. Juste pour vous donner quelques chiffres, puisque je les ai consultés pendant que vous parliez. Juste la semaine dernière, du 22 au 29 octobre, nous avons eu 66 demandes de tirage proposées. Nous en avons fusionné 27. La plupart d'entre elles proviennent de l'extérieur du personnel à temps plein de freeCodeCamp. Même chose avec beaucoup de problèmes. Il y a eu un total de 1 458 ajouts et 624 suppressions dans la base de code la semaine dernière. Si je regarde les contributions, je peux voir que seulement environ huit d'entre elles proviennent de personnes travaillant à temps plein sur les 30 commits poussés jusqu'à présent cette semaine.

[01:49:24] Jeff: D'accord. Intéressant. Une chose, alors que vous parlez de toutes ces différentes zones de la marque freeCodeCamp, vous avez non seulement le programme complet qui est un produit incroyable en soi. Vous êtes une entreprise de médias. Vous avez développé à la fois une expertise verticale approfondie et l'enseignement aux gens à coder, et une expansion horizontale qui a été si bien exécutée que vous avez essentiellement la plus grande chaîne de programmation sur YouTube. Vous avez des forums et du contenu et des salons de discussion super actifs. Je pense que votre chaîne Slack était – Je pense que vous avez cassé Slack, n'est-ce pas ? Vous avez littéralement cassé le plan gratuit de Slack ou quelque chose.

[01:50:16] Quincy: Donc, nous avons découvert une limitation dans leur infrastructure, qu'ils ne peuvent avoir qu'un certain nombre de personnes, et c'était une limitation non documentée. Nous l'avons atteinte, et nous avons dû passer rapidement de leur plateforme à Gitter, qui n'avait pas cette limitation. Nous utilisons toujours Gitter. Nous avons toujours des contributeurs là-bas, mais nous avons déplacé beaucoup de cela vers le forum maintenant.

Le forum est génial, car pour chaque personne connectée, comme écrivant des réponses aux questions des autres, il y a 19 ou 20 personnes qui viennent de Google et qui lisent cet échange et en bénéficient.

[01:50:50] Jeff: C'est génial.

[01:50:51] Quincy: Oui, c'est génial. Nous aidons beaucoup de – Lorsque vous allez sur le forum freeCodeCamp et que vous traînez là-bas et que vous aidez à répondre aux questions des gens, ou lorsque vous posez une question, vous n'aidez pas seulement vous-même. Vous n'aidez pas seulement cette personne à qui vous parlez. Vous aidez des dizaines de personnes. Dans certains cas, certains de ces fils de forum ont eu des centaines de milliers de vues.

Oui, vous ne savez jamais quel problème que vous rencontrez personnellement pourrait être quelque chose que beaucoup de gens rencontrent. En ayant cet échange là-bas à découvert d'une manière qui est vraiment facilement indexée par Google, nous sommes en mesure d'aider beaucoup de gens indirectement de cette manière.

[01:51:25] Jeff: Laissez-moi vous poser une question, car nous venons tous les deux de Quora. Nous avons tous les deux une profonde affinité pour Quora, et je me sens presque comme si j'avais une dette de gratitude envers Quora. C'est à quel point j'aime cette plateforme. Mais j'aimerais presque que le logiciel pour construire Quora soit open source. J'aimerais que tant de choses sur cette plateforme puissent être sous-ensembles et transformées en leurs propres produits et devenir des choses très verticalisées, car maintenant le produit est un peu – Il est tentaculaire, et j'aimerais qu'il soit plus – Je ne sais pas. J'aimerais qu'il soit comme les vieux jours, ce que tout le monde dit de chaque produit Internet qu'ils aimaient autrefois.

Ne serait-ce pas cool si vous aviez votre propre – Au lieu de – Discourse semble génial. Mais ce serait mieux si c'était Quora, n'est-ce pas ?

[01:52:22] Quincy: Ce n'est pas vraiment une comparaison équitable, car le gars qui a fondé Quora, Adam D'Angelo, il est la chose la plus proche d'un génie de l'ingénierie logicielle que je connaisse avant de créer Quora et de prendre des centaines de millions de dollars de son propre argent et de le financer. Il était le CTO de Facebook, et il avait simplement tant d'idées incroyables que je pense que nous manquons de Stack Overflow, et il manque certainement de Yahoo Answers et d'autres sites avec lesquels il était en concurrence. Cette plateforme est simplement remarquablement bien construite et bien pensée et elle fonctionne incroyablement bien.

Donc, je n'ai que de bonnes choses à dire sur la manière dont Quora est construit. Je pense que ce serait un ordre très élevé pour une équipe même avec le chef de Stack Overflow à sa tête de créer quelque chose d'aussi raffiné que Quora. Cela dit, l'esprit de Quora, qui est de poser et de répondre à des questions et tout cela, peut fonctionner sur n'importe quelle plateforme si vous avez la communauté de personnes réfléchies qui sont prêtes à se retourner et à montrer leur expertise et leurs idées les unes aux autres.

Donc, les outils eux-mêmes – Vous pourriez donner Quora, comme vous pourriez prendre la base de code existante et la donner à une communauté qui est marginalement active et ils ne pourraient pas nécessairement faire grand-chose avec. Mais vous pouvez donner PHPBB ou un outil de forum vraiment ancien à une communauté vibrante de personnes qui sont vraiment passionnées par quelque chose et ils construiraient un énorme, énorme écosystème de questions et de réponses et de personnes s'entraidant et viendraient avec ces grands administrateurs de forum et modérateurs de forum et tout cela. Ces trucs fleuriraient simplement de manière organique.

Donc, si quelque chose, si freeCodeCamp a réussi, je dirais que le forum, la raison pour laquelle il réussit, c'est parce que nous avons cette communauté, nous avons ces modérateurs super passionnés et des personnes qui aiment vraiment aider les autres qui sont venues. C'est pourquoi Quora a été un si grand succès aussi, et c'est pourquoi vous et moi étions là-bas, parce que nous ressentions tous les deux une grande affinité l'un pour l'autre et pour les autres personnes qui étaient intéressées par l'ingénierie logicielle et nous aimions répondre à leurs questions là-bas.

[01:54:35] Jeff: Avez-vous déjà l'impression que l'étendue des choses que vous faites avec freeCodeCamp, cela vous semble parfois une distraction ? Peut-être que si votre temps, votre argent et votre concentration étaient réalloués exclusivement au programme, vous auriez une production mesurablement meilleure ?

[01:55:00] Quincy: Donc, il y a des rendements décroissants à ce que vous pouvez obtenir en vous concentrant sur différents domaines. Je dirais que la publication et le forum et le programme, ils sont complémentaires les uns des autres et ils se soutiennent mutuellement. La publication est un moyen de garder les gens engagés lorsqu'ils n'ont pas de clavier à portée de main. Ils mangent simplement leur déjeuner et ils doivent simplement pouvoir faire défiler quelque chose et lire quelque chose sur leur téléphone. Ils ne sont pas prêts à plonger dans une session de codage approfondie.

Le forum est là pour aider les gens qui rencontrent des problèmes ou ont des questions pendant qu'ils travaillent sur le programme. Sur chaque page du programme, il y a un bouton que vous pouvez presser qui ouvre un formulaire pré-rempli avec l'état actuel de votre code et tout, et cela rend très facile de poser une question. Donc, ils se complètent mutuellement.

Maintenant, les choses qui ne se complètent pas nécessairement et que nous avons poursuivies néanmoins, je dirais, seraient Code Radio. freeCodeCamp a une station de radio, une station de radio Internet. Si vous allez sur coderadio.freeCodeCamp.org, vous pouvez écouter de la musique 24h/24 et 7j/7. Cela est issu d'une expérience que j'ai faite sur YouTube où j'ai décidé, "Hé, créons de la musique que nous aimerions écouter en codant."

Nous avions ce producteur de musique de Los Angeles nommé Lawrence Yeo et il a décidé d'aider à curater une grande playlist de – je pense 1500 morceaux de beats hip-hop, et nous les avons mis ensemble et cela a été très réussi. Nous avions des tonnes de gens qui regardaient sur YouTube.

Maintenant, il y avait un clip d'anime, et l'une des chansons c'était comme un, "Haya," ou quelque chose d'un anime, une société japonaise qui avait – C'était une société de holding médiatique. Ils ont probablement juste acheté une série d'anime aléatoire dans les années 80 et utilisaient leur outil de détection de copyright à couverture générale. Ils l'ont signalé et YouTube a immédiatement fermé la chaîne.

Donc, nous devons la déplacer. Donc, nous l'avons déplacée. Nous avons trouvé un outil de radio Internet open source vraiment génial appelé AzuraCast, et nous avons pu, en environ 48 heures, remettre la musique en ligne. Donc, c'est quelque chose comme nous n'avons pas besoin d'une station de radio, n'est-ce pas ? La communauté de codage n'a pas besoin de sa propre station de radio de beats hip-hop, mais c'est vraiment bien et cela n'a pas pris beaucoup de travail. Ce n'est pas beaucoup de travail de maintenance. Nous nous préparons à lancer une version classique où nous jouons simplement de la musique orchestrale. Donc, les gens peuvent simplement mettre leurs écouteurs et écouter du Bach ou du Vivaldi.

Nous allons avoir beaucoup de gens qui écoutent cela aussi, mais c'est l'une des choses que les gens utilisent beaucoup. À tout moment, nous pourrions avoir 200, 300 personnes écoutant Code Radio simultanément. Donc, c'est quelque chose qui ne prend pas beaucoup d'efforts, mais qui est utilisé par beaucoup de gens. Donc, lorsque nous voyons des opportunités comme celle-ci, oui, nous pouvons le faire. Je ne pense pas que ce soit une énorme distraction.

Elon Musk dirige Tesla et il dirige SpaceX et il dirige Solar City et il dirige toute l'affaire Hyperloop, n'est-ce pas ? Il est difficile de voir les synergies dans tout cela, mais il pourrait être en mesure de les énumérer. Ce que nous faisons, je pense, est dramatiquement plus conservateur que ce qu'il fait. Pas que ce soit nécessairement le meilleur exemple, mais –

[01:58:17] Jeff: Oui, je pense que vous avez oublié l'entreprise du cerveau. Oui, je pense que vous avez oublié l'entreprise du cerveau et l'entreprise du tunnel. Il y a beaucoup de choses. Je pense en fait que c'est une manière dont le récit fort du financement des entreprises de logiciels a peut-être été au détriment de l'innovation logicielle à certains égards.

Je suis généralement un grand fan du financement et des structures de capital qui ont permis aux entreprises de logiciels de prospérer, mais une chose que je pense peut-être un peu dépassée est la notion de concentration rigide même sur les entreprises – Même dans les entreprises qui sont comme super précoces, comme je comprends, que comme la concentration implacable peut être vraiment bonne pour développer ce premier ajustement produit-marché et tout.

Mais je pense aussi que comme cette chose que j'aimais chez Amazon, c'était juste comme vous voulez commencer un produit Amazon à moitié cuit, comme allez-y. Vous êtes là. Vous avez accès à ces ressources. Vous avez accès à des personnes avec des idées folles. Vous voulez aller commencer un truc d'épicerie, ou comme un produit d'unité de stockage bizarre. Vous pouvez probablement rassembler les ressources si vous vous en donnez la peine.

Je pense que comme si vous êtes dans votre position lorsque vous dirigez freeCodeCamp, encore une fois, si vous essayez d'être inspirant, une façon d'être inspirant est comme cultiver un sentiment de nous disons oui aux choses. freeCodeCamp devrait-il avoir une station de radio ? Pourquoi pas ? Cela ne nous coûte rien. La communauté l'aime. Cela fait du bien aux gens. Oui, pourquoi pas ? Ensuite, lorsque vous avez cette attitude de simplement dire oui à des trucs aléatoires, vous ouvrez la porte à l'innovation, car les gens commencent à se sentir à l'aise comme, "D'accord. Je peux exprimer mes idées créatives. Beaucoup de mes idées créatives n'ont pas de résultat financier." Ils n'ont pas de résultat d'aider les gens à apprendre à coder plus rapidement, mais nous avons cette communauté excentrique. Oui, pourquoi ne pas passer 0,001 % du budget ou du budget temps à rendre les choses un peu plus musicales ?

[02:00:37] Quincy: Oui, et nous faisons d'autres expériences aussi précisément pour ce que vous avez dit. Cela rend la communauté plus amusante et plus aventureuse. Vous prenez simplement des paris à faible enjeu. Je veux dire, le pire scénario avec la station de radio Internet aurait été quelques heures de temps. Peut-être des dizaines d'heures, ou des centaines d'heures passées dans la mauvaise direction. Mais ce genre d'expérimentation peut mener à de grands succès. Je dirais que Code Radio a été un grand succès. C'est un retour sur investissement initial de mille fois en termes de personnes qui en bénéficient. Si vous prenez le temps qui a été passé sur Code Radio par rapport au temps que les gens ont passé à apprécier les beats de Code Radio.

Les cartes à jouer de programmeur sont une autre chose que nous avons faite. Donc, nous avons passé – Et je suis un grand amateur d'histoire, et j'aime particulièrement l'histoire de la technologie. J'ai passé en revue et j'ai dressé une liste de toutes les personnes que je pensais être des programmeurs vraiment inspirants et nous avons imprimé ces cartes à jouer. Donc, chaque carte à jouer a un développeur célèbre différent de l'histoire. Je veux dire, à part [inaudible 02:01:43], toutes les personnes sont du 20e siècle. Certaines d'entre elles sont nées au 20e siècle et sont devenues célèbres au 21e siècle. Par exemple, comme DHH, le créateur de Ruby on Rails, ou Satoshi Nakamoto, des personnes comme ça.

Mais c'est une excellente façon pour vous de jouer aux cartes, jouer au poker, jouer à n'importe quel jeu de cartes traditionnel que vous voulez jouer. Pendant que vous êtes assis là à attendre que quelqu'un décide s'il veut relancer votre bluff, vous pouvez lire les accomplissements, par exemple, de Linus Torvalds, ou de certains des développeurs plus contemporains. Donc, c'est juste une petite chose que nous avons faite et que nous pensions être amusante et que nous avons pu faire et qui a été rentable dans le sens où je pense que nous avons dépensé plusieurs milliers de dollars pour le travail de design et l'impression des cartes et cela s'est payé tout seul.

Maintenant, ce n'était pas comme un énorme centre de profit pour freeCodeCamp, mais c'était une chose cool à faire pour la communauté et beaucoup de gens ont pris des photos et nous allons à des événements et les gens ont des cartes à jouer de programmeur, et c'est une chose cool. C'est un outil pédagogique cool. Donc, freeCodeCamp ne recule pas devant ces choses même si nous sommes assez limités en ressources. Si nous pensons que c'est un petit pari qui a un potentiel de gros gain.

[02:02:59] Jeff: Vous avez une famille et vous dirigez une plateforme web extrêmement réussie avec très peu de personnel à temps plein auquel vous pouvez déléguer des tâches. Vous avez un budget serré. Je ne veux pas que cela se transforme en un podcast de conseils de style de vie. Mais je sais qu'il y a un nombre croissant de personnes qui travaillent de manière similaire à vous. Je pense que je suis l'une d'entre elles. Je n'ai pas de famille, mais je dirige ma propre entreprise étrange, j'ai une personne avec qui je travaille à temps plein, Erika, et c'est génial d'avoir un peu de travail d'équipe.

Mais, en général, c'est un peu solitaire – Je ne veux pas dire solitaire, mais il y a des Indie Hackers et des livres de conseils et des trucs, mais ce genre d'entreprise est étrange et il y a un nombre croissant de personnes qui gèrent ce genre d'entreprise, ou qui y travaillent, même en travaillant comme entrepreneur indépendant de nos jours, comme un entrepreneur indépendant numérique en ligne jonglant avec deux emplois différents et travaillant ensuite sur vos propres projets parallèles. C'est une existence très typique du 21e siècle.

Donnez-moi quelques conseils subtils sur la manière de gérer ce type de travail.

[02:04:23] Quincy: Eh bien, je passe beaucoup de temps à parler aux gens à travers mon ordinateur, principalement par e-mail, parfois par des appels Google Hangouts. J'en fais quelques-uns chaque jour. Je ne vois pas beaucoup de gens en personne. J'ai des amis avec qui je parle périodiquement, mais c'est rare que je les rencontre, comme peut-être une fois par mois, ce serait comme, "Hé, je vais traîner avec un ami et nous allons jouer à un jeu de société ensemble ou nous allons aller à la salle de sport ensemble," n'est-ce pas ? La plupart du temps, c'est assez solitaire, mais c'est bien pour moi, car j'aime simplement lire et j'aime simplement faire des footings et réfléchir.

Une grande partie de ma vie est simplement assise là et réfléchissant ou marchant avec mon enfant sur mes épaules en descendant la rue, les emmenant au parc ou emmenant ma fille à l'école le matin. Cela me donne simplement un bon rythme de vie pour réfléchir, et j'ai une routine très réglementée. Je me réveille toujours à la même heure. Je vais toujours me coucher à la même heure. Je mange généralement quelques repas encore et encore. Donc, il n'y a pas beaucoup de variété, mais cette monotonie que j'ai construite, cette routine, fournit un cadre très agréable pour moi pour explorer des choses individuelles qui m'intéressent sans la distraction de devoir prendre beaucoup de décisions tout au long de la journée. Je porte presque exactement les mêmes vêtements tous les jours.

Ces petits morceaux de routine me maintiennent à flot. Dès que je dois monter dans un avion et voler quelque part, c'est extrêmement perturbateur. Probablement plus pour moi que pour beaucoup de gens, car je n'ai pas cette famille. Je n'ai pas cette routine dans un tout nouvel endroit. Mais c'est juste moi personnellement. J'en profite vraiment. J'aime, "D'accord. J'ai ce bloc de temps à la fin de la journée. Est-ce que je veux regarder un épisode de The Expanse, ou est-ce que je veux faire une longue promenade et écouter ce livre audio ? Est-ce que je veux simplement le passer –

[02:06:18] Jeff: Livre audio ?

[02:06:18] Quincy: Oui, ou des podcasts. C'est une chose que je fais pour me tenir compagnie, c'est que j'écoute un énorme volume de livres audio. Chaque jour, j'écoute le podcast de The Economist. J'écoute les podcasts du New York Times, les podcasts du Washington Post, comme tous les podcasts d'actualités quotidiennes juste pour rester au courant des événements mondiaux et des choses comme ça. Ensuite, j'écoute, par exemple, votre podcast. Je vous écoute probablement plusieurs fois par semaine. J'écoute Indie Hackers. J'écoute le podcast freeCodeCamp, qui est de plus en plus animé par Abby. J'écouterai aussi mes épisodes pour voir comment j'ai performé et évaluer à quel point j'étais bon pour poser des questions, des choses comme ça.

Mais je prends simplement une tonne d'informations dans mon régime d'informations. Je n'ai aucune application sur mon téléphone. Je n'utilise que mon navigateur. J'utilise comme Firefox Quantum, ou Firefox – C'est celui qui n'est pas complètement axé sur la confidentialité et je peux simplement – Je passe beaucoup de temps comme Wikipedia, ou je passe beaucoup de temps comme simplement en googlant différentes choses.

[02:07:16] Jeff: Attendez. Donc, vous n'avez pas Audible ou une application de podcast sur votre téléphone ?

[02:07:20] Quincy: Donc, j'ai les applications intégrées qui sont venues avec l'iPhone. Donc, j'ai le podcast. Je n'utilise que l'application de podcasts Apple standard.

[02:07:26] Jeff: Et pour les livres audio ?

[02:07:28] Quincy: Pour les livres audio, j'utilise Libby, qui est comme le système de bibliothèque.

[02:07:32] Jeff: Vraiment ?

[02:07:34] Quincy: Selon la ville dans laquelle vous vivez, vous pourrez peut-être utiliser l'une des nombreuses applications de bibliothèque différentes, et essentiellement vous empruntez simplement le bien virtuel, si vous voulez. Il y a comme cette rareté, cette rareté artificielle. Mais comme j'ai un tas de livres audio que j'ai en attente. Donc, dès que quelqu'un d'autre les rend, je peux les écouter, n'est-ce pas ? Mais c'est propre, car j'essaie d'économiser de l'argent. C'est une chose que nous n'avons pas vraiment abordée, mais la raison pour laquelle freeCodeCamp a pu croître autant malgré le fait qu'il nous a fallu deux ans pour obtenir le statut d'exonération fiscale. Presque trois ans. Il nous a fallu beaucoup de temps avant de pouvoir commencer à demander des dons, des choses comme ça. J'ai dépensé plus de 150 000 dollars de mon propre argent pour maintenir freeCodeCamp à flot pendant les premières années.

La raison pour laquelle j'avais cet argent en premier lieu était que ma femme et moi sommes comme des économes compulsifs et nous économisions pour acheter une maison, et c'est simplement presque toutes les décisions sont prises pour minimiser la quantité d'argent. C'est juste un porteur pour moi de passer beaucoup de temps à l'étranger en Chine. J'ai vu à quel point les gens vivent frugalement, et j'ai pensé, "Wow ! Ces 60 dollars que j'allais dépenser pour mon jeu vidéo, c'est comme ça que quelqu'un – C'est comme ça qu'ils survivent pendant tout le mois."

J'ai rencontré des tonnes de gens qui vivaient avec 5, 10 dollars par jour et interagissaient avec eux et ils allaient à l'école. J'ai rencontré des gens qui allaient travailler dans des entreprises d'État, des banques gouvernementales et des trucs comme ça et ils portaient simplement leur thermos rempli de thé et mangeaient leurs petits pains préparés à la maison pour le déjeuner et étaient extrêmement économiques. J'ai tiré beaucoup d'inspiration de cela. Donc, j'essaie simplement d'économiser autant d'argent que possible.

L'un de mes restaurants préférés – Cela va me faire passer pour un fou, mais je vais simplement chez Sam's Club, et ils ont cette combinaison hot-dog-boisson pour environ 1,50 $. Ensuite, je prends un bretzel, et tout mon déjeuner est comme 2,50 $. Je peux m'asseoir. Ils ont un bon Wi-Fi et je peux simplement manger un hot-dog et manger un bretzel et boire une boisson diététique et travailler. Cela coûte presque rien, n'est-ce pas ? Ces petites opportunités d'économiser de l'argent, cela compte lorsque vous travaillez comme enseignant et que vous essayez d'accumuler assez d'argent pour acheter une maison, ou comme il s'avère, financer une ONG.

[02:09:50] Jeff: Mon ami, il y a beaucoup de choses là-dedans que nous pourrions approfondir. Je souhaite vraiment que vous soyez en ville pour que nous puissions courir plus souvent. Je manque de courir avec vous. Comme vous, une grande partie de mon traitement mental et de ma préparation pour les émissions se produit lorsque je cours à l'extérieur, car vous courez à l'extérieur et vous voyez des gens, et vous voyez des restaurants, et vous voyez le monde se développer. Vous ressentez les changements de température. Vous ressentez le passage du temps.

Chaque année, vous ressentez la technologie, comme se calcifiant dans une sorte d'essence dans ce passage du temps. Vous ressentez la technologie. Vous voyez plus de gens lors de vos courses interagir avec la technologie de différentes manières, "Oh ! Il y a plus de gens avec des AirPods, et regardez comment cela – Regardez comment mon père utilise un smartphone." J'aime courir comme une routine quotidienne d'interaction avec le monde, de m'engager avec mes environs. Je note beaucoup de choses lorsque je cours, et c'est encore mieux lorsque je cours avec quelqu'un d'autre.

J'ai en fait commencé à faire cela. Peut-être pourrions-nous faire cela un jour, une chose appelée courses virtuelles. Un terme que j'ai inventé, où essentiellement comme vous mettez simplement des écouteurs Bluetooth et mettez votre smartphone dans une banane, à moins que vous ne soyez comme une personne cool avec une smartwatch qui n'a pas besoin d'une banane pour son smartphone. Mais vous pouvez simplement courir avec des écouteurs et vous pouvez avoir une course virtuelle, et c'est comme si vous courez avec Quincy Larson, mais vous lui parlez simplement, et peut-être qu'il court, ou peut-être qu'il fait la vaisselle. C'est ce qui supplantera le podcast, c'est ma théorie, la course virtuelle, le podcast interactif. En tout cas, je manque vraiment de traîner avec vous, mon ami, mais nous ne l'avons jamais fait souvent, mais c'était amusant.

[02:11:47] Quincy: Oui, maintenant que j'ai des enfants, je ne traîne jamais avec personne très souvent autre que mes enfants. Avoir des enfants est un changement de vie assez majeur.

[02:11:55] Jeff: Tout à fait juste. Tout à fait juste. Sans vouloir vous culpabiliser ou quoi que ce soit. Nous avons eu de grands – Je veux dire, nous n'avons même pas commencé à parler de politique dans cette conversation.

[02:12:06] Quincy: Probablement pour le mieux.

[02:12:08] Jeff: Probablement pour le mieux. D'accord, juste une ou deux questions. Comment le monde va-t-il changer avec une éducation en ligne au codage largement accessible ?

[02:12:20] Quincy: Tout d'abord, je suis optimiste quant au fait que cela signifiera que moins de personnes s'endetteront pour payer leurs études universitaires. Je n'encouragerais personne à s'endetter même pour fréquenter une université assez prestigieuse. Je les encouragerais vraiment à aller dans un collège communautaire. S'ils ont les ressources, bien sûr, allez dans une bonne école d'État dès le départ. Mais voyez si vous pouvez économiser de l'argent en allant dans un collège communautaire et en transférant dans une école d'État plus grande. Voyez si vous pouvez trouver des moyens de travailler tout en allant à l'école, en faisant un stage.

Beaucoup de stages en développement logiciel paient très bien. Vous pouvez potentiellement payer votre loyer et vos études avec un bon stage. Donc, je suis optimiste quant au fait que freeCodeCamp peut fournir un moyen pour les gens de se préparer à obtenir ces stages tout en étant encore à l'école. Je suis également optimiste quant au fait que beaucoup moins de personnes devront quitter leur emploi pour transitionner vers un nouveau domaine. Certes, des domaines plus techniques, comme l'ingénierie logicielle.

Dans l'ensemble, je pense que cela fera économiser beaucoup d'argent aux gens et qu'il offrira plus de flexibilité, et c'est de cela qu'il s'agit à la fin de la journée, c'est d'épargner aux gens d'avoir à faire un tas de compromis de style de vie afin de pouvoir aller de l'avant et être employable de manière rentable.

[02:13:33] Jeff: Décrivez le paysage médiatique de l'ingénierie logicielle tel que vous le voyez.

[02:13:38] Quincy: Bien sûr. Il existe des journaux techniques formidables qui sont inaccessibles pour beaucoup de gens. Ils supposent simplement que vous savez beaucoup de choses. Si vous êtes tenace, vous pouvez les lire et vous pouvez simplement ouvrir constamment Wikipedia ou vous pouvez ouvrir votre dictionnaire ou tout outil et chercher des termes au fur et à mesure qu'ils apparaissent dans le texte pendant que vous essayez de lire ces articles. Il existe également de nombreux blogs formidables qui discutent de nombreux développements technologiques. Il existe des plateformes ouvertes où presque n'importe qui peut publier des articles, comme dev.to, et Hash Note, et Hacker Noon.

Ensuite, il y a les publications technologiques, dont certaines sont de plus en plus payantes, comme je regardais le magazine Wired et plusieurs autres hier et j'ai remarqué que la plupart d'entre eux ont mis en place un paywall à un moment donné. Peut-être qu'ils vous laissent voir quelques articles et ensuite vous tombez sur un paywall. Donc, ceux-ci deviennent moins ouverts, ce qui est malheureux, mais je peux comprendre que cela coûte beaucoup d'argent d'avoir une salle de rédaction et de les faire fonctionner.

Ensuite, il y a freeCodeCamp, qui est un hybride entre une publication technologique traditionnelle et un blog, et nous éditons tout ce qui est publié sur notre publication. Nous sommes très sélectifs quant à qui nous laissons être un auteur. En général, 1 personne sur 15 qui postule obtiendra l'autorisation d'écrire. Ensuite, ils pourront écrire des articles et nous éditons ces articles et nous les publions via nos réseaux sociaux et également via mes envois d'e-mails et les groupes LinkedIn, ou notre association d'anciens élèves LinkedIn, de nombreux endroits.

Donc, il est courant que les gens publient des articles et obtiennent des dizaines de milliers de vues. Tous les articles ne réussissent pas aussi bien, mais beaucoup le font. Si vous passez beaucoup de temps à écrire un article, nous allons le promouvoir largement. Non seulement juste après sa publication, mais nous continuons à promouvoir les choses pendant des mois et des années après leur publication si elles sont encore pertinentes et si elles sont un peu plus du journalisme explicatif qui explique les concepts fondamentaux.

Pour résumer. Je dirais qu'il existe des plateformes ouvertes où n'importe qui peut publier n'importe quoi sur la technologie. Il existe des blogs techniques tenus par des individus. Il existe des publications, comme Wired, The Verge. Ensuite, il y a des sites comme freeCodeCamp qui sont des publications.

[02:16:07] Jeff: Dernière question. Si vous ne travailliez pas sur freeCodeCamp, que construiriez-vous ?

[02:16:14] Quincy: Je ne suis pas sûr. Ce serait probablement un autre outil d'éducation technologique. Il est possible que je fasse de l'éducation en langue anglaise. Je pense que l'éducation en langue anglaise est vitale et c'est un marché qui est relativement inefficace à mon humble avis. C'est un marché énorme. freeCodeCamp pourrait très bien finir par enseigner l'anglais, ce qui semble être un énorme écart par rapport à ce que nous faisons. Mais je pense que cela va de pair avec l'aide aux gens pour obtenir des emplois du 21e siècle.

L'anglais est maintenant la langue des affaires. C'est la langue de la science, et de plus en plus, c'est un peu la langue de la culture. Maintenant, il y a certainement beaucoup d'autres langues qui sont utilisées dans la culture, l'animation japonaise et le pop coréen et des choses comme ça. Mais je pense que l'anglais est toujours un peu la langue qui se démarque. Si vous vouliez faire un film ou si vous vouliez faire un album ou si vous vouliez écrire un livre et avoir un large public, l'anglais serait le choix naturel. Donc, je créerais probablement – Si je ne faisais pas d'éducation technologique, un projet pour gérer l'éducation en langue anglaise.

[02:17:22] Jeff: Quincy, des dernières réflexions sur ce que vous aimeriez que les auditeurs entendent ?

[02:17:27] Quincy: Eh bien, j'ai dit plus tôt que je suis vraiment mauvais pour faire en sorte que les gens fassent des dons à freeCodeCamp. Donc, ma déclaration finale serait que si vous écoutez ceci et que vous avez tiré quelque valeur de freeCodeCamp au fil des ans et que vous avez écouté jusqu'à ce point de cette interview, merci d'avoir écouté moi, et les excellentes questions de Jeff. Je vous encouragerais à envisager de faire un don à freeCodeCamp. Vous pouvez mettre en place un don récurrent de 5 dollars par mois, et cela est extrêmement précieux pour nous, car cela nous donne la capacité de projeter ce que sera notre budget.

Les dons récurrents mensuels sont de loin les meilleurs. Mais si vous voulez simplement donner une somme forfaitaire importante, comme l'a fait Shawn Wang ou certains de ces autres diplômés de freeCodeCamp, nous l'accepterions également. Vous pouvez utiliser le @payitbackwards, et beaucoup de gens le verront, et je le retweeterai presque certainement aussi.

Donc, nous apprécierions grandement votre soutien. freeCodeCamp peut déployer efficacement trois ou quatre fois plus de capital que nous n'en avons actuellement. Je suis confiant que nous pourrions continuer à être tout aussi efficaces en fournissant 50 heures ou plus d'apprentissage aux gens du monde entier par dollar. Nous pouvons continuer à nous développer. Nous en sommes encore aux premiers jours.

[02:18:35] Jeff: Quincy Larson, merci beaucoup pour votre temps généreux et expansif.

[02:18:42] Quincy: Merci beaucoup d'avoir posé ces questions réfléchies, Jeff. C'était génial de parler avec vous.