Fullstack Web Developer à Figaro Classifieds

Fullstack Web Developer à Figaro Classifieds 2019-2021

Synthèse

Introduction Début Mission

Évolution

Conclusion

Pour mon stage de fin d'étude, j'ai souhaité retrouver les standards des grandes entreprises en profitant de la formation en Java pour les entreprises prodiguée par la société Oxyl (anciennement Excilys) à Arcueil. Une fois la certification "Oracle Certified Professional, Java SE 8 Programmer" en poche et quelques semaines à collaborer avec les autres consultants en interne sur divers projets d'application, j'ai dû effectuer 10 semaines en Floride pour valider mon diplôme d'ingénieur. Aux États Unis, à défaut de toucher un ordinateur, j'ai pu apprécié la liberté d'un travail en autonomie et méditer sur les bénéfices du choix de l'outil adapté à la tâche. La plateforme "workaway" m'a permis de profiter de l'hiver doux de la région en échange de 4h de labeur matinal dans un grand jardin.

De retour en France en 2019, je commence en février ma première mission profesionnelle en tant que consultant qui durera jusqu'à la fin du mois de juillet 2021. Mon commercial m'avait vendu une mission en Scala (car c'est ce que mes compères y pratiquaient). En fait quand j'ai intégré Figaro Classifieds, le CTO avait pris la décision de basculer vers le langage de programmation Go. Les avantages étaient l'économie de ressources processeurs et mémoire, un code moins complexe, un recrutement moins difficile et une potentielle interoperatibilité cloud native avec les technologies devops telles que kubernetes. Dans un premier temps j'ai un peu subit les méthodes d'un collègue qui avait pris l'ascendant assez vite du fait de son expertise et de sa capacité de travail admirable et étendue sur beaucoup de sujets dont le devops. Il m'avait relégué à rédiger des tests unitaires qui étaient à refaire assez souvent au fur et à mesures des nombreuses refactorisations. J'ai beaucoup appris. Sur la pertinence des tests, sur le travail en équipe et l'importance de l'écoute. Une fois avoir clarifié avec le CTO de l'époque Marc Morel que mon travail existait veritablement, mais sur des branches non référencées par des merges requests, j'ai poursuivi mes progrès en me familiarisant avec Go, Vue (Nuxt JS), Kubernetes et Elasticsearch. Eh oui, la politique est de faire une "feature" de "bout en bout", depuis le modèle de données, en passant par la logique métier et l'api backend et en terminant par la mise à jour de l'interface du backoffice et le déploiement du tout une fois la recette validé. Mon tout premier projet était un indexeur des données sur les entreprises et leurs établissements. Une fois avoir combiné les informations du récent achat du groupe Figaro "Viadéo", mon collègue susmentionné quitte l'équipe et c'est l'occasion pour moi de remprendre ses responsabilités. Notamment la mise à disposition d'un serveur open id (ory hydra) pour proposser du "single sign on" aux clients (profils RH) des différentes applications existantes et à venir. Petit à petit mon "techlead/product manager" Nouhoum Traoré s'en remet à moi pour être référant de notre solution "account management" qui propose d'alimenter et partager des portefeuilles de crédits à partir des contrats pour des crédits à consommer dans les applications des autres équipes telles que CVaden une banque de CV. Je peux compter sur l'expertise technique ponctuelle des collaborateurs des autres équipes mais aussi sur un ancien de l'équipe (Anthony Sii Yan Kai) lui en charge de l'indexation des offres d'emplois et de l'intégration des APIs Golden Bees. Je travaille aussi avec un ancien développeur iOS que j'ai à faire monter en compétence, ainsi que divers prestataires que la période Covid a certainement empéchée de poursuivre assez longtemps. En parallèle de la maintenance et l'accomplissement des tickets pour de nouvelles features (export excel, affichage, interopérabilité avec d'autres équipes via l'API, optimisation du temps de réponse avec utilisation de cache et simplification de requête SQL), j'expérimente avec l'équipe en charge de l'administration du cloud la technologie émergeante terraform et partage avec le reste de l'équipe le nouveau mode d'exploitation du cloud. À la fin du second confinement, je demande du temps partiel pour allonger mon week-end d'un jour et peu à peu préparer l'équipe à mon départ.

(voici une liste à puce de ce qui décrirait les accomplissements techniques de ma mission à Figaro Classifieds)

  • Développement de features de bout en bout (backend en API REST Go, frontend Nuxt/Vue2, devops)
  • Découverte du DevOps (kubernetes, terraform, jenkins, docker).
  • Scripts ETL pour fournir une base de données d'entreprises et une base de données d'adresses
  • Développement de backoffices pour
    • administrer l'édition de CV
    • éditer les metadonnées associées aux entreprises et établissements
    • corriger le détail des adresses
  • Déploiement d'un serveur OpenID (Ory Hydra)
  • Approche "Domain Driven Design".
  • Approche CQRS — Command Query Responsibility Segregation (Postgres + ElasticSearch/Redis)
  • Migration d'un modèle de données sur la nomenclature des métiers.