Article original : How freeCodeCamp helped me get a job and turn my life around

Par Adham El Banhawy

J'étais simplement un autre étudiant heureux, en double majeure en informatique et en économie dans une université en Égypte.

J'étais tombé amoureux de la programmation après avoir suivi quelques cours de C++.

Je n'oublierai jamais l'écriture de ma première boucle for et son exécution à l'écran sans erreur dès le premier essai. Je n'oublierai jamais mon professeur me disant que j'avais de bonnes compétences en codage et un grand potentiel si je continuais ainsi.

Le codage avait simplement du sens. Créer quelque chose et le voir prendre vie est l'expérience la plus gratifiante que j'aie jamais eue dans le milieu académique.

Mais en raison de l'instabilité politique à l'époque, j'ai dû quitter l'Égypte en 2013 et étudier à l'étranger. J'ai fini à l'Université de Californie à Riverside, où j'ai choisi de continuer mon diplôme en économie car cela me permettrait d'obtenir mon diplôme en moins de temps et coûterait moins cher à ma famille.

Je pensais continuer à coder comme passe-temps et peut-être trouver un emploi comme développeur plus tard. Je ne m'en rendais pas compte à l'époque, mais cette erreur me coûterait cher.

Ruiné en Californie

Après une série de professeurs médiocres, j'en suis venu à détester l'économie. Je ne trouvais plus le sujet intéressant du tout.

Je n'avais aucune idée de ce que je pouvais faire avec un diplôme en économie, et aucune expérience de travail après l'obtention de mon diplôme. Il s'est avéré qu'en tant qu'étudiant étranger légal, j'avais le droit de travailler pendant un an. Mais il y avait un piège : je ne pouvais travailler que dans un emploi lié à mon domaine d'études (l'économie).

Je ne pouvais donc même pas travailler comme stagiaire développeur, peu importe à quel point j'étais bon !

Cela m'a écrasé. J'avais appris le développement web par moi-même — HTML, CSS, et même expérimenté avec Ruby on Rails. (Tout cela était avant que Quincy Larson n'ait même créé freeCodeCamp.)

J'ai dû me résoudre à l'évidence. J'ai obtenu un emploi comme agent d'assurance vie dans une entreprise du Fortune 100. Après deux mois de formation non rémunérée, ils m'ont laissé partir à mon premier jour de travail après que le manager ait découvert que je ne pourrais pas travailler plus d'un an sans parrainage. Je leur avais parlé de ce problème potentiel à l'avance, mais l'entreprise avait apparemment une mauvaise communication interne.

J'étais coincé dans un bail d'appartement et je devais payer le loyer avec les économies de mes parents.

Au cours des six mois suivants, j'ai désespérément cherché des emplois et pratiqué le codage autant que possible. Je me suis amélioré en codage, mais la recherche d'emploi en Californie était terrible.

J'ai finalement déménagé à Austin, au Texas, pour y travailler comme analyste commercial et chercheur en marketing. J'ai déménagé là-bas après une discussion avec le PDG lui-même, qui a dit qu'il comprenait ma situation et que j'aurais bientôt besoin d'un parrainage pour mon visa. Nous nous sommes mis d'accord et ma situation semblait résolue.

J'ai bien travaillé là-bas. J'ai été rapidement promu coordinateur de projet grâce à mes connaissances en codage, et j'ai pu travailler à la fois avec l'équipe marketing et l'équipe technique.

J'ai participé à des tests QA et à des réunions scrum. Voir et travailler avec de vrais développeurs m'a rappelé à quel point j'aimais le développement logiciel. Mais travailler réellement dans le développement logiciel en tant que majeur en économie avec un visa était un rêve lointain. J'ai donc essayé de me convaincre que peut-être je pourrais évoluer vers un poste de gestion de projet et trouver un moyen d'être passionné par cela un jour.

Une grave erreur administrative

J'ai travaillé pour cette entreprise pendant 8 mois avant d'être informé que mon visa de travail n'était pas accepté. Apparemment, le département des ressources humaines avait pris trop de temps et soumis mes documents de visa plus tard que ce que le gouvernement exigeait.

Même si j'avais eu cette brève période de stabilité financière, je n'ai jamais été vraiment heureux. Je me sentais comme un robot effectuant des tâches aléatoires dictées par d'autres dans un petit bureau. Certes, j'avais des collègues incroyables et un patron génial, mais je n'aimais pas où j'en étais dans la vie.

Cela semblait sans but. J'ai eu des périodes de dépression que je n'avais jamais connues auparavant. Je me recroquevillais dans mon lit et pleurais sans retenue.

Je me suis convaincu que c'était peut-être un déséquilibre hormonal dû à une alimentation malsaine ou autre chose.

Bref, le fait est que j'étais encore une fois dans une situation désespérée. Et maintenant, je faisais face à un choix :

  1. faire mes valises et retourner en Égypte, où je devrais attendre un an avant de servir dans l'armée pendant 2 ans. (Tous les jeunes hommes vivant en Égypte doivent servir dans l'armée.)
  2. poursuivre un autre diplôme pour pouvoir rester légalement aux États-Unis en tant qu'étudiant.

Après beaucoup de persuasion de la part de ma famille, j'ai décidé de rester et d'aller à l'école supérieure dans le Minnesota.

Pourquoi le Minnesota ? Ma mère connaissait une personne qui avait un cabinet comptable là-bas, qui m'a également persuadé de venir travailler dans son cabinet en tant que comptable. Il m'a convaincu de m'inscrire dans n'importe quelle école pour seulement un ou deux trimestres pendant que je travaillais pour lui, et il a promis de m'obtenir le visa de travail.

À ce stade, je n'avais vraiment pas le choix. Soit retourner au chômage et à la guerre dans le désert, soit rester aux États-Unis et espérer un meilleur avenir. J'ai donc fait mes valises et déménagé encore une fois dans le Minnesota.

Je suis entré dans une école privée aléatoire, et il était si tard dans l'année que le seul programme de diplôme acceptant encore des étudiants s'appelait « Psychologie Industrielle Organisationnelle ».

J'ai attendu que l'homme du cabinet comptable tienne sa promesse d'un emploi dans son cabinet CPA.

Il ne l'a pas fait.

J'étais encore une fois coincé dans un programme de diplôme qui ne m'intéressait pas. Je manquais d'argent. J'ai donc pris un emploi d'ouvrier d'entrepôt pour pouvoir payer mon loyer.

Je devais me lever tous les jours à 6 heures du matin et conduire à travers des tempêtes de neige pour travailler à un emploi au salaire minimum, emballant des produits. Ensuite, j'allais en cours le soir et faisais semblant d'être intéressé pendant que l'université prenait mon argent — juste pour pouvoir continuer à rester légalement aux États-Unis tout en essayant de comprendre quoi faire.

Je vivais seul. Je ne connaissais personne. Et je ne pouvais pas me faire d'amis. C'était presque Noël, et j'avais touché le fond. La dépression extrême était une compagne quotidienne. Mon objectif principal chaque jour était de m'empêcher de devenir suicidaire.

freeCodeCamp à la rescousse

J'ai commencé freeCodeCamp.org en hiver 2016. Je ne me souviens pas comment j'en ai entendu parler.

Après avoir dépensé une petite fortune dans les universités américaines, j'étais extrêmement sceptique. J'ai lu à propos des certificats qu'ils avaient et entendu parler de la qualité du programme. « Tout cela gratuitement ? Il doit y avoir un piège. Il y a toujours un piège. »

Eh bien, j'ai vérifié, et il s'avère qu'il y avait un piège. Ce n'était pas que vous deviez payer de l'argent. L'argent ne pouvait pas vous aider ici. Le piège était que vous deviez prendre le temps de travailler sur des défis de codage de plus en plus difficiles.

Eh bien, j'étais complètement d'accord avec cela !

Une fois que j'ai commencé à faire les défis, je me suis à nouveau souvenu du potentiel que mon professeur d'informatique avait dit avoir vu en moi. Je me suis souvenu de ce que je voulais devenir dans la vie. Et j'ai été immédiatement accroché.

J'avais déjà appris par moi-même quelques bases de HTML et CSS, et avais une compréhension vague de certains concepts d'informatique. freeCodeCamp était le rappel parfait et un outil de pratique pour m'améliorer. Je prends toutes mes connaissances et je construis des choses avec !

J'ai commencé à faire les défis, et je me souviens qu'à un moment donné, j'avais une série de plus de 30 jours. C'était la meilleure distraction de ma dépression et de ma vie qui s'effondrait. Et c'était la seule chose au monde qui me procurait une quelconque joie.

Retour à l'école avec un emploi de développeur web

Lentement mais sûrement, faire les défis et les projets sur freeCodeCamp a commencé à me donner un regain de confiance et à renforcer mon moral. Essayer de résoudre ces algorithmes et problèmes sur freeCodeCamp m'a encouragé à résoudre mes propres problèmes de vie — à savoir, le problème d'être au plus bas.

J'ai donc commencé à décomposer mon problème pour voir comment je pouvais les aborder :

  • Qu'est-ce que je veux vraiment dans la vie ? Le bonheur
  • Qu'est-ce qui me rend heureux ? Le codage
  • Comment puis-je coder pour vivre ? Devenir développeur
  • Comment puis-je légalement devenir développeur ? (rappelons que je suis un étranger, pas même un immigrant) Obtenir un diplôme en informatique

J'ai donc décidé de postuler pour le programme de premier cycle en informatique à l'Université du Minnesota dans les Twin Cities.

Je suis allé voir la directrice des admissions et lui ai expliqué ma situation. Heureusement, je n'avais pas manqué leurs dates limites et elle m'a assuré que je serais facilement accepté en raison de tous mes cours précédents, y compris les cours d'informatique que j'avais suivis en Égypte.

C'était ça. Je misais toutes mes cartes sur cette dernière chance. C'était le plus grand risque que j'aie jamais pris, et franchement la seule décision de vie que j'ai prise sans influence de la famille ou des amis.

Pendant que j'attendais de recevoir une réponse concernant mon admission, j'ai commencé à chercher les emplois disponibles à l'université. Il y avait une ouverture de stage pour un poste de développeur web qui impliquait la gestion de tous les sites web et l'analyse de l'université. Cela nécessitait des connaissances en HTML, CSS, JavaScript et Node.js — tout ce avec quoi j'avais travaillé et, grâce à freeCodeCamp, j'avais un portfolio de projets pour le prouver.

Juste avant la veille de Noël, j'ai reçu une lettre d'acceptation du département d'informatique. Mais je n'avais toujours pas de réponse à ma candidature d'emploi. Pour que tout cela fonctionne, j'avais besoin de ce travail pour payer mon loyer, car je devais quitter mon emploi d'entrepôt avant le début des cours.

Deux semaines après le début des cours, j'ai reçu un appel de la chef de projet au bureau des relations universitaires où j'avais postulé pour le poste. Elle m'a demandé de venir pour un entretien au début du mois de février.

Je suis allé à mon premier entretien. C'était avec la chef de projet et un développeur web senior du bureau. Ils m'ont posé des questions sur mon expérience de travail précédente, qui n'avait jamais directement impliqué le développement web. Mais ils avaient vu mon portfolio et m'ont posé quelques questions sur Node.js et JavaScript. J'ai réussi à résoudre tous les problèmes. Je ne me souviens pas de ce qu'ils étaient, mais ils n'étaient pas trop difficiles et étaient destinés à vérifier si j'avais des connaissances de base en développement web.

Considérant que toute ma vie était en jeu, j'étais assez confiant et détendu. Je pense que j'ai fait une bonne impression.

Quelques jours plus tard, la chef de projet m'a appelé et m'a demandé de commencer à travailler la semaine suivante.

Le stage, le diplôme, freeCodeCamp

Putain, un diplôme en informatique est intense. Il y a peu ou pas de codage, et beaucoup de maths et de pseudo-code. Certes, ils m'ont appris le C pendant mon premier semestre, mais c'était juste pour le compiler en langage d'assemblage, puis le traduire dans les deux sens.

Mais j'ai trouvé que certaines des maths compliquées et de la logique profonde étaient réellement utiles et avaient quelques applications dans le développement web. Comme utiliser une représentation matricielle d'un système de grille pour déplacer des éléments CSS dans le DOM et créer des effets personnalisés. Ou utiliser des méthodes de preuve connues pour résoudre des algorithmes compliqués. Mais c'est DIFFICILE et être un étudiant à temps plein rendait impossible pour moi de continuer à faire freeCodeCamp.

Le stage de développeur web, en revanche, était à temps partiel, 20 heures/semaine. Je passais des cours au travail et du travail aux cours. J'ai pu utiliser les fondamentaux du développement web que freeCodeCamp m'avait enseignés au travail, et j'ai encore dû apprendre d'autres outils de développement web comme Sass, Gulp, GitHub et travailler avec des serveurs Linux.

Même si, en tant qu'employé sur le campus, je suis payé au salaire minimum, cette expérience est inestimable et est exactement ce dont j'ai besoin. J'ADORE ce que je fais et J'ADORE aller travailler. J'ai peut-être eu le syndrome de l'imposteur au début, mais j'étais si déterminé à m'améliorer. J'ai parcouru un long chemin depuis février.

Maintenant que je n'ai pas d'école en été, je travaille toujours à l'université, mais je suis également retourné pour terminer les projets et les défis de freeCodeCamp, et j'essaie d'apprendre React pendant mon temps libre.

Oh, et en cours de route, j'ai rencontré ma première petite amie. Nous avons décidé de nous marier après l'obtention de notre diplôme. J'ai également fait beaucoup de bons amis et j'ai un plan de match pour une fois dans ma vie.

Je travaille comme un fou pour devenir le meilleur ingénieur logiciel possible afin de pouvoir postuler à un stage dans les quatre grandes entreprises technologiques d'ici la fin de cette année.

Même si je lutte financièrement plus que jamais, j'ai surmonté ma dépression et je suis devenu un développeur confiant et rapide dans l'apprentissage. Je sais avec certitude que je suis sur la bonne voie, que je dois simplement continuer à faire ce que j'aime, et finalement je serai heureux et réussi.

Aller de l'avant

Le parcours pour devenir développeur n'est pas facile. Je dois remercier Quincy Larson et toute la communauté freeCodeCamp de m'avoir mis sur la bonne voie. Ils m'ont aidé à changer ma vie quand j'avais perdu tout espoir.

Ce n'est définitivement pas la fin du chemin. Le voyage ne s'arrête pas une fois que vous avez obtenu l'emploi.

J'espère que le message à retenir pour quiconque a lu jusqu'ici est de faire ce que vous aimez, peu importe les obstacles. Ne vous forcez pas à faire quoi que ce soit pour lequel vous n'êtes pas passionné, car cela peut être une cause majeure de dépression.

Continuez à coder et amusez-vous en le faisant !