Alexandre Gérault Un développeur curieux

Passionné de développement j'ai commencé à apprendre les notions de bases en autodidacte. Attiré par les sciences j'ai commencé un cursus universitaire de physique avant de me réorienter vers une formation Développeur d'application Symfony avec OpenClassrooms, réalisée en alternance avec Hexium.


À propos de moi Mon parcours de développeur

La première fois que j'ai cherché à faire un site, c'était lors d'un cours de technologie au collège, en classe de cinquième. On devait alors utiliser un logiciel, NVU (un éditeur WYSIWYG), afin de créer nos pages HTML. On réalisait nos pages un peu comme on écrivait un fichier texte avec Libre Office Writer. J'ai vite chercher à faire ressembler mes pages à de vrais sites. J'ai alors fait des recherches Google pour commencer à utiliser des tableaux et mettre en forme mes pages. Puis j'ai découvert que ce n'était finalement pas une méthode recommandé.

Le site du Zéro

Je ne pourrais pas vous dire comment, mais je suis tombé, en 2011, sur le cours de Mathieu Nébra pour apprendre à écrire des pages avec HTML et CSS. J'ai alors ressenti un plaisir nouveau, j'étais fier de ce que je faisais et ça m'amusait, un peu comme un jeu. De fil en aiguille j'ai commencé à m'intéresser à la programmation de manière plus générale. J'ai essayé le langage C, puis C++ et enfin PHP.

Ayant découvert une affinité plus importante pour le langage PHP et l'envie de faire des sites plus poussés, j'ai continué à apprendre PHP, découvert le paradigme de programmation orienté objet et commencé à faire des petits projets. Je restais cependant loin du Javascript que je voyais comme une étape difficile et inutile. Je m'étais créé une barrière qui subsista pendant quelques années, tant que je ne ressentais pas le besoin de faire d'interfaces poussées.

Grafikart

Sur le site d'OpenClassrooms je trouvais le cours de PHP orienté objet très compliqué. Il m'a fallu faire beaucoup d'efforts pour le terminer, et je n'avais toujours pas la sensation d'avoir compris ce que je venais de faire. J'ai alors cherché une autre source pour apprendre, qui me correspondrait peut-être mieux. C'est alors que j'ai découvert la chaine YouTube de Grafikart, aka Jonathan Boyer, qui avait une approche beaucoup plus progressive et accompagnante.

Sur les vidéos de Grafikart, je voyais souvent passer des vidéos où il utilisait des Frameworks. Pour moi, il s'agissait d'outils compliqués et inutiles, qui ne faisaient que complexifier le code. Seulement un jour, en regardant une vidéo de Laravel, j'ai décidé de franchir le cap, et je me suis formé à Laravel. Certaines notions étaient alors trop complexes pour moi, comme la notion de services et de conteneur de services, mais je trouvais finalement que l'outil était génial. La documentation de Laravel étant en plus très bien faite, je pris plaisir à utiliser Laravel et je voyais alors les frameworks comme un outil indispensable. En revanche je n'avais pas spécialement de bonnes pratiques, je créais des contrôleurs surchargés, du code complexe à comprendre et à lire.

Mon premier projet en équipe

Un ami en école d'ingénieur avait une idée de projet pour son association qui participait à l'élection du bureau des étudiants. Il m'en a parlé et nous avons décidés de travailler ensemble sur le projet, en partant du code qu'il avait déjà mis en place. Ayant lu la documentation de Laravel plus que lui, j'ai cherché à imposer les connaissances que j'avais acquises de manière un peu arbitraire. Par exemple, j'ai mis fin à sa gestion des permissions dans un middleware qui regardait juste la valeur numérique d'un champ du modèle utilisateur (si celui-ci était connecté) pour implémenter un système basé sur des policies. J'ai alors compris que la communication dans un projet en équipe comme celui-ci était nécessaire afin de garantir une bonne ambiance de collaboration par la suite (on ne s'est pas fâché je vous rassure 😆).

Afin de collaborer sur le même projet, nous avions décidé d'utiliser Git, un système de versionning, avec BitBucket (un service permettant de disposer d'un repository git hébergé si on simplifie afin de garder seulement l'essentiel). Git est un outil formidable que je ne connaissais que vaguement et que je n'utilisais que pour publier mon code. À ce titre je ne savais pas vraiment bien m'en servir et je fus source de bien des conflits entre fichiers que mon ami devait régler par la suite (qui a dit que c'est mauvais de travailler directement sur le code en production 😇). À la suite de ce projet, je me formais afin de savoir utiliser convenablement ce merveilleux outil. J'ai aussi pris conscience alors de l'utilité des tests que je considérais comme une notion complexe et inutile (vous vous souvenez de ce que je disais des frameworks 😄).

Ma première recherche de poste

Jusque là, j'exerçais ma passion du développement sur mon temps libre sans en faire une activité professionnelle. Je commençais à suivre des études de physique mais après 4 ans je me suis décidé à me réorienter pour devenir développeur web, et je cherchais plutôt à faire du développement Backend. Ayant appris PHP je me suis renseigné sur les offres de poste avec du PHP et il se révélait qu'en France on trouvait principalement des offres mentionnant Symfony. J'ai donc commencé à me former en autodidacte à Symfony, notamment grâce aux vidéos de Liior Chamla mais également en regardant les vidéos de SymfonyCast.

Candidatures rejetées

Je n'ai envoyé que quelques candidatures dans un premier temps : 3. Je ne me rappelle plus exactement des procédés. Seulement une entreprise a ignoré ma candidature, une autre m'a indiqué que mon profil ne correspondait pas et enfin la dernière retenait mon profil et m'invitait à m'entretenir avec un lead développeur afin d'échanger. Lors de ce premier échange j'ai été surpris par la bienveillance de mon interlocuteur. Il ne cherchait pas spécialement à mettre en défaut, il s'agissait d'un échange constructif entre développeurs. Je ne sais plus exactement de quoi nous avons discuté, mais globalement on cherchait à cerner ma vision du développement, quel genre de développeur j'étais à ce moment, définir un peu mon parcours etc (enfin je pense que c'était quelque chose comme ça).

Suite à cet échange on m'a invité à passer un test technique. Pour cela j'ai eu un rendez-vous visiophonique avec un membre de l'équipe afin de me présenter le test. Il s'agissait d'un exercice à réaliser. Je disposais d'une semaine pour le faire, sachant que les consignes avaient été adaptées à mon niveau junior. Une fois terminé, j'ai alors pu faire de nouveau un entretien à distance pour débriefer sur ma solution. Elle n'était évidemment pas parfaite, mais on a discuté alors de ma façon de le coder, j'ai justifié mes choix et on m'a expliqué pourquoi certains passages de mon code pouvait poser des problèmes, dans quelles circonstances etc.

En réalité, suite à ce test technique, ma candidature n'a pas réellement été rejetée. J'avais un profil qui semblait convenir à certains des interlocuteurs avec qui j'avais pu échanger. Mais lors de l'ultime entretien on a alors discuté de ma situation, sans diplôme, en reconversion (je vous le disais au début de cet article, je suivais avant des études de physique). J'évoquais alors la possibilité de l'alternance. L'entreprise me laissait alors faire ma reflexion et leur communiquer mon choix. Elle semblait bien partante à continuer l'aventure avec moi mais j'ai entre temps était contacté par une autre entreprise.

L'entreprise de mon alternance

Au même moment où je cherchais une entreprise pour mon alternance (j'avais choisi de faire une alternance à ce moment) j'ai été contacté sur Discord, après avoir parlé de ma situation. L'entreprise était récente mais les échanges avec l'entreprise se sont très bien passés et j'ai finalement fait le choix de continuer l'aventure avec cette entreprise.

J'ai suivi, grâce à l'entreprise, des formations sur Frontend masters afin de comblé mes lacunes en Javascript mais également développer des nouvelles compétences en front sur React, une librairie pour réaliser des interfaces. J'ai pu mettre en pratique mes compétences sur de réels projets, être suivis et améliorer mon code grâce à des pull requests.

Contact us

Informations de contact

Nullam risus blandit ac aliquam justo ipsum. Quam mauris volutpat massa dictumst amet. Sapien tortor lacus arcu.

Phone number
+33 6 52 02 99 89
Email
gerault-alexandre@orange.fr

Me contacter