Article original : Short interview with Quincy Larson: Get to know the teacher who started freeCodeCamp

Par Kyle Prinsloo

Courte introduction par Kyle :

Quincy n'est pas quelqu'un qui a besoin d'une introduction, mais si vous ne le connaissez pas beaucoup, il est responsable d'avoir aidé plus de 1 000 000 de programmeurs à entrer dans le monde du développement web grâce à freeCodeCamp.

Je lui ai posé quelques questions pratiques et je pense que vous trouverez ses réponses très utiles.

Sans plus tarder, voici Quincy :


Comment avez-vous commencé avec le développement web ?

Quand j'étais directeur d'école dans la trentaine, j'ai remarqué que beaucoup de mes enseignants et administrateurs passaient énormément de temps à entrer des données dans des ordinateurs.

Alors je me suis dit : "Comment puis-je les libérer de leurs ordinateurs pour qu'ils puissent passer plus de temps à interagir avec les élèves ?"

J'ai appris quelques outils de programmation de base pour automatiser des tâches dans Excel et sur des pages web. (Je ne savais rien sur le codage. J'ai dû demander à ma femme de l'aide pour faire des choses basiques comme configurer notre routeur Wi-Fi.)

Après cela, j'ai pu automatiser beaucoup des tâches répétitives de back-office pour mon équipe. Quand j'ai vu les résultats de mon codage de base - des enseignants et des élèves plus heureux - c'est à ce moment-là que j'ai été convaincu que je devrais apprendre davantage de programmation.

Puisque le développement web est la forme la plus courante de développement logiciel et qu'il présente les barrières à l'entrée les plus basses et les meilleures ressources d'apprentissage, je me suis directement lancé dedans.

Parce que le développement web englobe progressivement le développement mobile, et même la réalité virtuelle, je prévois de rester dans le développement web pour un certain temps encore.

free-code-camp

Comment et pourquoi avez-vous lancé freeCodeCamp ?

Mon parcours en codage était solitaire. Je traînais avec autant de développeurs que possible, mais je ne connaissais personne d'autre qui apprenait à coder.

Tous les autres codaient depuis des années, et ils avaient perdu tout souvenir de la difficulté d'apprendre à coder. Donc tout le temps, je me sentais seul et comme un imposteur.

Mon parcours en codage était aussi très sinueux. J'ai emprunté beaucoup d'impasses et appris des outils que je n'utiliserais jamais. Je passais des jours à aller dans la mauvaise direction. J'aurais dû commencer à construire des projets dès le premier mois, mais je n'ai vraiment rien construit avant d'avoir travaillé sur des livres et des cours pendant plusieurs mois.

Chaque fois que je rencontrais d'autres personnes qui avaient réussi à apprendre à coder par elles-mêmes, en dehors de l'université, leur expérience était tout aussi frustrante. C'est à ce moment-là que j'ai su - ce n'est pas juste moi - il y a des défis inhérents à l'apprentissage du codage en milieu de carrière.

J'ai pensé à toutes les personnes qui bénéficieraient de l'apprentissage du codage, et beaucoup d'entre elles étaient dans une situation similaire à la mienne - avec une famille et un emploi, trop occupées pour tout laisser tomber et se concentrer sur l'apprentissage du codage, et probablement trop limitées en ressources pour retourner à l'université.

Donc dès le premier jour, j'ai su que le programme devait être aussi pratique et accessible que possible. Et cela signifiait auto-rythmé, basé sur le navigateur, et gratuit.

J'ai construit un prototype de base de freeCodeCamp en quelques jours, je l'ai lancé, et j'ai fait de mon mieux pour le publiciser en bloguant et en tweettant.

Miraculeusement, les gens ont commencé à traîner dans les salles de chat de freeCodeCamp et à s'entraider. Certains d'entre eux ont commencé à contribuer au projet open source et nous avons simplement commencé à grandir à partir de là.

Quel est quelque chose que vous regrettez dans votre carrière professionnelle et que vous auriez changé ?

Je regrette d'avoir passé autant de temps dans ma carrière à me concentrer sur la tâche spécifique qui était juste devant moi au lieu de faire un pas en arrière et de me demander :

"Puis-je penser à un moyen d'automatiser cela ? Et si oui, est-ce que cela vaut la peine d'être automatisé en termes d'investissement en temps ?"

Certaines tâches ne valent pas l'investissement en temps pour être automatisées, mais beaucoup le valent.

Après les avoir automatisées, tout le temps que vous avez passé à faire ces tâches avant est du temps que vous ne récupérerez pas.

Donc maintenant, chaque fois que je suis confronté à une nouvelle tâche, je pense en ces termes.

Quelles compétences recommanderiez-vous aux développeurs d'avoir en plus des compétences techniques ?

Compétences en communication. En tant que développeur en activité, si vous pouvez passer même la moitié de votre temps à coder, considérez-vous comme chanceux. Une grande partie du développement logiciel consiste en la planification et la communication, et cela signifie des réunions.

Les compétences en communication écrite sont particulièrement importantes, puisque beaucoup de développement logiciel se fait à distance. Tout, des problèmes aux messages de commit en passant par les revues de code - vous devez être très clair dans la manière dont vous communiquez ces choses.

Les meilleures façons de développer cette compétence sont de contribuer à l'open source. C'est un excellent moyen de communiquer avec des équipes déjà existantes et de comprendre ce dont elles ont besoin d'aide, et de communiquer les changements de code que vous apportez.

Y a-t-il des langages de programmation principaux que vous recommanderiez et pourquoi ?

JavaScript. Le logiciel mange le monde, et JavaScript mange le logiciel. JavaScript devient de plus en plus dominant chaque année, et personne ne sait ce qui pourrait éventuellement le remplacer.

Si vous n'avez pas une très bonne raison d'apprendre un nouveau langage (comme votre travail qui vous oblige à maintenir une base de code non-JavaScript), mon humble conseil est de vous concentrer sur l'amélioration de vos compétences en JavaScript.

J'ai écrit davantage sur ce sujet ici.

Quel conseil pouvez-vous donner aux développeurs/designers web freelances ?

Le freelancing concerne davantage les compétences en vente et en communication qu'en développement logiciel.

Cela nécessite un ensemble de compétences entièrement différent. Nous avons publié de nombreux articles et tutoriels vidéo sur le freelancing.

L'un d'eux que je recommande fortement de regarder est cette vidéo de 36 minutes :

Quelle est votre prédiction pour les 5 à 10 prochaines années en matière de développement web ?

Les développeurs construisent déjà des expériences VR en utilisant des outils de développement web et je pense que cette tendance va continuer.

Voici une vidéo que nous avons récemment publiée montrant la puissance de WebVR :

Je suis également enthousiaste à propos du serverless, des interfaces conversationnelles et du déchargement de plus de choses côté client, comme l'apprentissage automatique côté client.

Voici une application web qui utilise la vision par ordinateur côté client et l'apprentissage automatique pour jouer à Pierre Feuille Ciseaux.

Ces choses ne font que commencer.

Quels sont les 5 conseils que vous donneriez à quelqu'un qui commence dans le développement web ?

  1. Codez tous les jours.

  2. Traînez avec d'autres personnes qui codent.

  3. Concentrez-vous sur la manière de construire des choses (décisions d'ingénierie) plutôt que sur "quoi construire" (décisions commerciales).

  4. Les outils que vous utilisez n'ont pas vraiment d'importance. Utilisez simplement les outils avec lesquels vous vous sentez à l'aise et construisez. Vous pourrez apprendre de nouveaux outils plus tard.

  5. Contribuez à l'open source.


Conclusion par Kyle :

Merci encore à Quincy pour cette interview et j'espère que cet article de questions-réponses vous a aidé dans votre parcours de développement web.