Article original : How I Went from Classical Musician to Software Developer using freeCodeCamp
Avant la pandémie, j'ai passé toute ma vie à performer, enseigner et composer de la musique. Mais en juin 2020, j'ai pris la décision d'apprendre à coder et j'ai réussi à décrocher un emploi en tant que développeur logiciel.
Voici l'histoire de comment j'ai appris à coder en utilisant freeCodeCamp et les leçons que j'ai apprises en cours de route.
Ma vie pré-pandémie
The Southeast Symphony
Dans ma carrière précédente, je menais une vie très active d'enseignement, de composition et de performance dans des sessions d'enregistrement, des opéras, des comédies musicales, des orchestres et des ensembles à vent dans tout le sud de la Californie.
Mon instrument principal était le hautbois, que j'ai étudié à l'université au Eastman School of Music (licence) et à l'University of Michigan (master). Voici un extrait de moi jouant un concerto avec les Los Angeles Winds.
J'avais aussi un esprit entrepreneurial et j'ai dirigé ma propre entreprise de partitions musicales appelée JDW Sheet Music pendant 8 ans. J'étais très heureux de la carrière que j'avais construite, mais mars 2020 a tout changé pour moi.
Au début, je pensais que la pandémie ne durerait que quelques mois et que je pourrais retourner à ma carrière musicale. Mais à ma grande surprise, la pandémie m'a ouvert les portes du monde du développement logiciel.
Le projet qui m'a inspiré à apprendre à coder
Black Excellence Music Project
En juin 2020, les tensions raciales aux États-Unis étaient à un niveau record en raison du meurtre de George Floyd. Il y avait des manifestations massives à travers le pays et des discussions sur le manque de diversité dans de nombreuses industries, y compris dans le monde classique.
De nombreux amis et collègues m'ont contacté pour des ressources afin d'en savoir plus sur les artistes classiques et de jazz noirs du passé et du présent. J'ai rapidement réalisé qu'il n'y avait pas de site central où les gens pouvaient trouver toutes ces informations.
C'est alors qu'est née l'idée du Black Excellence Music Project. Je voulais créer un site éducatif rempli de centaines de profils d'artistes et de jeux.
J'ai donc décidé d'apprendre à coder, mais je ne savais pas par où commencer.
Bonjour freeCodeCamp
page d'accueil de freeCodeCamp
Au début de mon parcours en codage, j'ai essayé différentes ressources en ligne pour commencer à apprendre le HTML et le CSS. Bien que j'aie apprécié apprendre avec ces cours, je voulais vraiment trouver une ressource à laquelle je pourrais m'en tenir et suivre un parcours particulier.
En juillet 2020, j'ai découvert freeCodeCamp et j'ai décidé d'essayer le programme. J'ai vraiment apprécié l'environnement d'apprentissage interactif et j'ai beaucoup appris en construisant les projets de certification.
J'ai passé les mois suivants à travailler sur le cours Responsive Web Design et le cours JavaScript Algorithms and Data Structures.
Pendant que j'apprenais, je voulais rejoindre une communauté et me connecter avec d'autres développeurs autodidactes comme moi. J'ai donc décidé de rejoindre le forum freeCodeCamp et d'apprendre des autres développeurs.
Je ne savais pas que ma participation sur le forum allait mener à de nouvelles opportunités de carrière.
Comment j'ai rencontré Quincy Larson
mon profil freeCodeCamp
Lorsque j'ai rejoint le forum freeCodeCamp, je n'avais jamais prévu d'être aussi actif. Mais l'énergie était si accueillante et informative que je me suis retrouvé à répondre à beaucoup de questions et à offrir des mots d'encouragement.
Après un mois d'activité sur le forum, j'ai reçu un message de Quincy Larson lui-même.
Nous avons organisé une rencontre Google et nous avons fini par parler de nos carrières précédentes avant la tech. Il m'a ensuite suggéré de devenir rédacteur pour la publication freeCodeCamp News.
J'étais choqué mais excité par cette opportunité, alors j'ai décidé de remplir la demande et j'ai été accepté en tant qu'auteur bénévole.
J'ai passé quelques mois à écrire sur des sujets que je connaissais bien comme le HTML, le CSS et le JavaScript.
Et juste au moment où je ne pensais pas que les choses pouvaient s'améliorer, une autre opportunité s'est présentée.
À la recherche d'un développeur junior

Vers la même période où Quincy m'a contacté en octobre 2020, j'ai reçu un e-mail d'un homme à la recherche d'un développeur junior pour effectuer quelques petites tâches pour son entreprise de logiciels.
Au début, je n'étais pas sûr que ce soit légitime ou une sorte d'arnaque. J'ai donc décidé de faire quelques recherches et j'ai découvert que c'était légitime.
La réunion s'est bien passée et le type de travail que je devrais faire semblait intéressant. Ce n'était pas un emploi à temps plein, mais c'était suffisant pour acquérir de l'expérience tout en continuant à apprendre à coder.
Avant de dire oui à l'emploi, je lui ai posé une question : "Pourquoi m'avez-vous choisi ?"
À ce moment-là, je connaissais un peu le HTML, le CSS, le JavaScript Vanilla et je venais de commencer à apprendre React. Mais il y avait beaucoup de développeurs juniors plus qualifiés qui en savaient plus que moi, alors pourquoi j'avais été choisi ?
Il a expliqué qu'il m'avait trouvé sur le forum et qu'il aimait les réponses que je fournissais aux autres utilisateurs. Il comprenait que j'en étais à mes débuts dans ma carrière, mais il pensait que je pouvais apprendre rapidement et bien assimiler les choses.
L'année 2020 s'est terminée sur une note positive et j'étais prêt pour les défis à venir avec ce nouveau travail de développeur à temps partiel.
Ma première expérience du syndrome de l'imposteur

Lorsque j'ai commencé ce nouveau travail à temps partiel, il y a eu de nombreux moments où je me suis senti dépassé. Le premier moment a probablement été lorsque j'ai dû configurer le projet sur ma machine locale.
Jusqu'à ce moment-là, je n'avais jamais travaillé avec une application réelle. J'avais seulement construit de petits projets pour des cours ou déployé des projets personnels en utilisant GitHub Pages.
Mais je n'avais jamais eu à configurer un projet qui incluait une base de données et un système backend. Mon patron me guidait à travers la configuration et me donnait une liste de commandes à exécuter dans le terminal, mais je ne comprenais presque rien.
À ce moment-là, j'ai commencé à douter de ma capacité à réussir et peut-être que c'était une erreur de m'avoir embauché. Mais il m'a rassuré en disant que je m'en sortais bien et qu'il était tout à fait normal de lutter avec ces choses.
Au cours de l'année 2021, il y a eu de nombreux moments où j'ai eu l'impression de ne pas pouvoir accomplir la tâche qui m'était assignée. Mais j'ai continué à essayer de me rassurer en me disant que c'était une opportunité d'apprentissage et que j'étais censé grandir grâce à cela.
Ce premier travail a été très précieux, car j'ai commencé à apprendre à travailler dans une base de code réelle et j'ai appris à affiner mon code grâce à un développeur senior. Je le considère maintenant comme un mentor et un bon ami.
L'année 2021 s'annonçait prometteuse dans le domaine de la technologie et pendant l'été, Quincy m'a recontacté et m'a offert un poste de rédacteur au sein de l'équipe freeCodeCamp.
Avec une confiance à son apogée, j'ai décidé de poursuivre une nouvelle opportunité de carrière à la fin de l'année 2021.
Bonjour This Dot Labs
page d'accueil de This Dot Labs
J'ai été présenté à This Dot Labs au début de l'année 2021 lorsque leur compte Twitter a commencé à me suivre lorsque je publiais des messages sur mon Black Excellence Music Project.
Ils ont laissé un commentaire sur l'une de mes publications concernant leur prochaine rencontre Women in Tech, alors je me suis inscrit pour y jeter un coup d'œil. J'ai adoré l'ambiance de la réunion et j'ai rencontré des ingénieurs logiciels féminines incroyables.
J'ai continué à assister à leurs rencontres mensuelles et j'ai commencé à devenir plus actif avec les autres événements qu'ils organisaient. J'ai également commencé à contacter d'autres membres actuels et anciens de l'entreprise pour organiser de courtes discussions autour d'un café afin d'en savoir plus sur eux.
Pendant les mois suivants, j'ai continué à construire des relations et à développer mes compétences techniques. En décembre 2021, j'ai décidé que le moment était venu de postuler.
Le processus d'entretien

Le processus d'entretien pour This Dot Labs consistait en une série de questions comportementales, un projet à faire à la maison et un entretien technique final.
Le projet à faire à la maison était similaire aux projets que l'on peut trouver dans la section Préparation aux entretiens de codage de freeCodeCamp. Lors de l'entretien technique final, ils m'ont posé des questions sur mon expérience de travail précédente en tant que développeur et sur mes projets personnels.
Ils voulaient savoir quelles étaient les fonctionnalités du Black Excellence Music Project, pourquoi j'avais choisi React pour le projet et quelles étaient les améliorations futures. J'ai eu l'impression de développer un bon rapport avec les intervieweurs et j'ai fait en sorte de répondre à toutes les questions aussi honnêtement et en détail que possible.
Lorsque j'ai reçu l'e-mail m'annonçant que j'avais obtenu le poste, j'étais ravi. Je savais que ce serait une bonne opportunité d'apprentissage pour moi et une excellente prochaine étape dans ma carrière.
Mes premières semaines dans le nouveau travail
mon profil d'équipe This Dot Labs
Mon premier jour en tant que développeur junior chez This Dot Labs était le jour de la Saint-Valentin 2022. La matinée était remplie de réunions d'intégration pour m'aider à rencontrer mon manager, l'équipe et le projet.
C'était un peu accablant au début, car j'ai eu quelques difficultés à configurer le backend avec le nouveau projet et il y avait un flot de nouvelles informations à digérer. Mais j'ai essayé de faire de mon mieux en posant des questions et en me connectant avec mes nouveaux coéquipiers.
Les premières semaines étaient remplies de réunions, de revues de code et de la réalisation de mes premières tâches. J'ai eu des moments de syndrome de l'imposteur parce que j'étais beaucoup plus lent que le reste de mon équipe, qui est plus senior que moi.
Mais mon équipe était très supportive et rassurante, me disant que je progressais bien. J'ai commencé à trouver mon rythme et à gagner plus de confiance en mes compétences.
Leçons que j'ai apprises en cours de route
Cette dernière année et demie a été une expérience folle, inattendue, amusante et parfois frustrante. Mais j'ai appris beaucoup de bonnes leçons en cours de route.
Apprenez bien les bases et ne vous précipitez pas
Je venais d'un milieu non technique, et apprendre à coder ne m'est pas toujours venu naturellement. Il y a eu de nombreux moments où j'ai lutté avec des leçons ou des projets de classe et j'ai commencé à douter de ma capacité à apprendre à coder.
Mais j'ai continué et j'ai décidé de prendre les choses lentement. Je savais qu'il n'y avait aucun avantage à sauter les bases et à précipiter le processus d'apprentissage.
Mon conseil aux nouveaux venus est de construire une bonne base dans les fondamentaux et de construire beaucoup de projets en cours de route.
J'ai construit des tonnes de petits projets juste à des fins d'apprentissage. Construire des projets vous permet de mieux comprendre comment les technologies fonctionnent et développe vos compétences techniques et de débogage.
Construisez un projet unique substantiel dont vous pouvez parler lors des entretiens
L'une des plus grandes erreurs que commettent les débutants est d'afficher des projets de classe sur leurs CV et portfolios. Le problème avec cette approche est que les responsables de l'embauche et les recruteurs ont vu ces mêmes projets des dizaines de fois.
Les projets de classe sont excellents pour l'apprentissage et servent de bonne pratique lorsque vous commencez. Mais il est important de construire également des projets qui prennent du temps et ont plus de substance que de petites applications jouets.
N'oubliez pas que les intervieweurs vous poseront des questions sur vos projets et les fonctionnalités que vous avez ajoutées. Si c'est un petit projet de classe qui a pris une heure ou deux à construire, il n'y aura pas grand-chose à en dire.
Mon conseil serait de construire quelque chose inspiré de votre carrière précédente ou de vos loisirs personnels. Ou peut-être même construire quelque chose qui vous aide à automatiser certaines tâches au travail ou quelque chose qui bénéficie à la communauté dans laquelle vous vous trouvez.
Apprenez en public
Apprendre en public peut être un excellent moyen de se connecter avec d'autres développeurs et de mener à des opportunités d'emploi inattendues. Je suggérerais de rejoindre Twitter et de publier périodiquement sur vos progrès.
Vous pouvez publier sur les cours que vous suivez ou les projets que vous construisez actuellement. Le défi 100 jours de code est une façon populaire de le faire.
N'oubliez pas que la cohérence est la clé et que la publication de bon contenu sur une période de temps vous aidera à construire un public. Vous ne savez jamais qui lira vos publications.
Rejoignez une communauté et connectez-vous avec d'autres développeurs
Peu importe où vous en êtes dans votre parcours d'apprentissage, il est extrêmement important de rejoindre une communauté de développeurs pour apprendre et se connecter. J'ai appris beaucoup des communautés dont je fais partie et j'ai rencontré des gens formidables en cours de route.
Lorsque vous êtes connecté à une communauté, ils peuvent vous aider à traverser les moments difficiles d'apprentissage et vous aider à trouver de bonnes opportunités d'emploi. Espérons que vous pourrez aussi aider les autres et les soutenir en cours de route.
Il existe de nombreuses communautés technologiques à rejoindre, y compris des rencontres, des discords, des chats, des groupes Slack, Twitter et plus encore. Essayez de trouver un groupe qui soutient les débutants et vous permet de participer de manière à vous sentir à l'aise.
Apprenez comment fonctionne le processus d'embauche
Au début de mon parcours, je me suis assuré d'étudier comment fonctionne réellement le processus d'embauche. J'ai lu des dizaines de publications sur le forum dans la section conseils de carrière de ceux qui passent actuellement par la recherche d'emploi.
J'ai appris les choses à faire et à ne pas faire des autres et ce qui fonctionnait pour décrocher ce premier emploi de développeur junior.
J'ai entendu beaucoup de gens se plaindre que le processus devrait être aussi simple que de remplir des demandes et qu'ils ne devraient pas avoir à faire des choses supplémentaires comme construire une présence en ligne ou un réseau.
Dans un monde parfait, ce serait le cas. Mais le processus d'embauche des logiciels ne fonctionne pas de cette manière.
Mon conseil est d'apprendre à écrire de bons CV, d'apprendre à réseauter, d'apprendre à écrire un bon profil LinkedIn et comment trouver de bonnes pistes d'emploi.
Voici quelques ressources utiles à consulter :
- Comment construire votre CV de développeur sans expérience professionnelle
- Comment obtenir votre premier emploi de développeur - Conseils de l'examen des CV des changeurs de carrière
- Comment écrire un CV de développeur que les recruteurs liront
- Pourquoi votre CV est rejeté - et comment le corriger
- COMMENT UTILISER LINKEDIN EN TANT QUE DÉVELOPPEUR pour obtenir un emploi dans la tech ! Comment réseauter !
- Comment obtenir un emploi en tant qu'ingénieur logiciel
- Secrets d'entretien
- Blogging For Developers ! Sponsorisé par Hashnode !
J'espère que vous avez apprécié cet article et je vous souhaite bonne chance dans votre parcours de programmation. Vous pouvez également me contacter sur Twitter.