Contexte de la mission :
Accelex est une Start-Up qui propose une solution d'acquisition de données, d'analyse et de génération de rapports destinée aux acteurs des marchés privés. Dotée de techniques d'intelligence artificielle et Machine Learning exclusives, nous automatisons les processus d'extraction, d'analyse et de partage des données essentielles sur les performances d'investissement et les transactions.
La solution d’Accelex a été développée pour simplifier les exigences du flux de travail des investisseurs et des prestataires de services d'actifs.
Responsabilités :
Mission en anglais (rédaction, meetings et documentation en anglais)
Conception du nouveau modèle de données pour l'application web Accelex lors de la refonte de la version V1 à V2 (en collaboration avec l'architecte).
Conception et implémentation de nouvelles fonctionnalités du côté de l'application web.
Participation aux décisions techniques concernant les technologies utilisées (proposition de Junit 5, Sonar et la base de données ArangoDB).
Mise en place de l'équipe QA et collaboration avec l'équipe QA pour créer différentes API dans l'espace de travail Postman.
Direction de la partie backend en participant à toutes les réunions de conception et de raffinement des nouvelles fonctionnalités de l'application web, en assistant les développeurs pour résoudre les problèmes et en analysant les journaux - occupant le poste de CHANGE TECHLEAD chez Accelex.
Implémentation du code backend, des tests unitaires et des tests d'intégration, occasionnellement en travaillant sur le code frontend pour de nouvelles fonctionnalités.
Participation aux sessions de raffinement pour préparer les histoires et les tâches pour les nouvelles fonctionnalités avec l'équipe produit/BA, discussion des exigences techniques et estimation des différents tickets.
Rôle de référent technique pour la partie "Paramètres" de l'application Accelex (responsable de 90 % du code conçu et implémenté).
Réalisation de revues de code pour le code Java.
Animation de sessions de refactoring, comme la session Junit 5 organisée après la transition et la mise à jour de tous les tests unitaires de Junit 4 à Junit 5 pour tous les microservices backend.
Encadrement des développeurs juniors et intermédiaires pour écrire un code de haute qualité et répondre à leurs questions.
Maintien et amélioration de la qualité du code en mettant en place Sonar Cloud avec le responsable QA, identification des défauts de code et des vulnérabilités, et attribution de tâches aux développeurs pour les résoudre.
Déblocage des analystes métier et de l'équipe produit lorsqu'ils ont besoin de détails techniques sur une fonctionnalité donnée.
Application de la manipulation des données à la base de données dans tous les environnements, y compris en production, lorsque cela est nécessaire (par exemple, pour débloquer l'équipe BA lors de la manipulation de métriques, pour mettre à jour les données des clients, pour migrer des données spécifiques, etc.).
Rédaction de scripts de migration et migration des données pour des clients tels que LGT et BNP, en provenance de la base de données héritée vers la base de données V2 après la refonte.
Gestion du processus de sortie/mise à jour corrective pour le côté de l'application web (backend et frontend).
Implémentation de d’échanges GRPC client et provideur
Participation à l'amélioration et à la résolution de tâches liées à la sécurité.
Participation à certaines réunions avec les clients pour répondre à des questions techniques, résoudre des problèmes de comportement ou effectuer des manipulations de données.
Administration des dépôts GitHub et suivi du processus Git flow.
Gestion de certains outils tels que Sonar Cloud, Postman (avant 2023), TestRail, y compris les détails de facturation et les utilisateurs autorisés à utiliser chaque outil.
Migration du code de Java 8 et 11 vers Java 17
Implémentation de tests d’intégration avec embedded Postgres et Kafka
En tant que responsable d'équipe, gestion d'une équipe de 6 personnes, y compris des discussions sur les problèmes, la résolution de problèmes personnels, la gestion des demandes d'absence via Personio.
Contexte de la mission :
Acteur historique majeur de la géolocalisation en temps réel, Deveryware est aujourd’hui un pôle d’expertise complet qui conçoit, développe et commercialise des solutions innovantes, pour la protection des citoyens et des entreprises.
Les métiers de l’investigation ont besoin d’experts dans le traitement des données et Deveryware propose une gamme complète de solutions, comme Sharelock et Zafer, les noms des applications sur lesquelles j’ai fait des développements
Responsabilités :
Développement d’un module zafer-simulator pour gérer les affaires d’investigation aui permet d’importer des fichiers à analyser et d’échanger avec d’autres applications à travers des queues RabbitMQ
Implémentation de la fonctionnalité de détection des d’associations IMEI/IMSI et la récupération des communications associées (requêtes AQL + Api Rest + tests unitaires + tests d’intégration) en analysant dans plusieurs fichiers les communications stockées dans une base de données ArangoDB
Optimisation de requêtes AQL
Optimisation de tests unitaires (junit 5) et des tests d’intégration (avec yml)
Réfactoring des tests et du code métier du projet zafer qui gère des assets dans la base de données (métadonnées des fichiers)
Implémentation d’une annotation sur micronaut pour le feature flipping (avec FF4J)
Conception et développement de la fonctionnalité de gestion des dossiers et arborescences pour la gestion des affaires et des fichiers d’analyse (Graph arangoDB)
Implémentation de la fonctionnalité de recherche, de sauvegarde et d’uniformisation des numéros de téléphones (avec libPhoneNumber) et des numéros IMEI (algorithme de Luhn pour le calcul de checksum)
Amélioration de la fonctionnalité de croisement des fichiers et implémentation de la recherche des communications à travers un critère de croisement
Rédaction de scripts Shell pour arrêter/lancer et relancer des conteneurs Docker pour faciliter le travail en local (docker-compose et x-terminal-emulator)
Mise ne place de configuration pour connecter plusieurs dockers entre eux (network docker – bridge)
Animation des démos de chaque fin de sprint
Contexte de la mission :
Enedis est le gestionnaire du réseau public de distribution d’électricité sur 95 % du territoire français continental. Ses 38 859 collaborateurs assurent chaque jour l’exploitation, l’entretien et le développement de près de 1,3 million de kilomètres de réseau. Raccordement, mise en service, dépannage, changement de fournisseur... Autant d’opérations assurées quotidiennement par Enedis. En tant que gestionnaire du réseau public de distribution d’électricité, Enedis réalise chaque année de nombreuses interventions : plus de 11 millions en 2014. La nature des prestations diffère selon les clients : clients finaux, fournisseurs ou producteurs d’électricité.
Le projet le plus important pour ENEDIS est Linky, aujourd’hui, 18 millions de compteurs linky sont déjà déployés, le but est d’atteindre 35 millions.
J’ai fait partie du projet Linky, et plus précisément, les équipes de LinkyCoeur. Responsabilités :
Maintenance évolutive des services Linky Cœur de collecte des indicateurs de consommation, télé- paramétrage et télé- opération sur le concentrateur.
Participation aux réunions de conception technique avec l’équipe architecture pour la migration des services de BPEL vers Java web (Jee natif).
Développer des tests de non régression TNR pour les services les plus critiques.
Suivi de PROD : détecter des problèmes et les incidents techniques à travers les logs et les indicateurs et créer les PRDs.
Implémenter des évolutions sur l’application Métrologie : ajouter des formulaires, générer des documents PDF (export de données), gérer des métriques reçues des appareils de mesure.
Refonte du service de découverte d’un concentrateur : migration de BPEL vers jee natif et java 8.