Wilson Amedome Ingénierie de données

Portfolio

Wilson Amedome

Je construis des pipelines de données : ingestion, transformation, orchestration, et l’outillage qui les rend fiables. Ce qui m’intéresse, c’est qu’une donnée arrive à l’heure, qu’on sache d’où elle vient, et qu’on puisse en brancher une nouvelle sans repartir de zéro.

Rôle
Ingénieur de données
Domaine
Pipelines · Orchestration · Qualité des données
Lieu
Montréal, QC (Canada)
Formation
M.Sc. informatique, UQAM, 2026
Statut
Ouvert aux opportunités
01

Profil

Diplômé de la maîtrise en informatique pour l’intelligence et la gestion des données de l’UQAM. Quatre années de développement logiciel, Angular, Node.js, AWS, micro-services Python, avant de basculer vers l’ingénierie des données, où le même réflexe s’applique : ce qui se configure à la main finit toujours par diverger.

Mon terrain, c’est le pipeline : extraire d’une API ou d’une base, normaliser, fusionner des sources qui n’ont ni le même format ni la même granularité, charger dans un entrepôt, puis planifier l’ensemble pour qu’il se rejoue sans surveillance. Python, SQL, Airflow, PostgreSQL, Docker, Terraform, selon ce que la plateforme impose.

Je m’intéresse autant à ce qui se passe après la livraison : savoir qu’une table est fraîche, qu’une alerte se déclenche au bon seuil, et que la personne d’à côté puisse brancher un nouveau pipeline sans passer par moi. Un pipeline qu’on ne peut pas observer n’est pas terminé.

Hors travail : mangas et animation, et une dizaine d’années de bénévolat chez Joybringers Africa, ateliers d’initiation à l’informatique, mentorat, distributions.

Portrait de Wilson Amedome
Wilson Amedome Montréal, 2026
02

Travaux sélectionnés

02.1

Dashboard-as-Code

IntactDataLab2026Mise en production

Remplacer la création manuelle des tableaux de bord et des alertes de surveillance par un déploiement déclaratif, versionné et identique sur les trois environnements.

Déplier le dossier
Contexte
Le DataLab supervise des pipelines critiques sur Databricks. Tableaux de bord Lakeview et SQL Alerts étaient créés à la main, environnement par environnement, par les ingénieurs eux-mêmes.
Problème
La traçabilité existait, mais elle n’était ni normalisée ni facile à exploiter : analyser un changement demandait de reconstituer l’historique à la main. S’y ajoutaient une dérive progressive entre développement, test et production, et plusieurs jours d’ingénieur pour chaque nouvelle surveillance. Les sources d’audit, hétérogènes, ne partageaient aucun schéma commun.
Approche
Un moteur Python lit une configuration déclarative en YAML et génère les tableaux de bord et les alertes correspondants. Terraform Cloud et les Databricks Asset Bundles provisionnent la cible ; GitHub Actions déploie sur les trois environnements depuis une source de vérité unique. Un module d’alertes autonome applique des règles d’affaires et des seuils de sévérité configurables par les utilisateurs métier. Les sources d’audit sont normalisées par un contrat de données matérialisé en vues SQL.
Résultat
Framework livré en production. Un autre ingénieur a intégré un nouveau pipeline en autonomie à partir de la seule documentation. Bascule réalisée sans interruption de service ni duplication de données.
Stack
Python · YAML · Terraform Cloud · Databricks (Lakeview, SQL Alerts, Unity Catalog, Asset Bundles) · GitHub Actions · SQL
02.2

Mini-ETL et tableau de bord décisionnel

ESG-UQAM2025Projet interne

Industrialiser une réconciliation de données d’enquête faite à la main avant chaque restitution, et la rendre consultable en continu.

Déplier le dossier
Contexte
L’ESG-UQAM collecte des données d’enquête via Qualtrics, croisées avec plusieurs autres sources pour les besoins d’une équipe de recherche.
Problème
Fusion manuelle, longue et non reproductible ; entre deux campagnes, les résultats étaient tout simplement indisponibles.
Approche
Pipeline ETL en Python : extraction via l’API Qualtrics, normalisation et fusion multi-sources sous Pandas, chargement dans une couche intermédiaire. Restitution dans un tableau de bord Streamlit interactif, conçu pour être utilisé par des non-techniciens.
Résultat
Intégration automatisée, temps de traitement nettement réduit, et résultats consultables en continu par l’équipe sans intervention technique.
Stack
Python · Pandas · API Qualtrics · Streamlit · SQL
02.3

Africa Population Pipeline

Projet personnel2025Orchestration

Un pipeline ETL orchestré et reproductible pour intégrer, traiter et visualiser des données publiques de densité de population.

Déplier le dossier
Contexte
Données publiques de densité de population africaine, dispersées entre plusieurs sources aux formats et granularités différents.
Problème
Chargements manuels, aucune planification, aucune reprise sur erreur : impossible de rejouer un traitement ou d’en garantir le résultat.
Approche
Un DAG Apache Airflow orchestre extraction, nettoyage et chargement incrémental vers PostgreSQL, le tout conteneurisé avec Docker. Les tâches sont idempotentes et rejouables individuellement.
Résultat
Pipeline planifié et ré-exécutable, alimentant une base de référence interrogeable en SQL et exploitable en visualisation.
Stack
Apache Airflow · Python · PostgreSQL · Docker
02.4

Recipe Recommendation System

Projet académique2025Bases de graphes

Recommander par le chemin dans un graphe plutôt que par un score opaque : similarité et détection de communautés sur un modèle Neo4j.

Déplier le dossier
Contexte
Recommandation de recettes à partir des relations entre ingrédients, recettes et préférences d’utilisateurs.
Problème
Les approches tabulaires classiques capturent mal la proximité indirecte entre entités et n’expliquent pas leurs suggestions.
Approche
Modélisation du domaine en graphe sous Neo4j, puis mise en œuvre d’algorithmes de similarité et de détection de communautés, pilotés en Cypher depuis Python.
Résultat
Des recommandations justifiables : le chemin parcouru dans le graphe sert lui-même d’explication.
Stack
Neo4j · Cypher · Python
03

Parcours

Expérience professionnelle

Période Rôle Organisation Lieu
2026.01 – 2026.04 Stagiaire en ingénierie des données, DataLab Intact Montréal, QC
2025.08 – 2025.12 Auxiliaire de projet technique ESG-UQAM Montréal, QC
2022.08 – 2024.05 Développeur fullstack 316 Group À distance, É.-U.
2021.09 – 2022.07 Développeur fullstack junior Agence DOMCO Lomé, Togo

Formation

Période Diplôme Établissement Lieu
2024 – 2026 Maîtrise en informatique pour l’intelligence et la gestion des données UQAM Montréal, QC
2020 – 2023 Baccalauréat en génie logiciel IPNET Institute of Technology Lomé, Togo
2019 – 2020 Licence en systèmes informatiques et logiciels ESIBA Business School Lomé, Togo

Rapport de maîtrise : automatisation du déploiement de l’observabilité des pipelines de données.

04

Stack technique

Langages
Python (POO)SQLBashYAML / JSONJavaScriptAngularNode.js
Pipelines & orchestration
ETL / ELTApache AirflowPandasNumPyTraitement par lotsApache Spark
Stockage & plateformes
PostgreSQLNeo4jDatabricksUnity CatalogAWSNoSQL
Infrastructure & CI/CD
TerraformTerraform CloudDatabricks Asset BundlesGitHub ActionsDockerGit
Observabilité & qualité
Databricks LakeviewSQL AlertsContrats de donnéesMétriques de qualitéSeuils de sévéritéDynatrace
Restitution & analyse
Streamlitscikit-learnTableauPower BI
Méthodes
Agile / ScrumJiraConfluenceGestion des changementsDocumentation technique

Utilisé en production ou sur un projet livré Notions, usage ponctuel ou académique

05

Titres & distinctions

Certifications

Distinctions, langues & engagement

Prix
Premier prix du concours JPOP, IPNET, pour Récyclapp : application mobile facilitant le recyclage et la rémunération des utilisateurs ; interface, logique métier et prototype.
Langues
Français : langue maternelle. Anglais : intermédiaire, technique et communication fonctionnelle.
Bénévolat
Joybringers Africa, depuis plus de dix ans : moniteur d’enfants, distribution de vivres et de médicaments, mentorat et animation d’ateliers d’initiation à l’informatique.
06

Contact

Poste en ingénierie des données, mandat ponctuel, ou simplement une question sur l’un des dossiers ci-dessus : écrivez, je réponds.