DEV Community

Thomas.G
Thomas.G

Posted on • Updated on

MyUnisoft - l'aventure Node.js

Bienvenue voyageur(se) 👋

Aujourd'hui je viens vous conter mon aventure chez MyUnisoft en tant que lead technique back-end (API & Node.js). C'est aussi celle de mon Ă©quipe qui continue de grandir en embarquant des ingĂ©nieurs trĂšs talentueux 😍.

Si vous ĂȘtes un (expert-)comptable alors je vais vous embarquer dans un rĂ©cit qui s'Ă©loigne probablement de ce que vous avez l'habitude de lire 📰. Mais pas d'inquiĂ©tude je ferais l'effort de vous vulgariser au maximum mon univers.

Qui suis-je ?

Moi c'est Thomas, j'ai 27 ans et je dĂ©veloppe depuis l'Ăąge de dix ans đŸ€. Je suis un amoureux du code et j'entreprends des projets depuis mon plus jeune Ăąge.

gif

Je suis un expert Node.js et JavaScript. Fort aise sur des sujets comme la sĂ©curitĂ©, le monitoring et l'architecture logicielle. Si mon parcours vous intĂ©resse 👀 je vous invite Ă  consulter mon LinkedIn.

Chapitre 1

DĂ©couvrons sans attendre le premier chapitre 💃.

GenĂšse

J'ai rejoint MyUnisoft en aout 2020 pour m'occuper de la maintenance et Ă©volution du back-end Node.js 🐱. À ce moment-lĂ  je suis le seul dĂ©veloppeur et ma premiĂšre prĂ©occupation est Ă©videmment de faire mes preuves auprĂšs de Cyril (CTO) et RĂ©gis (CEO).

J'ai commencé par travailler sur la mise en place du connecteur Quickbooks pour ensuite trÚs vite m'attaquer à l'évolution de l'API partenaires (qui servira aussi de fondation plus tard pour l'accÚs cabinet).

image

L'écriture d'une documentation a été évidemment un des gros points pour garantir une meilleure expérience à nos partenaires (expérience que nous continuerons d'améliorer dans le temps).

image

Ces premiers chantiers m'ont permis d'avoir une premiĂšre approche du domaine de la comptabilitĂ© en abordant plusieurs notions comme les journaux, le plan comptable, les Ă©critures, etc đŸ˜”.

Par ailleurs, je souhaite remercier Leon Souvannavong qui m'a beaucoup aidĂ© sur les sujets mĂ©tiers depuis mon intĂ©gration (ainsi que les autres dĂ©veloppeurs de l'Ă©quipe back-end comptabilitĂ© 💖).

Novembre 2020

Quelques mois passe et nous intĂ©grons un second dĂ©veloppeur en alternance 👯. Ayant dĂ©jĂ  une forte expĂ©rience en mentorat je ne m'inquiĂšte pas sur le fait de rĂ©ussir Ă  accompagner convenablement un dĂ©butant. Nous recrutons donc Nicolas Hallaert qui ne cessera de me surprendre dans sa vitesse d'adaptation et d'apprentissage ⚡.

Lui et moi avons travaillé ensemble sur divers sujets comme MyDataRH, le SSO, ou encore des interfaces génériques que vous retrouverez dans nos diverses interconnexions partenaires.

image

Mon pĂ©rimĂštre s'Ă©tend de plus en plus et je monte rapidement en confiance. Dans la mĂȘme pĂ©riode Oleh Sych rejoint l'Ă©quipe Node.js (dĂ©veloppeur non francophone).

📌 Le seul dĂ©veloppeur que je n'ai pas personnellement choisi. Au dĂ©but j'avais un peu peur mais j'ai Ă©tĂ© trĂšs rapidement Ă©tonnĂ© par son niveau technique et sa rĂ©activitĂ© Ă  mes remarques.

Nous convenons trĂšs rapidement qu'il travaillera sur la mise Ă  jour et migration de code "legacy" (Ă©crit par des dĂ©veloppeurs qui ne sont plus lĂ ). J'essaye de l'accompagner et de l'intĂ©grer le mieux possible pour que la barriĂšre de la langue ne soit pas un frein pour lui ✔.

En Ă©crivant ces lignes aujourd'hui je peux tĂ©moigner du chemin parcouru avec lui. Nous allons de l'avant sur plusieurs projets (Gestion Électronique des Documents, Discussion, CrĂ©dit-bail entre autres).

Janvier 2021

AprĂšs avoir dĂ©montrĂ© mes capacitĂ©s et acquit la confiance de la direction je prends officiellement le lead de l'Ă©quipe Node.js 🎉. C'est un rĂŽle qui me convient bien et j'ai toujours apprĂ©ciĂ© ce genre de responsabilitĂ©.

gif

J'interviens de plus en plus sur des sujets en lien avec l'authentification 🔑 et je prends rapidement la main dessus.

Le reste de mon temps est dédié à la création d'un nouveau connecteur API avec Dext.

FĂ©vrier 2021

Une période chargée puisque nous avons embarqué deux nouveaux développeurs expérimentés dans l'équipe.

  1. Le premier Ă©tant mon associĂ© de longue date Alexandre MALAJ avec qui je travaille en binĂŽme depuis maintenant plus d'une dĂ©cennie đŸ˜Č.

  2. Le second est CĂ©dric LIONNET qui nous a Ă©tĂ© recommandĂ© en interne. Il entame une transition vers Node.js aprĂšs plusieurs annĂ©es de C++. C'est un ingĂ©nieur rigoureux ainsi qu'un amoureux de la qualitĂ© de code 💎.

Ces deux intégrations ont été le point de départ de ce qui est aujourd'hui la fondation de l'équipe Node.js.

Alexandre a investi des centaines d'heures sur la création d'une couche ORM (contenant +500 tables et +2,000 relations). Cédric de son cÎté à grandement contribuer à l'ajout de tests unitaires et abstractions qui sont aujourd'hui activement utilisées au travers de nos services http.

carbon (3)

Fort de mon expérience de plus quatre ans en gestion d'équipe remote, nous travaillons rapidement à la mise en place de conventions et d'un modÚle de communication efficace.

Il est primordial de construire une bonne entente ainsi que diverses habitudes de communication orale pour pouvoir rapidement acquérir une symbiose des compétences techniques et humaines.

Mars 2021

Je commence à travailler sur l'intégration d'un nouveau connecteur avec EmaSphere.

Quand Nicolas n'est pas en cours il travaille sur l'intégration SSO avec Zendesk (support) et 360 learning (MyAcademy). Sur le cÎté il travaille sur le Google sheet (les liens dynamiques).

Avec Alexandre nous avons décidé de lancer une initiative DDD (Domain Driven Design) au sein de MyUnisoft.

Amener de la qualité et de la rigueur dans les échanges et la conception du logiciel est pour moi trÚs important. Insuffler une meilleure compréhension du métier aux équipes techniques apporteraient énormément de valeurs à nos clients.

Avril 2021

J'accompagne trùs activement de plus en plus de partenaires 😎. Le catalogue des connecteurs ne cessent de grandir ce qui me fait vraiment plaisir 😇.

image

Et encore beaucoup d'autres intĂ©grations sont Ă  venir d'ici fin 2021. Nous travaillons en ce moment mĂȘme sur une mise Ă  jour consĂ©quente qui aura pour objectif d'apporter un ensemble de fonctionnalitĂ©s manquantes (paramĂ©trages, logs ...).


Avec l'équipe nous participons à la ludum dare 48 qui consiste à créer un jeu vidéo en 72h. Nous avons créé un jeu web utilisant le moteur Pixi.js (projet ici).

Une expérience trÚs enrichissante qui nous aura permis de mieux nous connaßtre et de renforcer nos liens.

Mai 2021

L'équipe intÚgre deux développeurs supplémentaires:

  1. Tan Karasu qui nous rejoint pour un stage de six mois. DĂ©veloppeur en reconversion qui a su me convaincre par son mental et son investissement.

  2. Mark Malaj cousin d'Alexandre. Nous avions déjà eu l'occasion de collaborer ensemble pendant une année, période pendant laquelle je l'ai formé à Node.js. C'est naturellement un plaisir pour moi de pouvoir recollaborer avec lui au sein de MyUnisoft.

Alexandre et Mark travailleront en collaboration avec Jean-Claude FORTIER sur la conception et le développement de la Gestion Interne MyUnisoft. Un chantier qui est donc entre de bonnes mains.

Tan de son cÎté aura investi énormément de temps sur la création de nouvelle abstractions pour communiquer avec notre base de données Redis. Par ailleurs, nos projets utiliseront l'excellent package ioredis.

Juin 2021

J'ai eu l'occasion de travailler sur l'implémentation et l'intégration du format Factur-X pour nos partenaires (actuellement utilisé en production par EBP).

Une bonne occasion de jouer avec les nouveaux types de TypeScript 4 pour convertir dynamiquement les structures XML en type JSON propre.

carbon (1)

J'Ă©prouve une certaine fatigue Ă  cause des diffĂ©rents onboardings. C'est une premiĂšre pour moi de gĂ©rer autant d'intĂ©gration en si peu de temps (mĂȘme si cela reste une excellente expĂ©rience).

gif

Il est parfois difficile de jongler entre ma vélocité personnelle qui me permet d'avancer des sujets métier critique et investir du temps en accompagnement de mon équipe (ce qui améliore probablement la vélocité à moyen-long terme).

Aout 2021

L'Ă©quipe continue de se structurer 🔹 dans le bon sens et nous avançons positivement sur nos sujets. La pĂ©riode est relativement calme Ă  cause des diffĂ©rents dĂ©parts en vacances 🌞.

Nous intégrons néanmoins encore deux développeurs expérimentés:

  1. Quentin Lepateley travaillant sur le frontend MyUnisoft depuis un an et demi. Ce n'est donc pas un petit nouveau et il arrive dans l'équipe en étant déjà familier avec les membres de l'équipe.

  2. Tony Gorez nous venant tout droit de Payfit. Je travaille depuis maintenant une bonne annĂ©e avec lui sur des projets open source comme NodeSecure. C'est vraiment un grand plaisir de pouvoir travailler avec lui au sein de la mĂȘme Ă©quipe!

Quentin travaille activement sur notre migration vers le framework Fastify.js. L'idée est de rapidement mettre en place un monorepo utilisant la fonctionnalité de workspace npm 7 pour héberger les différents plugins utilisés sur nos services.

Tony quant Ă  lui va rapidement venir m'Ă©pauler sur les intĂ©grations partenaires. À court terme il travaillera sur la stabilisation du connecteur Quickbooks.

Mon sentiment sur l'Ă©quipe

Il reste du chemin Ă  parcourir c'est une certitude. Nous devons apprendre Ă  mieux nous connaĂźtre et comprendre qu'elles sont les forces et faiblesses de chacun.

Nous devons définir qu'elles seront nos pratiques et méthodologies tout en prenant évidemment en compte le contexte et les équipes qui nous entourent.

Mais je suis trÚs enthousiaste. Nous avons beaucoup d'appétence pour notre métier et une grande motivation à faire devenir réalité les ambitions de MyUnisoft.

image

En avant pour un second chapitre ?

Nous continuons de grandir et nombreux sont les challenges devant nous. De belle intĂ©gration sont encore Ă  venir et je pense que MyUnisoft constitue l'une des meilleures Ă©quipes Node.js francophone đŸ’Ș.

C'est pour moi une fiertĂ© d'ĂȘtre Ă  la tĂȘte d'un groupe d'ingĂ©nieurs que j'apprĂ©cie et respecte 🙇. J'ai vraiment hĂąte de voir ce que nous allons accomplir dans les prochains mois 🚀.


🙏 Merci à vous de m'avoir lu.

Cet article a Ă©tĂ© volontairement Ă©purĂ© de beaucoup de dĂ©tails techniques (mais j'espĂšre tout de mĂȘme avoir rĂ©ussi Ă  accrocher un peu de votre attention).

Nous Ă©crirons certainement plus d'articles Ă  l'avenir pour vous parler de nos innovations et avancement technique.

🚀🚀🚀

Discussion (1)

Collapse
awuzi profile image
Yahia L.

TrÚs intéressant à lire, c'est super