Avec toutes les histoires de licenciements et de malaise général de l'industrie technologique, je pense qu'il est temps de rappeler un peu le chemin parcouru. Voici donc une histoire d'origine, ou, ce qui aurait été une histoire d'origine. Parce que j'ai un sale secret à partager. Je ne suis pas un développeur rock star. Ou une grande partie d'un développeur du tout.
Maintenant, je sais que certains lecteurs de Hackernoon pourraient y aller : 🤨
Mais il y a de nombreuses lunes, j'étais probablement en passe de devenir un (développeur).
J'avais récemment obtenu mon diplôme universitaire et j'étais maintenant assis à la maison. C'est à ce stade que les jeunes hommes (et femmes) sont censés sortir, trouver un emploi et être des membres productifs de la société ! Mais j'avais d'autres projets. Je voulais créer ma propre entreprise. Plus facile à dire qu'à faire, je l'admets, mais bien sûr, je ne le savais pas à l'époque. Heureusement pour vous, je suppose, car cette histoire n'existerait pas si je l'avais fait 😁.
Je vivais avec mes parents et ils m'ont encouragé à postuler pour des emplois. Je ne sais pas si c'était parce que j'apparaissais sans emploi (enfin je l'étais) et que je ne faisais rien (beaucoup), mais j'ai accepté. C'était plus par désir de montrer que je pouvais trouver un emploi, mais je ne voulais tout simplement pas. J'ai donc commencé à postuler. Je ne pense pas avoir postulé à un trop grand nombre, probablement seulement un ou deux. L'un d'eux était une société de logiciels (voyez si vous pouvez deviner qui ils sont, indice à la fin de l'histoire) qui servirait d'antagoniste à l'histoire actuelle de Hackernoon Bedtime. Le travail de l'entreprise consistait à former puis à embaucher des développeurs pour d'autres entreprises pour des projets. J'ai passé la première étape du processus qui était un examen en ligne, et quelques jours plus tard, j'ai reçu un e-mail m'invitant à un entretien physique.
Je suis arrivé à l'entretien et une petite surprise agréable a été que je suis tombé sur un ancien camarade de classe et nous avons bavardé un peu. Finalement, c'est arrivé à mon tour et je devais être interviewé par deux personnes. Pendant ce temps, j'ai découvert que l'entreprise vous obligeait à vous engager pendant deux ans si vous acceptiez le poste. J'étais un peu méfiant à ce sujet car je ne pensais pas que je voulais remettre à plus tard mes rêves de créer ma propre entreprise dans quelques années. J'ai décidé d'être honnête et je leur ai dit. Ils ont dit d'accord, mais je n'avais aucune idée de ce qu'ils en pensaient. L'interview elle-même était la plus proche de l'ambiance Silicon Valley-ey. Des enquêteurs très jeunes, seulement quelques années de plus que moi. Quand je suis arrivé à la section des loisirs, j'ai parlé d'anime et parlé un peu de japonais (j'avais suivi des cours et je savais lire et écrire un peu) et j'ai réussi à convaincre l'un de mes intervieweurs qui regardait également Naruto. Sucré. Je suis rentré chez moi et j'ai attendu les résultats. Quelques jours plus tard, il est arrivé. J'avais échoué… je plaisante ! Bien sûr, j'ai réussi 😛. (ou l'histoire se serait terminée 😁)
Ainsi avait environ quarante ou cinquante autres personnes.
Honnêtement, cependant, j'ai été un peu surpris d'être passé au tour suivant étant donné que j'avais exprimé une certaine hésitation lors de l'entretien. Ce n'est généralement pas comme ça qu'on fait une interview, mais des progrès, je l'ai fait. L'e-mail nous a informés que nous avions été invités à un troisième tour du processus de recrutement. Cela devait durer deux semaines. Standard 9h à 17h 8h à 17h30. Alors ça a commencé. Le premier jour consistait à diviser les personnes interrogées en deux classes. Une classe JavaScript et une classe Python. J'ai été mis dans la classe JS. C'était JS à partir de zéro. Aucun d'entre nous n'était censé avoir une connaissance préalable de JS. Eh bien, ils ont bien compris celui-là. Je suis arrivé avec un cerveau sans connaissances JavaScript.
Au cours de la première semaine, j'ai été initié à la culture d'entreprise. Le premier jour a été un choc lorsque, vers le déjeuner (qu'ils ont fourni), nous avons été appelés dans le hall central entre les deux salles de classe et invités à former un cercle et à nous tenir la main.
Silicon Valley-esque, vous vous souvenez ? Je me souviens d'avoir hésité face à cette dystopie du développeur de logiciels new-age kumbaya et d'avoir accepté à contrecœur de le faire uniquement à cause du capitalisme. C'était un entretien et je cherchais à décrocher le poste. J'avais des normes, mais on me demandait seulement de tenir la main de mes futurs collègues potentiels, pas de vendre de l'uranium enrichi aux maternités. Je pourrais descendre pour faire ça. Je me souviens que l'un des développeurs de formateurs a remarqué avec désinvolture que je finirai par m'y habituer et que j'aimerai ça.
J'ai été initié aux bases de Bash et Git dans les premiers jours. Et JavaScript lentement aussi. C'était définitivement l'une de ces séances d'entraînement à haute intensité. Je devais quitter ma maison vers 6h du matin pour arriver vers 7h45. Nous sommes progressivement sortis du bâtiment vers 17h-18h et je rentrais chez moi vers 20h. C'était fatigant mais agréable. J'étais content parce que j'apprenais si vite. Au cours d'une journée moyenne, on nous donnait plusieurs exercices. Un de ces jours, on nous a donné un exercice un peu plus exigeant que d'habitude, vers le soir. Et on nous a dit que nous n'avions pas besoin de rester au bureau pour le finir. Donc, après avoir travaillé dessus pendant plus d'une heure, je suis rentré chez moi. J'étais déterminé à le terminer parce que j'aimais le défi de l'exercice, donc une fois rentré à la maison, j'ai continué l'exercice et j'ai terminé vers 20h30 environ et j'ai soumis l'exercice. C'était un vendredi soir donc il n'y avait plus de travail pendant un petit moment. Un week-end de repos bien mérité s'annonçait.
Je suis arrivé au bâtiment à l'heure lundi et j'ai trouvé qu'environ la moitié de la classe n'était pas encore arrivée. Il n'était que quelques minutes avant 8 heures du matin, donc j'étais perplexe. La journée a commencé et on nous a dit que la moitié qui manquait avait été coupée. Ce fut un choc. Le projet était censé être la coupe. Alors, qu'est-ce-qu'il s'est passé? Leur délit ? Ce petit exercice innocent du vendredi tardif, l'un des plus d'une douzaine que nous avions reçus cette semaine-là. Ceux qui ne l'avaient pas soumis avant 22 heures vendredi soir avaient reçu l'ordre de ne pas revenir lundi. Un léger frisson parcourut ma colonne vertébrale. Je n'étais qu'à environ une heure de cette échéance. Même si j'étais ici, au tour suivant, j'ai trouvé que c'était un peu injuste et j'ai protesté. J'ai mentionné qu'on nous avait dit que nous n'avions pas besoin de le terminer avant notre départ pour la journée. Ils ont contesté n'avoir jamais dit qu'il n'était pas nécessaire de remettre le devoir ce jour-là. Le piège m'a paru un peu dur. Comme un test d'un roman dystopique.
Vers mardi, nous avions commencé à travailler sur notre projet. Nous avons été mis par groupes de deux. Mon groupe avait pour tâche de développer un petit clone d'Eventbrite. J'étais responsable de la majorité du backend et un peu du frontend et mon partenaire avait l'inverse. Cela semblait être un peu un défi pour les personnes qui venaient de commencer à apprendre JavaScript et Git il y a une semaine, mais c'était faisable, je pensais. Nous utilisions Firebase (à l'époque où Google ne les avait pas encore acquis) pour le backend. Nous avons donc commencé le projet, et c'est là que les cheveux tirés ont commencé.
Au début, je pensais que la seule chose dont je devais m'inquiéter était la chronologie. J'ai commencé et je semblais faire des progrès décents (avec le recul, j'aurais dû réaliser que c'est ainsi que commence chaque film d'horreur 🤗 ) jusqu'à ce que je rencontre un problème avec un appel à l'API Firebase. Une ligne de mon code était censée utiliser les données renvoyées par Firebase, mais cela ne fonctionnait que la moitié du temps. J'ai essayé encore et encore. Peaufiner ceci, réécrire cela. Rien. Comme vous l'avez peut-être compris, une application basée sur un serveur qui ne peut pas communiquer avec un serveur est une application plutôt nulle.
Les candidatures inutiles ne vous permettent pas de passer des entretiens. J'ai commencé à paniquer. Le temps s'écoulait. La chose exaspérante était que *ça fonctionnait* la moitié du temps ! Cela n'avait aucun sens, ce n'est pas comme ça que les ordinateurs étaient censés fonctionner !! Bien sûr, mon écran s'est contenté de me regarder avec plaisir, sans aucune aide. Jeudi est venu et je n'avais toujours pas résolu le problème. Nous devions présenter notre programme de travail le lendemain. Je n'avais pas essayé d'écrire d'autres parties du programme parce que je ne voyais pas l'utilité si je ne pouvais pas travailler avec le serveur. Les nuits tardives de cette semaine n'avaient rien donné.
Vendredi matin, je programmais *dans le bus* sur le chemin du bureau. C'était mon niveau de désespoir et c'est alors, heureusement, que ça a finalement cliqué. C'était un problème asynchrone. Newbie-JS-developer-me n'a pas compris que, contrairement aux programmes C locaux de base qui s'exécutaient ligne par ligne, si une ligne JS faisait un appel de données sur Internet, il n'y avait aucune garantie que les données seraient arrivées au moment où le programme a exécuté une autre ligne de code trois lignes plus bas. J'étais entièrement habitué à la notion de programmes fonctionnant ligne par ligne. La raison pour laquelle cela avait fonctionné la moitié du temps était que la réponse du serveur avait simplement été assez rapide la moitié du temps. J'ai commencé à me précipiter avec la légère euphorie qui survient lorsque vous résolvez un problème embêtant, mais je n'avais que quelques heures jusqu'à ce que mon partenaire et moi devions présenter ce matin-là.
D'un autre côté, le débogage alors que le mobile compte comme un débogage mobile, n'est-ce pas ? Droit? 😉 ..... d'accord, j'arrête.
Je suis arrivé au bureau où, comme moi, d'autres se pressaient pour avoir quelque chose à présenter. Un seul groupe (sur cinq ou six) avait effectivement terminé (la veille !). Ma partenaire avait également des problèmes dans ses parties. Ensemble, nous avons réussi à bricoler quelque chose à présenter.
J'ai commencé par une blague disant que la raison pour laquelle notre projet était si dépouillé était que nous avions absorbé l'esprit du minimalisme.
Heureusement, tout le monde a ri. J'ai fait la présentation et expliqué le problème et ce n'était pas trop mal après tout, comparé à la façon dont les autres s'en étaient sortis. Mis à part le groupe de génie, qui a fait applaudir tout le monde, nous avons bien fait comparativement.
Avec le recul, c'était un peu triste que j'aie probablement passé plus de la moitié du temps sur un projet à chasser un bogue. J'ai été rappelé et inspiré pour écrire cette histoire quand j'ai entendu parler du service Sentry. C'est un service de débogage/surveillance d'application. Vous pouvez les consulter ici. Ça regarde en profondeur et je n'en comprends pas la moitié, donc c'est bon signe 😁. Vous pouvez les consulter ici sur sentry.io si vous êtes curieux.
À la fin de la journée, nous avons été appelés dans une pièce un par un. On m'a "provisoirement" proposé le poste, mais j'ai exprimé une hésitation en raison de l'engagement de deux ans requis. Sans surprise, je n'ai pas obtenu le poste lorsque les e-mails sont arrivés au cours du week-end, car je l'avais essentiellement refusé.
Dans l'ensemble, ce fut une bonne expérience. Je déteste l'admettre, mais au bout de deux semaines, j'appréciais ce truc de Kumbaya à se tenir la main et à raconter des blagues que nous avions fait au déjeuner comme ils l'avaient promis. J'accepte la défaite là-bas.
De ne jamais toucher JS à devenir ma langue préférée en deux semaines. De plus, une nouvelle capacité à travailler dur et à accomplir beaucoup de choses en peu de temps. Je passe également de moi, un amoureux de l'interface graphique Windows complète, à préférer utiliser la ligne de commande pour Git par rapport à l'interface Web. Ce fut une expérience positive.
Quelques années plus tard, la société a été rachetée par une grande entreprise de technologie. Comme je ne suis pas un grand fan des pratiques éthiques là-bas, j'essaie de me dire que ce n'était peut-être pas une mauvaise idée de sauter le pas.
En fin de compte, ce que vous faites est plus important que ce que vous avez fait. Alors voici vers l'avenir et aujourd'hui!
Hé! Merci d'avoir lu mon histoire. Si vous l'avez trouvé sympa/intéressant/drôle, partagez l'article. Je me réjouis des commentaires / questions ci-dessous. Faites-moi savoir si vous voulez entendre parler de mes autres expériences de développement débutant. Merci!