Tech-Lead / Développeur full stack
5/2022 - 2/2023
Lieu : Paris, Ile de France
Objectif de mission :
Prestation de « leading » technique et développement dans le cadre de l&rsquoévolution technique et fonctionnelle de la plateforme d&rsquoEurop assistance.
Contexte :
&bull Le Groupe &ldquoEurop-assistance" est un opérateur international de services d&rsquoassistance aux personnes dans les domaines de la santé, du domicile et de la vie familiale, de l&rsquoautomobile, des voyages et de la conciergerie. Il regroupe 44 filiales présentes dans 34 pays.
Afin de mettre en &oeliguvre des assistances, celle-ci propose aux opérateurs de ses filiales une plateforme unifié. Ainsi, elle a un meilleur contrôle, un suivit plus claire et plus simple, une performance accrue et une harmonie globale de ses prestations. Cette plateforme permet :
o La saisie de réclamations : depuis une application web (React / Java) ou des APIs (Java) publiques sécurisé,
o Le déclanchement et le suivit des missions d&rsquoassistance : depuis une application web ou des APIs publiques sécurisé,
o La mise en relation avec les fournisseurs de services d&rsquoassistance (taxi, dépannage, garages, hôtels, train, avion, &hellip)
&bull La mise à disposition de données afin d&rsquoétablir des KPIs via AWS Kinesis
&bull La section développement est composé de trois équipes autonomes et similaires appelé &ldquoSoftware Factory&rdquo, chacune est composé de : 2 POs, 2 Tech-Leads Back, 1 Tech-lead Front, 2 QA, 6 développeurs back et 4 développeurs front.
&bull Gestion du projet en mode « Agile » / « Scrum » avec les différents rituels associés : Daily-Meeting, Grooming, Sprint planning, Sprint review, &hellip
&bull Le projet est constitué de trois applications : deux « back » et une « front » :
o L&rsquoapplication front est basée sur le Framework « React ».
o Les applications « back » sont construites avec des technologies au tour de Java :
o Un gros monolithe modulaire suivant une architecture Hexagonale. Celui-ci implémente le c&oeligur du métier et expose des API pour le Front.
o Une application servant à faire de l&rsquo« EAI » et ainsi gérer l&rsquointeraction avec les applications tierces.
Tâches réalisées :
Leading technique
&bull Participation aux choix techniques et d&rsquoarchitecture lors de comités entre Tech-Leads/Solution Owner.
&bull Conception de solutions techniques répondants aux nouveaux besoins techniques et fonctionnels,
&bull Participation à des ateliers de &ldquodeep-dive" avec les « end-users » afin d&rsquoétudier la faisabilité des nouveaux besoins,
&bull Participation à des ateliers avec les POs afin de donner une &ldquomacro-estimation&rdquo et de transformer les &ldquouser stories&ldquo en spécifications fonctionnelles/techniques détaillés et compréhensible par les équipes de développement,
&bull Animation de réunion de présentation avec les « end-users » : &ldquoDemos&rdquo,
&bull Développement de modules pilotes et de PoC. Mais aussi, développements difficile, délicat et critique,
&bull Retro-engineering et rédaction de document technique d&rsquoarchitecture à des fins de formation et/ou d&rsquoamélioration de l&rsquoexistant,
&bull Suivit des développements et coordination avec les autres équipes de développement,
&bull Paquetage et mise à disposition de « releases » via Jenkins, Spinnaker, AWS,
&bull Coordination entre les équipes dont les développements sont dépendants :
o Analyse, mesure et prévention des impacts des développements inter-équipes,
o Garantir la bonne constitution des contrats d&rsquointerface et leur respect,
o Etablir une chaine de dépendance entre les développements et ainsi un ordre de développement.
&bull Encadrement des DEVs :
o Revue de code via BitBucket,
o Transmettre les bonnes pratiques et les méthodologies de développement : TDD, SOLID, DRY, KISS, GitFlow, &hellip
o Formations, apprentissage, aide ponctuelle, conseil, &hellip
&bull Support au testing et à l&rsquoexploitation des « features » développées,
&bull Team building.
Développement
Back-end
&bull Développement d&rsquoAPIs (publics et privées) permettant la gestion, le suivit et l&rsquoanalyse des missions d&rsquoassistance. Utilisation de « Spring Core », « Spring Security », « Spring Web » & « Spring Data JPA ».
&bull Développement d&rsquoAPI utilisant les technologie SSE, Amazon SNS et Amazon SQS afin de permettre un suivit en temps-réel de l&rsquoévolution des missions,
&bull Développement de Batchs avec « Spring batch », notamment pour mettre à jour automatiquement les données de certaines missions en fonction de critères précis.
&bull Upgrade de version des différents Framework utilisé afin d&rsquoeviter l&rsquoobsoléscence technologiques et réduire les vulnérabilités.
&bull Upgrade de la version BD PostgreSQL 9.X à 14.X,
&bull Augmentation de la couverture en TU et surtout en TI en supprimant des « mocks » inutiles et nuisible.
&bull Refonte d&rsquoune partie du modèle de données ainsi que l&rsquoapplicatif correspondant :
o Missioning,
o Mission Event,
o Ecrite de script SQL performant dans un contexte d&rsquoune large migration de donnée (plus de 80M de lignes)
Environment Technique : IntelliJ 2023, Webstorm 2023, Jira suite : Jira / Bitbucket, Oracle APIyari, Jenkins, Spinnaker, Java 11, Spring Core 5, Spring web 5, Spring Batch 4.x, Spring boot 2.x, Spring Data JPA 2.X, JUnit 5, Wiremock 2.x, AWS SNS/SQS, AWS S3.
Tech-Lead / Développeur full stack
1/2020 - 5/2022
Lieu : Paris &ndash Opéra, Ile de France
Objectif de mission :
Prestation de gestion de projet, « leading » technique et développements full stack dans le cadre de la migration de la plateforme de trading de la BNP CIB vers les nouvelles technologies / architectures IT.
Contexte :
&bull La « BNP CIB » propose à ses traders un progiciel, fait par ses soins. Celui-ci contenant plus de 320 écrans, il répond à tous ses besoins spécifiques. L&rsquoimplémentation de celui-ci a nécessité l&rsquoutilisation de technologies et d&rsquoarchitecture devenant, au jour d&rsquoaujourd&rsquohui, vieillissante et obsolète. La « BNP CIB » a entamé ainsi, un gros chantier de migration des écrans de ce progiciel vers les nouvelles technologies.
&bull Equipe constituée de 14 développeurs « full stack » dont 3 séniors / tech-lead et 4 BA et 1 scrum master.
&bull Gestion du projet en mode « Agile » / « Scrum » avec les différents rituels associés : Daily-Meeting, Grooming, Sprint planning, Sprint review, &hellip
&bull Le projet est constitué de trois applications : deux « back » et une « front ». L&rsquoapplication front est basée sur le Framework « Eclipse SWT ». Les applications « back » sont :
o Un gros monolithe modulaire architecturé en trois couches : Données, Application, Présentation.
o Une application servant à faire de l&rsquo« EAI » et ainsi gérer l&rsquointeraction avec les applications tierces. Architecturé en trois couches.
Tâches réalisées :
Gestion de projet
&bull Mise en place d&rsquoune « roadmap » des écrans à migrer : fichier de suivit avec les dépendances entre écrans, la priorisation et des « ETA »,
&bull Découpage de chaque écran à migrer en un ensemble de tâches autonomes (testables),
&bull Mise en place d&rsquoun « process » de release cyclique de deux semaines,
&bull Suivit des développements et coordination avec les testeurs,
&bull Paquetage et mise à disposition de « releases » via Jenkins, Groovy et Artifactory
&bull Réception des besoins des « end-users » et leur transformation en besoins fonctionnel/techniques détaillés compréhensible par les équipes de développement,
&bull Animation de réunion de présentation avec les « end-users ».
Leading technique full stack
&bull Participation aux choix techniques et d&rsquoarchitecture.
&bull Conception de solutions techniques répondants aux nouveaux besoins techniques et fonctionnels,
&bull Coordination entre les équipes dont les développements sont dépendants :
o Garantir la bonne constitution des contrats d&rsquointerface et leur respect,
o Etablir une chaine de dépendance entre les développements et ainsi un ordre de développement.
&bull Encadrement des DEVs :
o Transmettre les bonnes pratiques et les méthodologies de développement : TDD, SOLID, DRY, KISS, GitFlow, &hellip
o Formations, apprentissage, aide ponctuelle, conseil, &hellip
&bull Revue de code via BitBucket,
&bull Team building,
&bull Développement de modules pilotes et de PoC. Mais aussi, développements difficile, délicat et critique,
&bull Déploiement, support au testing et support à l&rsquoexploitation des « features » développées,
&bull Support aux ITBAs, Scrum Masters, PO : charge, faisabilité, macro-conception, ...
Développement sénior full stack
Back-end
&bull Transformation des « EJB » en une couche d&rsquo« APIs REST » présentant l&rsquoensemble des fonctionnalités de trading en JAX-RS,
&bull Ajout de nouvelles « APIs REST » avec « JAX-RS », « Spring » et « JPA / Hibernate »,
&bull Intégration d&rsquoapplications avec « Apache Camel »,
&bull Ajout d&rsquoun « framework » afin de tester la couche REST (seulement) avec Jersey,
&bull Amélioration significative de la robustesse, la disponibilité et la maintenabilité des « batch » se basant sur des files « JMS » en les découpant en « Receiver / Processor » indépendants au niveau « code » et au niveau « runtime »,
&bull Extraction, dans un module indépendant, de la « feature » du « CSV Import » en vue de la contenir dans une application dédiée: Celle-ci permet d&rsquoeffectuer une multitude d&rsquoopérations financières avec un simple fichier JSON. ...