Depuis 20 ans, je conçois, maintiens et optimise des systèmes décisionnels et data.
La stabilité des systèmes, leur facilité d'utilisation, leur maintenabilité, leur évolutivité, leurs performances face aux fortes volumétries sont autant de challenges qui me font aimer mon métier au quotidien.
J'ai endossé de multiples rôles (expert technique, responsable d'équipe, architecte, développeur, auditeur de processus) durant ces riches années d'expérience, le plus souvent dans un contexte international. Mon profil est polyvalent, et j'ai appris à apporter des solutions viables et concrètes aux besoins des utilisateurs.
La plateforme Darwin est le nouveau système de gestion de contrats de Direct Assurance. Elle permet aux clients de souscrire des contrats via le web et applications mobiles, ainsi qu'aux téléconseillers d'interagir sur les contrats.
Le projet DarwinBI, dont je suis le Technical Leader au sein d'une équipe de 12 personnes, met à disposition une plateforme décisionnelle correspondant à l'application Darwin. Les données traitées correspondent à toutes les activités de la société Direct Assurance :
Gestion du portefeuille de contrats des assurés
Comptabilité
Suivi des sinistres,
Tâches des téléconseillers
Relation avec les prestataires de services,
Analyse marketing des clients
Mise en place d'un système décisionnel complet
Chargement d'une vingtaine de sources de données hétérogènes
Création d'un datawarehouse cohérent et normalisé
Création de datamarts requêtables par les utilisateurs depuis SAS, R et Python
Création de cubes OLAP requêtables depuis Excel
Création d'extractions quotidiennes envoyées par email ou par FTP à des prestataires externes
Optimisation des flux de données. 150 000 contrats quotidiens // 10 000 000 lignes quotidiennes // Base de 1 TB // Tables de 1 milliard de lignes
Responsable des livraisons de l'application dans les différents environnements (intégration, préproduction, production).
Au quotidien, suivi de la production de la plateforme : check du matin, prise en charge des incidents de production, accompagnement des équipes infrastructure sur la croissance du projet, etc.
Mise en place d’un monitoring technique de la plateforme :
Volumétrie des bases de données et de l’espace disponible
Fragmentation des indexes et obsolescence des statistiques
Utilisation des filegroups
Requêtes coûteuses
Maintenance des environnements de DEV (développement) et INT (intégration) : installation des composants SQL Server, administration, montées de version, monitoring des volumes...
Création d'un add-in Excel (C# VSTO) qui permet de requêter des datamarts SQL organisés en column-stored index (alternative aux cubes OLAP et TCD).
Création d'un outil d'automatisation de tests unitaires, fonctionnels et de non-régression adapté aux datawarehouse, datamarts et cubes.
Méthodologie Agile. SQL Server 2012, 2014, SSAS, SSIS, SSRS Visual Studio C# 2013, 2015 (TFS)
Détails de l'expérience
Les cubes OLAP montrant des limites sur les gros volumes quotidiens (tables de 1 milliard de lignes), j'ai proposé et implémenté un add-in Excel (C# VSTO) qui permet de requêter des datamarts SQL organisés en column-stored index. Cet add-in reprend le visuel d'une Pivot Table Excel (TCD), il génère des requêtes SQL qui permettent à l'utilisateur de créer des rapports dynamiques dans Excel et d'exploiter toute la puissance d'un modèle en étoile.
Afin de garantir la qualité de la plateforme décisionnelle au travers des livraisons, j'ai proposé et implémenté un outil d'automatisation de tests unitaires et fonctionnels. Cet outil permet aux développeurs et aux testeurs de créer des scénarios de validation, à savoir la comparaison des résultats d'une requête de référence et d'une requête d'homologation. Chaque requête peut être du SQL, du MDX ou un CSV, ce qui permet de comparer aisément des datamarts et des cubes. Tous les tests unitaires et fonctionnels de la plateforme décisionnelle utilisent cet outil.