Article original : My First Year as a Professional Developer – Tips for Getting into Tech
Bonjour à tous ! Dans cet article, je vais partager mes réflexions sur ma première année d'expérience professionnelle en tant que développeur logiciel.
Cela fait presque deux ans que je me suis lancé dans la programmation et un an que je suis devenu développeur à temps plein.
J'ai commencé à écrire cet article simplement comme un exercice d'auto-réflexion. Mais je me suis dit que peut-être quelqu'un qui est dans une situation similaire à la mienne ou qui commence tout juste à coder pourrait trouver certaines de mes expériences utiles ou intéressantes.
Je prévois d'aborder beaucoup de choses ici. Je vais passer en revue tout, de mon parcours et comment j'ai changé de carrière à presque trente ans, à comment j'ai appris à coder et choisi ma stack technique.
Je vais également discuter de ce que je prévois d'apprendre à l'avenir et pourquoi, ainsi que quelques conseils généraux et mes sentiments et pensées globaux sur cette première année de travail professionnel.
La façon dont je vais structurer cela est que d'abord je vais vous raconter l'histoire de comment je suis devenu développeur. Ensuite, je vais lister les principales pensées et concepts qui m'ont aidé à arriver là où je suis maintenant.
Cet article va être un peu différent de ce que j'écris habituellement, dans le sens où il ne sera pas trop technique et pourrait devenir trop auto-référentiel à certains moments. Mais l'idée est de vous faire vivre mon expérience et mon processus de pensée afin que vous puissiez avoir une idée de comment les choses pourraient être si vous suiviez le même chemin.
Bien que je vous rappelle que mes opinions et expériences ne s'étendent pas nécessairement à tout le monde. Et je ne prétends pas que mes choix et préférences sont nécessairement les meilleurs. Donc vous savez... si vous lisez tout cela, prenez simplement ce qui est utile pour vous et ignorez le reste. :)
Assez de blabla, c'est parti !
Table des matières
Mon Parcours
Je suis un homme de 29 ans de Buenos Aires, en Argentine.
J'ai grandi ici, et une fois que j'ai terminé le lycée, je n'avais aucune idée de ce que je voulais faire de ma vie. Je savais que je devais aller à l'université parce que c'est ce que tout le monde faisait. Et selon la "connaissance générale", c'était ce qui allait me donner les meilleures chances dans la vie. J'ai donc commencé à explorer différentes voies de carrière...
J'étais un adolescent timide et introverti au lycée, alors dans ce nouveau chapitre de ma vie, j'ai décidé de changer cela et d'entrer davantage en contact avec les gens et la société en général.
J'étais attiré par les études en sciences sociales telles que la philosophie, la psychologie et l'histoire. Mais cela m'inquiétait que ces professions ne soient pas très demandées sur le marché du travail. J'ai donc fini par choisir une licence en ressources humaines, pensant que c'était un bon compromis entre les sciences sociales et les affaires.
J'ai pris cette décision entièrement par moi-même, car j'étais le premier de ma famille à aller à l'université. Je ne connaissais vraiment personne qui pouvait me guider dans cette situation. J'ai simplement fait la meilleure supposition possible avec les informations que j'avais.
Quelques années plus tard, j'ai commencé à regretter profondément mon choix. Je n'étais pas du tout intéressé par ce que j'étudiais. La structure rigide et la bureaucratie de l'université m'ennuyaient à mourir et j'avais l'impression de gaspiller toute ma jeunesse à écouter des gens que je ne respectais pas me donner des cours sans signification.
J'ai commencé à analyser à nouveau quelles autres voies de carrière je pourrais prendre, mais rien ne semblait me convaincre suffisamment. J'ai même consulté un groupe de professionnels de l'orientation vocationnelle qui m'ont facturé une tonne d'argent pour me dire que je serais un excellent gestionnaire des ressources humaines à l'avenir et que je devrais "simplement continuer".
Cela, combiné au fait que j'avais déjà investi deux ans dans cette affaire universitaire, m'a convaincu de "simplement continuer".
Quelques années plus tard, je me sentais toujours de la même manière, mais au moins j'étais proche de l'obtention de mon diplôme et je travaillais également. Donc j'étais toujours ennuyé à mourir, mais au moins je gagnais de l'argent.
J'ai finalement obtenu mon diplôme et quitté l'université avec le sentiment d'avoir presque rien appris, heureux simplement d'avoir enfin plus de temps libre.
En ce qui concerne le travail, j'ai commencé à gravir les échelons de l'entreprise. Changeant d'emploi de temps en temps, gagnant un peu plus d'argent, et travaillant pour de grandes entreprises bien connues.
À ce moment-là, je m'étais convaincu d'une manière ou d'une autre que j'aimais cette vie, et même si je n'ai jamais apprécié mon travail ou être dans l'environnement de bureau, cela faisait partie du marché.
En 2017, je travaillais pour une très grande entreprise industrielle et on m'a offert la chance de déménager à presque mille miles de Buenos Aires, en échange d'une augmentation de salaire et de la promesse d'une croissance professionnelle future. J'y ai réfléchi et j'ai accepté, car à ce moment-là, cela semblait être une trop grande opportunité à ne pas saisir.
L'environnement de travail dans cette nouvelle position était terrible. Je devais gérer des tâches médiocres, des leaders médiocres et des gens médiocres en général. J'apprenais rien et les promesses de croissance professionnelle future se sont avérées être du vent.
Les choses ont continué dans la même direction pendant quelques années, et lorsque la pandémie est arrivée, je travaillais plus dur que jamais, souvent en mettant des nuits et des week-ends, mais d'une manière ou d'une autre, mes leaders n'étaient pas satisfaits de mes efforts.
Je me sentais coincé et amer. J'avais quitté ma famille à Buenos Aires pour faire avancer ma carrière, et même si je travaillais aussi dur que je le pouvais, je ne récoltais aucun profit et je détestais mon travail plus que jamais.
À ce moment-là, j'ai enfin ouvert les yeux et réalisé que je ne pouvais plus rester là. Je ne savais pas quoi faire ensuite, mais je savais définitivement que je devais partir.
Puis j'ai vu une annonce quelque part sur un cours de programmation et j'ai commencé à m'intéresser au codage. J'ai toujours été intéressé par la technologie, et à ce moment-là, cela semblait juste de m'occuper l'esprit avec quelque chose de nouveau.
Je n'y ai pas pensé comme un moyen de trouver un nouvel emploi, mais comme un hobby, une façon de faire réfléchir mon cerveau à autre chose.
Comment j'ai appris à coder
Donc, après avoir vu cette annonce et m'être intéressé au codage, j'ai fait ce que la plupart des gens font lorsqu'ils cherchent des informations : j'ai googlé des choses, ouvert une tonne d'onglets de navigateur et regardé un million de vidéos YouTube.
Je me souviens qu'à l'époque, je ne comprenais souvent rien à ces vidéos. Tant de termes étranges étaient utilisés et les gens reliaient chacun de ces termes à d'autres sujets dont je n'avais aucune idée.
Je ne savais pas vraiment comment fonctionnaient les ordinateurs, encore moins comment fonctionnait Internet. Je ne savais pas ce qu'était un langage de programmation, pourquoi il y en avait tant, quelle était la différence entre le front-end et le back-end, ce qu'était une fonction, ce qu'était une variable, ce qu'était SQL... Tant de concepts et tous complètement nouveaux.
Je ne savais simplement pas par où commencer. Apprendre à coder ressemblait à regarder le mur de Game of Thrones.

Je me sentais comme le recruteur ici...
C'est là que je suis revenu à freeCodeCamp (j'avais fait un peu de cours de base HTML et CSS il y a quelques années) et j'ai également téléchargé une application appelée Mimo (qui vous aide à apprendre à coder de manière similaire à Duolingo).
Ces cours structurés m'ont aidé à organiser mon apprentissage et à comprendre les bases des choses avant de passer à des sujets plus complexes. J'ai consacré quelques heures chaque jour à ces deux ressources, et après quelques mois, j'ai été capable de construire une page HTML et CSS très très simple.
Après cela, j'ai senti que j'avais besoin d'interagir avec d'autres personnes qui étaient dans le même parcours d'apprentissage que moi. Je voulais partager des connaissances avec les autres, entendre les expériences des autres et vérifier si ce que je faisais et apprenais avait du sens par rapport à ce que tout le monde faisait.
La façon dont j'ai fait cela a été de m'inscrire à quelques cours de bootcamp en ligne. J'aimais que les cours soient en direct avec un professeur et un groupe d'autres étudiants. Cela signifiait que j'avais la chance de poser des questions, d'entendre les questions des autres et de me comparer aux autres.
Quatre mois ont passé et à ce moment-là, j'étais complètement plongé dans le codage. J'étais devenu à l'aise avec HTML et CSS, et j'avais également appris les concepts de base de la programmation avec JavaScript. Je consacrais absolument tout mon temps libre à cela et, même si c'était lent, je sentais que je faisais des progrès chaque jour.
À ce moment-là, j'ai eu la chance de changer d'emploi (toujours dans le domaine des ressources humaines) et de retourner à Buenos Aires. Je travaillais dans un environnement beaucoup plus agréable et j'étais heureux avec mon travail et l'équipe que j'avais. Mais je continuais à coder et à apprendre à ce sujet chaque jour. J'aimais simplement cela et je sentais que je pourrais être bon un jour.
Quelques mois de plus ont passé, j'ai complété d'autres cours de bootcamp et je suis devenu à l'aise avec React également. J'ai été capable de construire des projets plus intéressants et "complexes" par moi-même et avec le temps, je suis devenu de plus en plus curieux de savoir comment cela pourrait être de faire cela pour gagner ma vie.
Je pouvais d'une certaine manière m'imaginer en tant que développeur, et après avoir beaucoup douté, j'ai décidé d'essayer et j'ai commencé à postuler pour des emplois.
J'ai été rejeté BEAUCOUP et j'ai eu BEAUCOUP DE DIFFICULTÉS avec les quelques entretiens que j'ai pu obtenir (vous pouvez en lire plus à ce sujet dans l'article que j'ai écrit sur les conseils pour les entretiens techniques).
Certains de ces entretiens ont été comme un rappel à la réalité pour moi dans le sens où ils m'ont fait réaliser qu'il y avait encore une quantité immense de choses que je ne savais pas et que je devrais continuer à m'améliorer si je voulais un jour avoir la chance de travailler en tant que développeur.
Ces expériences ont un peu blessé mon estime de moi et m'ont fait douter de pouvoir le faire. J'ai abandonné le codage pendant quelques semaines pour la première fois en presque un an, mais j'y suis finalement revenu. J'aimais simplement cela et je sentais que je devais prouver aux gens qui m'avaient rejeté qu'ils avaient tort.
À ce moment-là, j'ai commencé à élargir les ressources que j'utilisais pour apprendre. Les cours en direct n'étaient plus aussi intéressants pour moi puisque je sentais que je n'avais plus besoin de feedback constant des autres comme lorsque je commençais.
Maintenant que j'avais un large éventail de connaissances, de termes et de concepts au moins superficiellement présents dans mon esprit, je pouvais facilement tirer parti de ressources asynchrones comme des vidéos, des articles et de la documentation.
Et surtout, je savais quel chemin je devais suivre pour apprendre ce dont j'avais besoin pour obtenir les emplois que je voulais.
J'ai donc réduit le nombre de cours en direct que je suivais et j'ai commencé à me plonger davantage dans des vidéos, des articles et de la documentation de bonnes sources fiables que j'avais trouvées.
De plus, j'ai commencé à écrire sur chacune des choses que j'apprenais, ce qui a fait une énorme différence pour moi car cela m'a aidé à intérioriser les connaissances, à entrer dans les détails de chacun des sujets que j'ai appris et à gagner en confiance d'une manière que je n'avais jamais expérimentée auparavant.
En parallèle, je passais toujours par différents processus d'entretien et je me sentais mieux et plus confiant dans ces situations. Et dans l'un de ces processus, j'ai fini par être embauché. 🤓
Après un an d'apprentissage, de surchauffe de mon cerveau et de dédier absolument tout mon temps libre au codage, j'ai enfin atteint mon objectif.
Je me souviens que je me sentais aussi heureux que je ne l'avais jamais été lorsque j'ai reçu la nouvelle. Cela ressemblait à la fin d'un marathon. Je n'avais jamais mis autant d'efforts constants dans quelque chose, et le sentiment de passer de ne rien savoir sur la technologie à pouvoir me qualifier de "programmeur" était incroyable.
C'était vraiment un grand moment, mais pour dire la vérité, j'avais aussi très peur... Lorsque je me regardais dans le miroir, je ne voyais pas un programmeur. Je voyais un gars qui ne savait toujours pas grand-chose. Et maintenant, j'allais changer de carrière et mettre ma stabilité financière (et émotionnelle) en jeu. Merde... 😳
Mon premier emploi en tant que développeur
Heureusement, toutes les peurs que j'avais en commençant mon premier emploi de développeur étaient infondées. J'ai atterri dans une entreprise incroyable et j'ai eu la chance de travailler dans une équipe incroyable avec un leader incroyable.
Il y avait TONNES de nouvelles choses à apprendre, et à certains moments, je ne comprenais pas une seule chose. Mais mon équipe m'a clairement fait comprendre que c'était ce que cela devait être et que je devais être patient et m'en tenir au processus d'apprentissage.
Je l'ai fait, et je l'ai pris étape par étape. Avec l'aide de mon leader et de mes coéquipiers, j'ai été capable de devenir assez compétent en quelques mois.
Mon équipe avait une excellente culture et notre leader nous encourageait à partager les connaissances tout le temps. Si quelqu'un trouvait un bug, créait une nouvelle fonctionnalité ou écrivait une documentation, cela devait être partagé avec le reste du groupe.
Il en allait de même lorsque quelqu'un faisait une erreur. Les erreurs n'étaient pas traitées comme des opportunités de blâmer quelqu'un, mais comme des chances pour tout le monde d'apprendre.
Nous avions des réunions hebdomadaires au cours desquelles nous partagions ce type d'informations les uns avec les autres. Grâce à cet échange continu, j'ai fait un énorme "déclic" dans mon esprit. J'ai compris que personne ne sait tout.
Avant d'obtenir cet emploi, l'une de mes plus grandes peurs était de ne pas être assez préparé. Il y avait beaucoup de choses que je ne savais pas et je sentais que je "devais" les savoir. Mais après avoir connu des développeurs avec 5, 8 ans ou plus d'expérience, j'ai compris que même avec cette quantité d'études et de préparation, ils ne savent toujours pas tout. Et c'est normal, car personne ne peut.
La taille du monde technologique que les humains ont créé et son évolution constante le rendent simplement impossible pour une seule personne de comprendre et de connaître chaque détail.
Ce que je pense être vraiment important, c'est de comprendre profondément l'ensemble d'outils donné avec lequel vous travaillez dans votre environnement, et d'avoir une compréhension superficielle du système général dans lequel vous travaillez.
Mais même alors, vous ne comprendrez toujours pas tout. Apprendre de nouvelles choses tout le temps et résoudre des problèmes fait partie intégrante du travail. En fait, ce pour quoi la plupart des entreprises paient les ingénieurs, c'est pour résoudre des problèmes. Vous êtes simplement confronté à des problèmes que vous ne savez pas résoudre au début, et vous les résolvez lentement jusqu'à ce que vous arriviez à une solution.
Cette seule idée a été très puissante pour moi et m'a permis de surmonter le syndrome de l'imposteur que je ressentais.
Dans l'ensemble, je me sentais génial dans mon nouvel emploi. Je travaillais à distance tout le temps (ce que j'adore et qui me permet de passer plus de temps avec ma famille et mes animaux de compagnie). Je travaillais avec des gens avec qui je me sentais en affinité, dans le sens où tout le monde était intéressé à partager des connaissances et à apprendre constamment. Et je sentais que mon travail était stimulant et intéressant.
J'utilisais mon cerveau tous les jours, devant réfléchir pour résoudre des problèmes, et cela me faisait sentir vivant et utile au lieu des sentiments de zombie que j'avais dans mes anciens emplois.
Le sentiment que j'avais (et que j'ai toujours) est que mon travail et mon hobby sont la même chose. Je ne vis plus pour le week-end (super chanson au passage). J'apprécie mon travail et je consacre toujours la plupart de mon temps libre à apprendre et à faire des choses liées au codage parce que j'aime cela.
Présent et futur
Après 9 mois à mon premier emploi en tant que développeur, j'ai eu la chance de changer à nouveau d'emploi. C'était difficile de quitter une si bonne équipe et un si bon leader, mais dans ma position actuelle, je peux travailler avec des technologies cool sur un grand et intéressant projet. De plus, changer d'entreprise et de projets m'a permis de mieux comprendre le processus de développement logiciel et comment différentes entreprises le gèrent.
C'est aussi très intéressant de rencontrer d'autres développeurs et d'apprendre d'eux. Je pense qu'il y a des choses à apprendre de chaque personne travaillant dans ce secteur, donc rencontrer et travailler avec de nouvelles personnes de temps en temps est quelque chose que j'aimerais continuer à pratiquer.
En plus de me concentrer sur mon travail, je suis également retourné à l'université pour étudier l'ingénierie informatique. J'ai pris cette décision parce que je sentais que la plupart des cours et des classes que j'ai suivis se concentraient fortement sur l'apprentissage de l'utilisation d'outils (comme React ou Node par exemple), mais il me manquait les connaissances de base sur lesquelles ces choses étaient construites.
Je voulais avoir des connaissances approfondies sur les sujets d'informatique également, et même s'il existe de nombreuses façons d'acquérir ces connaissances, l'université avait du sens pour moi.
Je trouve amusant que je vis une expérience complètement différente maintenant par rapport à ma première fois à l'université. J'assiste aux cours avec curiosité et j'apprends au moins quelques choses utiles à chaque fois. Être vraiment intéressé par ce que vous apprenez et comprendre le but de l'information fait vraiment une énorme différence.
Et en plus de ces deux choses, je travaille également comme assistant enseignant à temps partiel dans un bootcamp de codage et j'essaie d'écrire des articles périodiquement.
Partager des connaissances avec les autres est quelque chose que j'aime vraiment et que j'apprécie dans le monde du codage, et sans aucun doute, c'est l'une des choses qui m'a permis d'apprendre le plus. Beaucoup de gens ont bénéficié de cette pratique et je ne suis pas une exception.
En ce qui concerne l'avenir, je veux me former en tant qu'ingénieur logiciel polyvalent. Et par cela, j'entends que je vise à acquérir des connaissances sur tout l'écosystème de choses qui entoure la création de logiciels basés sur le web : développement front-end et back-end, tests, infrastructure, technologies cloud, CI/CD, conception de systèmes, etc.
Je pense qu'avoir au moins une connaissance superficielle des concepts de base dans chacun de ces domaines est important et précieux, même si je finis par me spécialiser dans un certain domaine plus tard. Donc c'est ce à quoi je dirige mon attention pour le moment... et le reste est simplement de continuer.
En réfléchissant aux étapes que j'ai franchies au cours des dernières années, de la position où je me trouve maintenant, j'apprécie d'une certaine manière comment les expériences que j'ai eues m'ont conduit là où je suis maintenant.
Travailler dans le domaine des sciences sociales pendant plusieurs années m'a permis d'acquérir les compétences sociales qui me manquaient lorsque j'étais adolescent. De plus, travailler dans des environnements toxiques a forgé mon caractère et m'a donné la capacité d'apprécier les bonnes équipes et les bons leaders.
Il est probable que si je n'avais jamais traversé ces expériences désagréables, je ne me serais jamais lancé dans le codage.
La vie est vraiment étrange... Je n'aime pas prétendre que je sais comment elle fonctionne. Je ne pense pas que quelqu'un le sache. Mais au cours de ces dernières années, j'ai appris pour moi-même que je peux faire tout ce que je me mets en tête si j'y consacre suffisamment de temps et d'efforts.
J'ai également appris que je ne devrais jamais me contenter d'une situation dans laquelle je ne suis pas à l'aise. Ce que j'aime faire pour gagner ma vie, c'est apprendre, réfléchir et utiliser mon cerveau pour résoudre des problèmes.
Conseils et réflexions
Maintenant que nous avons terminé avec la telenovela, je vais vous présenter les principaux concepts et pensées qui m'ont aidé à arriver là où je suis maintenant.
Encore une fois, gardez à l'esprit que ce ne sont pas des conseils directs. Certaines de ces choses peuvent ne pas s'appliquer à vous, mais l'idée est de les partager afin que vous puissiez les analyser et prendre des décisions pour vous-même.
Apprendre à apprendre
Si vous souhaitez devenir développeur, habituez-vous à apprendre constamment de nouvelles choses. Comme je l'ai mentionné, je pense que c'est une partie essentielle du travail pour la plupart d'entre nous.
Habituez-vous à la difficulté de ne pas comprendre les choses au début, à poser des questions, à faire des recherches, à faire peu ou pas de progrès du tout, à essayer à nouveau, à googler, à regarder des vidéos, à lire des articles... et lentement mais sûrement, à atteindre ce que vous voulez.
Si vous avez du mal et que parfois vous avez l'impression de ne pas être capable de comprendre quoi que ce soit, c'est normal ! Nous nous sentons tous comme ça. L'important est d'être constant, de ne pas abandonner, d'être curieux et de continuer. Vous finirez par comprendre les choses – ne vous attendez simplement pas à ce que ce soit facile ou rapide.

Je pense que la meilleure façon d'apprendre à apprendre est simplement de continuer à essayer. C'est comme un muscle : si vous le poussez, il deviendra plus fort.
Le côté cool, c'est que les choses deviennent plus faciles à mesure que vous avancez. Plus vous comprenez de concepts et d'idées, plus vous aurez de points de connexion pour le prochain sujet que vous aborderez, ce qui accélérera votre courbe d'apprentissage et vous aidera à avancer plus rapidement.
Essayer de trouver un chemin
Le meilleur aspect de l'apprentissage de la programmation est qu'il y a tellement d'informations disponibles. Le pire aspect est aussi qu'il y a tellement d'informations disponibles.
Au début, tout semble étranger et difficile, donc je pense qu'avoir une certaine structure est d'une grande aide.
Il existe de nombreuses sources parmi lesquelles choisir. Gratuites ou payantes, en direct ou asynchrones, pour apprendre seul ou en groupe... C'est à vous de voir et de trouver ce qui fonctionne pour vous.
Je dirais qu'il est bon de commencer par quelque chose de gratuit pour tester si cela vous plaît. Ensuite, essayez différentes sources et travaillez avec celle ou celles avec lesquelles vous êtes le plus à l'aise.
De plus, lors des premiers pas, je pense que la compagnie d'un tuteur ou d'une communauté est essentielle pour continuer votre parcours d'apprentissage.
Trop d'informations peuvent être accablantes et il peut être difficile de savoir quoi faire ensuite. Une communauté et des personnes à qui poser des questions peuvent aider à diminuer ce niveau d'incertitude au début.
Les cours en direct ont résolu ce problème pour moi, mais il existe de nombreuses façons d'entrer en contact avec des personnes qui apprennent à coder, alors trouvez celle qui vous convient.
De plus, après un certain temps et une fois que vous avez une compréhension claire de votre environnement et de ce que vous voulez faire, les cours en direct peuvent commencer à devenir moins efficaces et l'apprentissage asynchrone devient la meilleure chose à faire.
Donc, trouver des sources de connaissances utiles et fiables est essentiel. Et je n'ai pas de recette pour cela – pour moi, c'était simplement une question de nombreuses heures d'exploration de blogs, de chaînes YouTube et de sites web. Et bien sûr, je trouve encore tout le temps de grandes ressources...
Et à ce sujet, ici j'ai rassemblé certaines des ressources les plus cool que j'ai trouvées récemment. Peut-être que cela pourrait être un bon point de départ pour quelqu'un. J'aimerais aussi recevoir des recommandations si vous en avez. 😉
Avez-vous besoin d'un diplôme universitaire pour travailler dans la technologie ?
Absolument pas. J'ai pu obtenir un bon emploi de développeur sans diplôme universitaire lié.
De plus, si vous cherchez simplement à changer de travail et à entrer dans le domaine de la tech, je recommande de suivre un bootcamp ou de compléter quelques cours en ligne gratuits. Cela sera probablement beaucoup plus rapide et moins cher pour vous que d'apprendre par le biais de l'université.
Ce que je pense, c'est que si vous pouvez vous permettre d'aller à l'université (tant sur le plan financier que temporel), un diplôme ne fera pas de mal. Et à travers l'université, vous pouvez apprendre une série de concepts fondamentaux généraux non souvent disponibles dans un bootcamp ou des cours de programmation (bien que cette information soit également disponible dans d'autres médias et gratuitement).
Dans mon pays, l'éducation universitaire est relativement bon marché et il existe également des options gratuites de qualité. Donc l'université était un choix raisonnable pour moi. Mais cela peut varier d'un pays à l'autre et d'une personne à l'autre.
Quel type de développeur souhaitez-vous devenir ?
Une fois que vous commencez à comprendre le monde de la technologie, vous verrez que la profession d'ingénieur logiciel comporte de nombreuses voies et nuances différentes. Pour en nommer quelques-unes :
Développeurs front-end : Construisent le côté visuel des sites web
Développeurs mobiles : Construisent des applications mobiles
Développeurs back-end : Travaillent avec tous les logiciels qui ne sont pas directement exposés à l'utilisateur final, comme les bases de données, l'authentification, etc.
Test / QA : Ces personnes écrivent des programmes pour tester que le logiciel développé fonctionne comme prévu.
Et de nombreuses autres voies comme l'infrastructure, l'analyse de données, la robotique, etc.
Au début, vous ne pourrez pas faire la différence entre l'une et l'autre, et c'est normal. Une bonne idée est de faire un peu de recherche pour comprendre toutes les possibilités qui existent dans le monde de l'ingénierie logicielle, et voir ce que vous aimez le plus.
Gardez également à l'esprit qu'il existe différents environnements dans lesquels vous pouvez travailler. Des grandes corporations mondiales aux petites startups, en passant par le travail freelance, la création de votre propre entreprise... Tout est possible.
Différents domaines et différents environnements offrent des expériences différentes, et certains peuvent être mieux adaptés à ce que vous aimez et à ce qui vous intéresse. Et ils vous demanderont également d'apprendre différentes choses pour pouvoir travailler dans ces endroits.
Comment choisir une stack technique
Cela est étroitement lié au type d'emploi et à l'environnement que vous souhaitez obtenir. Bien que toutes les connaissances soient utiles, certaines technologies sont plus liées à un domaine et à un type d'environnement en particulier. Choisir soigneusement ce que vous devez apprendre vous aidera à utiliser votre temps plus efficacement et à atteindre votre objectif plus rapidement.
Si je devais donner un chemin général qui s'applique à la plupart des gens, je dirais de vous familiariser avec le HTML de base, le CSS et les concepts de programmation de base avec JavaScript (variables, fonctions, boucles, conditionnelles, structures de données, etc.).
Il existe de nombreuses ressources en ligne où vous pouvez acquérir ces connaissances, et avoir ces concepts sous le coude vous aidera dans une certaine mesure, quel que soit le chemin que vous choisirez plus tard.
Je pense également que c'est le moyen le plus facile de se lancer dans le logiciel, car vous commencez par une perspective visuelle qui vous permettra de construire au moins un site web très simple en quelques semaines.
Une fois que vous y êtes, je recommande d'analyser les différentes voies de carrière possibles et de décider ce que vous aimez le plus ou trouvez le plus intéressant.
Regardez des vidéos, lisez des articles, parlez aux gens... Ayez une idée de ce que chaque type de travail implique et quelles technologies sont utilisées dans chacun d'eux. Ensuite, sur cette base, continuez à apprendre.
Je pense qu'il est également important de choisir en fonction de ce qui est disponible pour vous. Pour moi, le bootcamp dans lequel j'apprenais avait des cours sur React et Node disponibles, ce qui a en quelque sorte tracé le chemin pour moi. Peut-être que si ils avaient des cours sur Angular et Python, j'aurais appris ces technologies à la place.
Je ne pense pas vraiment que cela fasse une si grande différence tant que les technologies servent vos objectifs. À long terme, les technologies ne sont que des outils. Et vous pouvez utiliser de nombreux outils différents pour arriver aux mêmes résultats.
Gardez également à l'esprit qu'aucun choix n'est définitif. Je veux dire, si vous vous lancez dans quelque chose et que vous trouvez que vous n'aimez pas cela, vous pouvez toujours revenir en arrière et apprendre autre chose. Il est utile d'avoir une sorte de plan et de parcours d'apprentissage, mais ce n'est pas quelque chose de rigide qui ne peut jamais être changé.
Juste pour vous donner une idée superficielle, le chemin que j'ai suivi (et que je suis toujours en train de suivre) ressemble à ceci :
HTML
CSS
Git et GitHub
Utilisation de base du terminal
JavaScript
React
Node, Express, MongoDB et PostgreSQL
Algorithmes et structures de données
Tests : Jest, react testing library et Cypress
TypeScript
Utilisation intermédiaire du terminal et scripting (Bash)
React Native
Firebase / AWS
GraphQL
Python
Docker
Ne sautez pas trop d'un sujet à l'autre
L'idée d'avoir un parcours d'apprentissage est de fournir une structure et un sens aux connaissances que vous allez acquérir, afin que vous puissiez atteindre vos objectifs plus rapidement.
Comme je l'ai mentionné précédemment, il y a une énorme quantité d'informations disponibles et c'est génial si vous savez ce que vous cherchez. Mais si vous n'êtes pas certain de ce que vous devez apprendre, vous pourriez vous perdre entre toutes les différentes possibilités et finir par ne connaître qu'un petit peu de beaucoup de choses – et ce n'est pas vraiment utile.
Au moins au début, je recommande de consacrer au moins quelques semaines à chaque nouvel outil ou concept que vous apprenez. Assurez-vous que les connaissances s'imprègnent et construisez un projet ou deux avec l'outil que vous apprenez, puis passez à la chose suivante.
Si possible, avec chaque nouvelle chose que vous apprenez, essayez de l'ajouter au même projet ou construisez-en un nouveau avec tous les outils que vous connaissez jusqu'à ce point.
Par exemple, si vous avez appris React auparavant et que vous apprenez maintenant le back-end avec Node, une bonne idée serait de construire un front-end pour ce back-end également. La pratique et la répétition vous rendront meilleur.
Je ne recommande pas non plus d'apprendre plus d'une chose à la fois. Par exemple, disons que vous construisez votre premier projet React et que vous utilisez TypeScript pour la première fois également. Cela pourrait être problématique, car lorsque vous obtenez une erreur, vous pourriez ne pas être en mesure de distinguer si c'est une chose React ou TypeScript. Vous pourriez également confondre des concepts qui appartiennent à une technologie avec une autre.
Ne soyez pas trop à l'aise ou ne vous avancez pas trop
En suivant la pensée précédente, je pense qu'il est important de vous pousser et d'essayer d'apprendre de nouvelles choses tout le temps. Mais il est également important de savoir où vous en êtes et de contrôler votre rythme. Par cela, je veux dire, sachez quand vous devez passer à la chose suivante et sachez quand vous devez vous en tenir à ce que vous apprenez actuellement.
C'est une chose difficile à savoir, et il n'y a aucun moyen d'en être absolument sûr. Je dirais que vous n'avez pas besoin de devenir un expert absolu, mais au moins construisez deux projets décents avec chaque technologie que vous apprenez.
Assurez-vous de comprendre les concepts de base derrière celle-ci, comprenez les erreurs et problèmes les plus courants auxquels vous pouvez être confronté en l'utilisant, comparez votre code à celui des autres, et ainsi de suite. Si vous sentez que vous comprenez et pouvez vous relier à la plupart des concepts concernant cette technologie particulière, alors vous êtes probablement prêt à apprendre autre chose.
En ce qui concerne ce qu'il faut apprendre ensuite, cela dépend de votre parcours d'apprentissage et des choses que vous avez apprises précédemment. Je dirais qu'un bon signe est lorsque vous êtes capable de connecter certaines des connaissances précédentes que vous avez aux nouvelles choses que vous apprenez.
Par exemple, si vous avez appris le HTML et que vous commencez maintenant le CSS, vous serez capable de comprendre comment le CSS vous aide à configurer l'apparence et le comportement des éléments HTML. Si vous avez appris JavaScript auparavant, vous serez capable de comprendre comment TypeScript vous aide à contrôler les types, et ainsi de suite.
D'un autre côté, si vous essayez d'apprendre React sans avoir la moindre idée de JavaScript, vous risquez fortement de mélanger les concepts et de confondre ce dont chaque technologie est responsable (par exemple, j'ai vu beaucoup de gens penser que les fonctions map, filter et reduce sont des choses React, alors qu'elles sont toutes des fonctionnalités ES6 de JavaScript).
Consommer la bonne quantité d'informations est important. Trop peu et vous ne ferez pas de progrès, trop et vous serez confus et ne ferez pas de progrès non plus.
Comment savoir quand vous êtes prêt pour un emploi
La réponse courte est que vous ne le saurez jamais. Vous devrez vous tester et (probablement) échouer pour voir ce que vous devez encore améliorer.
Il n'y a pas de recette exacte pour obtenir un emploi. Les entreprises exigent différentes compétences et ont différents niveaux de demande pour leurs candidats.
Je dirais qu'un bon point de départ serait de parcourir les offres d'emploi et de voir quel type de connaissances est requis pour les types d'emplois que vous aimez. Une fois que vous êtes plus ou moins à l'aise avec la plupart des choses qu'ils exigent, je dirais de commencer à postuler.
Attendre trop longtemps pour postuler à des emplois peut aussi vous nuire. Même si mal performer lors d'un entretien est nul (je sais, faites-moi confiance...), cela vous aidera vraiment à réaliser quelles connaissances vous manquent, et ainsi accélérer votre processus d'apprentissage.
Vous pouvez lire ce guide d'entretien que j'ai écrit pour vous aider à vous préparer autant que vous le pouvez.
Parfois, ne pas coder est la meilleure façon d'apprendre à coder
Je pense que lorsque vous commencez, construire des choses est la meilleure façon d'apprendre la programmation. Cela vous donne des connaissances pratiques et le sentiment de progression (ce qui est essentiel pour surmonter la frustration que tout processus d'apprentissage implique).
Mais une fois que vous êtes à l'aise avec le côté pratique des choses, je pense qu'il est également important d'avoir une fondation théorique. Apprendre comment les outils fonctionnent, comment fonctionne Internet, comment fonctionnent les ordinateurs, l'histoire de l'informatique, les algorithmes et les structures de données, et ainsi de suite. Je ne veux pas dire devenir un expert, mais au moins une connaissance superficielle de ces sujets est utile.
En ce qui concerne comment obtenir cela, vous pouvez opter pour des vidéos, des articles, des livres, des cours... Encore une fois, il existe d'innombrables ressources parmi lesquelles choisir.
Mais quelque chose que j'ai trouvé vraiment utile est de créer du contenu. Écrire des choses, partager des connaissances, aider les autres – tout cela vous fait réfléchir au code et à la programmation sous un angle différent et avoir une compréhension plus profonde des sujets.
C'est l'une des principales raisons pour lesquelles j'aime écrire des articles. Et ce que je trouve le plus intéressant, c'est que lorsque je reviens à coder, je sens que je suis un meilleur programmeur que je ne l'étais avant. Je suppose que parfois ne pas coder est la meilleure façon de devenir bon.
Diversifiez vos sources d'apprentissage
Je pense qu'une bonne façon de comprendre les sujets complexes est d'entendre différentes "voix" expliquer la même chose. Différentes personnes utiliseront différentes analogies, vocabulaire et approches pour expliquer. Et finalement, vous en trouverez une qui fonctionne pour vous.
Il en va de même pour les différents formats comme les vidéos, les articles, les cours, etc. Chaque fois que vous apprenez quelque chose de nouveau, essayez de combiner différentes sources d'apprentissage ensemble afin d'avoir une bonne idée générale.
Gardez à l'esprit que personne ne sait tout
De l'extérieur, il peut sembler que les personnes travaillant dans le secteur en savent beaucoup plus que vous. Mais ils ne savent pas tout.
Les développeurs seniors ont généralement des connaissances approfondies dans une stack particulière, mais ils ne savent pas tout sur tout, donc vous ne devriez pas non plus si vous commencez tout juste votre parcours d'apprentissage.
Pour moi, être curieux, avide d'apprendre et constant dans vos efforts d'apprentissage est le plus important.
Il y a aussi des bonnes et des mauvaises choses
Pour moi, la technologie est le meilleur environnement possible pour travailler en ce moment. Les emplois sont intéressants et bien rémunérés, et la demande sur le marché du travail pour les développeurs est élevée (et elle continuera probablement à croître à l'avenir).
C'est aussi l'un des rares secteurs dans lesquels vous pouvez avoir un bon emploi sans diplôme universitaire.
J'adore cela, et entrer dans la technologie a apporté un changement très positif dans ma vie. Mais je pense qu'il est également important de réfléchir à certaines des choses négatives qui l'entourent. Par exemple :
Travailler à distance a ses défis
Travailler à distance est génial à bien des égards. Pour moi, cela m'a donné beaucoup plus de contrôle sur mon temps. Cela m'a permis d'économiser des tonnes d'heures de trajet et d'investir ces heures dans l'étude, passer plus de temps avec mes animaux de compagnie et ma famille, ou simplement dormir plus. D'un autre côté, je reconnais que cela m'a également beaucoup séparé des gens et de la société en général, ce qui me conduit parfois à des sentiments d'isolement, de monotonie et d'anxiété sociale.
Travailler dans la tech peut être stressant
Travailler dans un environnement basé sur des projets (ce qui est la chose la plus courante dans la technologie) est génial. Vous faites différentes choses de temps en temps, vous relevez différents défis, vous apprenez de nouvelles choses et vous avez le sentiment de progression et d'accomplissement. Mais d'un autre côté, la pression de devoir respecter les délais et de résoudre des problèmes techniques pour que les choses puissent être faites peut être difficile à gérer, surtout au début et dans les occasions où vous n'avez pas d'aide des autres.
Bien que la plupart des gens soient gentils... certains ne le sont vraiment pas
Bien que la plupart des gens que j'ai rencontrés dans la tech soient gentils, curieux et vraiment avides d'apprendre et de partager des connaissances, il y a aussi des personnes égoïstes, arrogantes et égoïstes. Il y a des bonnes et des mauvaises personnes dans tous les chemins de la vie.
La technologie a un énorme impact sur nos vies
Dans une plus ou moins grande mesure, en travaillant dans la technologie, nous concevons et prenons des décisions qui façonnent une partie importante de la réalité du monde et de la vie des gens.
Réfléchissez-y – la technologie devient de plus en plus intrinsèquement liée à tout ce que nous faisons en tant qu'êtres humains. De décider quoi ou où manger, à voyager, à rencontrer de nouvelles personnes et à construire des relations, à acheter des choses, à étudier, à gérer de l'argent, à chercher des emplois ou quelque chose d'aussi basique et central que de connaître le monde qui nous entoure. Googler est devenu l'action la plus primaire pour la plupart d'entre nous lorsque nous voulons obtenir des informations sur quoi que ce soit.
La technologie est absolument partout autour de nous. Et en tant que développeurs, c'est génial pour nous car cela nous donne une énorme plateforme pour impacter la vie des gens de manière positive.
Mais cette plateforme peut aussi impacter la vie des gens de manière négative. En tant qu'êtres humains, nous sommes devenus si dépendants de la technologie que les décisions prises par les entreprises technologiques et les ingénieurs peuvent avoir le même impact ou plus sur la société que celles prises par les politiciens.
Nous sommes tous plus accrocs à nos téléphones portables que nous ne voulons l'admettre. Les réseaux sociaux ont été utilisés par les entreprises pour avoir une compréhension très détaillée de nos attentes, préférences, peurs et émotions. Et à partir de cette connaissance, nous amener à acheter des choses dont nous n'avons pas besoin pour impressionner des gens que nous n'aimons pas (ouais), ou pire encore, manipuler les opinions politiques des gens.
La technologie est un outil très puissant, et cet outil peut être utilisé à la fois pour le bien et pour le mal. Le but et l'impact de celui-ci dépendent de nous pour décider, à la fois en tant qu'utilisateurs et en tant que développeurs.
Conclusion
Eh bien, j'ai parlé de beaucoup de choses ici. J'espère que certains de ces concepts vous ont aidé à vous imaginer comment cela pourrait être de travailler dans l'industrie de la technologie vous-même. Ou au moins vous ont fait réfléchir et réfléchir à une chose ou deux.
Si vous avez lu tout cela, j'adorerais entendre vos commentaires ou votre propre histoire dans le domaine de la tech. Vous pouvez me contacter sur LinkedIn ou Twitter si vous le souhaitez. 😉
Voici une petite chanson d'au revoir pour vous (je fais de cela une chose maintenant 🤷♂️). À la prochaine. ✉️
