Je construis des systèmes backend que les équipes et les agents IA savent exploiter et faire évoluer.
Je prends les problèmes backend en charge, de la base de données au déploiement, puis à la maintenance. CTO d’une plateforme juridique, j’ai dirigé une migration, construit la facturation et le contrôle d’accès, et exploité le système en production. Je m’adapte à la pile de l’équipe et je laisse un code que l’ingénieur suivant peut modifier.
9 ans à programmer et à concevoir des plateformes web pour les services publics, les produits SaaS et les opérations internes.
6+ équipes dans le droit, l’éducation, les médias, l’open source, la recherche et les opérations.


Méthode de travail
Une mission type, du premier cadrage à la passation.
Partir des contraintes
Avant toute conception, je liste ce que le système doit supporter : qualité des données, budget, taille de l’équipe, déploiement et accès. J’en tire un court cadrage que l’équipe peut contester tôt, pas après le lancement.
Modéliser le métier, pas les tables
J’organise le code par capacités métier, comme la facturation, l’identité et les accès, et je garde les règles dans le domaine, à l’écart du framework et de la base de données. Les règles d’expiration ou d’éligibilité deviennent du code nommé et testable, pas des conditions dispersées dans les contrôleurs.
Tester à la bonne frontière
Les règles du domaine reçoivent des tests unitaires rapides. Les cas d’usage tournent sur des adaptateurs en mémoire : un scénario comme « un utilisateur déjà couvert ne peut pas souscrire un second abonnement » se lit comme une spécification. Quelques tests d’intégration couvrent la base de données, le HTTP et le prestataire de paiement. Le temps est une entrée que je contrôle, donc aucun test ne dépend de l’horloge.
Faire évoluer un système en production par étapes
Je refactorise et migre des systèmes en production par étapes, en pensant aux données historiques et aux utilisateurs réels. Des contrôles d’architecture font échouer la compilation quand une dépendance pointe dans le mauvais sens.
Travailler avec des agents IA, avec des garde-fous
J’utilise des agents de code pour rédiger du code, écrire des tests et automatiser les refactorisations répétitives. Ils suivent des conventions écrites dans un fichier AGENTS.md, et chaque changement doit passer le formatage, le lint et la vérification des types. Je relis chaque diff, et les décisions d’architecture me reviennent.
Transmettre, pas seulement livrer
Je consigne chaque décision avec les options écartées, je garde une documentation courte et je rends explicites les responsabilités, le contrôle d’accès et la traçabilité. L’équipe peut ensuite exploiter le système sans moi, tout comme un agent.
Rôles sélectionnés
Des rôles qui ont façonné ma façon d’aborder le logiciel, les opérations, la recherche et la maintenance.
Technologies
Outils utilisés en production et en recherche.
Ce que j’utilise pour les systèmes en production, les plateformes internes et les prototypes de recherche.
Backend
Symfony, PHP, MySQL, PostgreSQL, Doctrine, Ruby on Rails, Redis, Python, Jupyter Notebook, Neo4j, Hono, tRPC
Frontend
React, Vite, TypeScript, Next.js, TanStack Query, Tailwind CSS, TanStack Start, React Native, Leaflet, OpenStreetMap, shadcn/ui, Zod
Références

Salvatrice Bahindwa
Avocate d’affaires, associée gérante chez LegalterLaw

Guus der Kinderen
Fondateur de GoodBytes.nl

Henrique Mukanda
Cofondateur et directeur général adjoint d’Itot Africa

Uriel Balela
Développeur logiciel chez Silicon Overdrive PTY (LTD)

Kileshe Kasoma
Vice-présidente d’Ukamili Digital City

Josue Yenga
Analyste de données | Gestion de projet | Intelligence artificielle et solutions pilotées par les données
La recherche en parallèle
Des travaux de recherche en informatique appliquée, évalués par les pairs et publiés en revue et en conférence.




















































Besoin d’un ingénieur logiciel ?
Indiquez l’objectif, la pile technique et l’échéance. Je vous répondrai avec une prochaine étape.





