Ouvert aux opportunités
Vianney Bajart
- Tech Lead
- Architecte logiciel
- Développeur Full-Stack sénior
Développement backend, conception d'API, scalabilité, traitements asynchrones
Python · React · Architecture distribuée
Je développe sur l’ensemble de la stack, du backend au frontend, avec un profil davantage orienté backend. Je m’intéresse particulièrement à l’architecture, aux performances, à la scalabilité et aux données.
Annecy (Haute-Savoie), Chambéry (Savoie) · télétravail ou hybride
Compétences
- Backend
- PythonFastAPIClean ArchitectureSQLAlchemyProgrammation asynchroneArchitecture hexagonaleLangage Cpytest
- Données & messaging
- PostgreSQLRedisElasticsearchKafkaSQSInfluxDB
- Cloud & infra
- LinuxDockerAutomatisationAWSScalewayGitHub ActionsBitbucket Pipelinesgit
- Observabilité
- PrometheusGrafanaCloudWatchLoki
- Frontend
- ReactVue.jsTypeScriptAstroTailwind CSS
- IA & outils de dev
- Développement multi-agentsClaude CodeSkills & RulesCursorSpec Driven Development
Parcours
6 ORGANISATIONS · 8 POSTES · 18 ANS · MAJ 2026-08
Développement backend, conception d'API, scalabilité, traitements asynchrones. Plateformes distribuées, données à forte volumétrie, encadrement technique.
SepteoReal Estate (immobilier)En cours
Tech Lead / Team Lead Full-Stack
AnnecyÉditeur de logiciels, parmi les dix premiers éditeurs français
2024 — aujourd'hui
Modernisation progressive d'une plateforme legacy de diffusion d'annonces immobilières et de remontée de leads : refonte de l'accès aux données et de l'architecture backend, mise en place d'une architecture distribuée et de traitements asynchrones scalables, amélioration des performances, de l'observabilité et des pratiques de développement ; encadrement technique d'une équipe de 3 développeurs.
- Python
- PostgreSQL
- SQLAlchemy
- OpenAPI
- TypeScript
- Vue.js
- Sanic
- FastAPI
- pytest
- Docker
- AWS
- Redis
- SQS
- Cursor
- Claude Code
- Spec Driven Development
- Clean Architecture
- JIRA
- Bitbucket
Voir la réalisation détailléeMasquer la réalisation détaillée — Tech Lead / Team Lead Full-Stack, Septeo
- Contexte
- Reprise d'une plateforme legacy de diffusion d'annonces immobilières en production, dont l'architecture et le code avaient atteint des limites importantes de performance, de maintenabilité et d'évolutivité — et dont l'équipe qui l'avait construite était partie. Restaient un technicien sans profil de développeur et un développeur junior. L'API publique devait rester compatible afin de moderniser le backend sans imposer de migration aux clients.
- Problème
- Le backend accédait à deux bases PostgreSQL distinctes via GraphQL, avec un code fortement couplé, peu typé, une couverture de test très réduite et une faible observabilité. Les services subissaient régulièrement des pannes sous charge et le système de tâches asynchrones, implémenté sur la base de données, était limité à un seul type de traitement. Surtout, plus aucune connaissance du système ne subsistait dans l'équipe : chaque évolution non triviale dépendait de moi seul.
- Décision
- J'ai écarté la réécriture complète : elle supposait une équipe maîtrisant le domaine, je ne l'avais plus. J'ai défini une architecture plus simple — API scalable, scheduler et workers — et je l'ai déployée par incréments : fusion des deux bases, remplacement de PostGraphile par SQLAlchemy pour que le backend effectue directement ses requêtes complexes sans intermédiaire, sortie des traitements asynchrones de la base de données vers SQS, Redis pour le cache et les données volatiles, migration progressive vers une Clean Architecture en renforçant le typage, les tests, les logs structurés et l'outillage d'exploitation. Et j'ai fait de chaque incrément un support de montée en compétence plutôt que de livrer plus vite seul : cadre Scrum, revue de code systématique, pair programming, ateliers techniques, et mise en place de pratiques de développement assisté par IA (rules, skills, Spec Driven Development et agents).
- Compromis assumé
- J'ai payé en vitesse à court terme ce que je gagnais en autonomie d'équipe : accompagner chaque incrément a coûté plus de temps que de le livrer moi-même. Les nouvelles briques ont par ailleurs coexisté avec l'ancien système pendant toute la migration, le temps de retirer les composants devenus obsolètes.
- Résultat
- Les pannes de services liées à la charge ont disparu et les traitements longs peuvent désormais être exécutés en arrière-plan sans dégrader la qualité de service de l'API. Côté équipe, trois développeurs — un profil non-développeur, un junior, puis un arrivant sans connaissance de Python ni du projet — sont devenus autonomes sur le nouveau socle, la revue de code et les livraisons.
3PAY
Développeur Full-StackFreelance
AnnecyStartup fintech dans le domaine de l'assurance santé
2022 — 2024
Reprise et industrialisation d'une plateforme fintech de paiement : modernisation progressive du backend et de l'UI d'administration, développement de fonctionnalités métier (consolidation mensuelle des comptes, génération de relevés de comptes, prélèvement sur carte bancaire via HiPay), mise en place du développement local et du CI/CD, déploiement Cloud, authentification forte (2FA WebAuthn) et intégration des services bancaires Treezor.
- Python
- PostgreSQL
- SQLAlchemy
- Docker
- Scaleway
- React
- Flask
- JavaScript
- Loki
- Redis
- SQS
- nginx
- Ansible
- Treezor
- HiPay
- 2FA
- WebAuthn
- GitHub
- Cursor
Voir la réalisation détailléeMasquer la réalisation détaillée — Développeur Full-Stack, 3PAY
- Contexte
- Reprise d'un prototype fintech encore très immature, utilisé pour construire une plateforme de services financiers destinée à des utilisateurs finaux via une application mobile. Responsabilité du backend, de l'interface d'administration et de l'infrastructure, en collaboration avec Treezor pour les services bancaires.
- Problème
- Transformer progressivement une base logicielle peu industrialisée en une application maintenable et déployable, tout en répondant aux contraintes de sécurité, de fiabilité et de conformité d'un service financier vis-à-vis de l'ACPR
- Décision
- J'ai modernisé le code et les pratiques par incréments plutôt qu'en réécrivant le prototype : environnement local reproductible, SQLAlchemy en mode ORM, CI/CD, Docker, déploiement automatisé par Ansible et gestion automatisée des certificats. J'ai ensuite migré l'infrastructure vers des services managés Scaleway — Loki, Redis, SQS — plutôt que d'exploiter ces briques nous-mêmes, pour qu'une équipe réduite n'ait pas à en porter la charge d'exploitation. Côté sécurité des accès, j'ai implémenté l'authentification à deux facteurs sur WebAuthn — clés de sécurité et authentificateurs de la plateforme — plutôt que sur un code TOTP ou un SMS : le second facteur est lié au domaine, donc non rejouable et résistant au phishing, ce qu'attend un service financier.
- Compromis assumé
- Puisque la priorité était de montrer un produit fonctionel et conforme, j'ai conservé une architecture monolithique simple et des services Cloud managés plutôt qu'une architecture distribuée plus complexe, afin de limiter les coûts opérationnels d'une petite équipe tout en conservant la capacité à faire évoluer et déployer le produit.
- Résultat
- Passage d'un prototype difficilement maintenable à une plateforme déployable de manière reproductible sur des environnements distincts, avec CI/CD, infrastructure automatisée et observable. La solution a obtenu l'agrément ACPR et a été déployée auprès de clients réels.
CICL
Développeur SIGFreelance
Haute-SavoieServices de cartographie pour les entreprises et les collectivités locales
2020 — 2021
Conception et développement d'extensions QGIS et d'outils PostGIS sur mesure pour automatiser des workflows SIG et réduire les tâches manuelles à faible valeur ajoutée.
- Cartographie
- QGIS
- PostGIS
- Python
- Qt
Voir la réalisation détailléeMasquer la réalisation détaillée — Développeur SIG, CICL
- Contexte
- CICL utilisait intensivement QGIS pour ses activités de cartographie, mais certaines opérations répétitives nécessitaient de nombreuses manipulations manuelles. L'équipe étant composée de géomaticiens sans compétences de développement, les possibilités d'automatisation étaient limitées.
- Problème
- Transformer des besoins métier spécifiques en outils simples à utiliser directement dans QGIS, tout en conservant suffisamment de flexibilité pour s'adapter aux différents projets et données traités par les géomaticiens.
- Décision
- J'ai développé plusieurs plugins QGIS en Python/Qt : menus de saisie paramétrables, traitements géométriques, exploration et export de données PostGIS, modification groupée d'attributs, création paramétrée de géométries. J'ai fait le choix de les greffer sur les interfaces natives de QGIS plutôt que de livrer des scripts à exécuter hors de l'outil, pour que les géomaticiens restent autonomes sans changer d'environnement de travail.
- Compromis assumé
- Privilégier des outils spécialisés et configurables répondant précisément aux workflows métier plutôt que des automatisations génériques, tout en documentant leur configuration pour permettre leur évolution sans intervention systématique du développeur.
- Résultat
- Automatisation de plusieurs workflows SIG et réduction des manipulations répétitives des géomaticiens. Réalisation des missions en autonomie complète, du recueil du besoin et de la spécification jusqu'au développement, à la livraison, à la documentation et aux itérations issues des retours utilisateurs.
Red Mint / Element 13
Senior Software Developer
AnnecyStartup éditrice de logiciels d'analyse de données en temps réel
2017 — 2019
Développement d'une plateforme générique d'analyse de séries temporelles et de détection d'anomalies, depuis l'ingestion de données hétérogènes jusqu'à l'apprentissage, l'inférence temps réel et l'alerting.
- Python
- Elasticsearch
- InfluxDB
- Machine learning
- Ansible
- ReactJS
- Go
- C
- JavaScript
- Bootstrap
- KVM
- SIP
- VoIP
- Big Data
- numpy
- TensorFlow
- Flask
- MongoDB
- Docker
Voir la réalisation détailléeMasquer la réalisation détaillée — Senior Software Developer, Red Mint / Element 13
- Contexte
- Micro-startup explorant plusieurs cas d'usage d'analyse temps réel, initialement centrée sur l'analyse de flux réseau puis élargie aux données IoT et autres séries temporelles.
- Problème
- Construire une infrastructure logicielle capable d'ingérer des séries temporelles provenant de sources hétérogènes et d'automatiser l'ensemble du cycle de vie d'un modèle de prédiction, sans coupler le moteur d'analyse à une technologie de stockage ou à un domaine métier particulier.
- Décision
- J'ai développé le backend Python, l'API HTTP et le dashboard React, ainsi que les connecteurs vers InfluxDB, Warp10, MongoDB et Elasticsearch. J'ai construit une chaîne générique source → séries temporelles → features → modèle plutôt que de câbler le moteur sur un unique backend de stockage et un seul cas d'usage, puis j'ai automatisé l'entraînement, le déploiement et l'inférence des modèles LSTM. J'ai implémenté la chaîne de détection mesure → prédiction → score → alerting.
- Compromis assumé
- Privilégier une architecture générique capable de supporter différents domaines et backends de données, au prix d'une couche d'abstraction supplémentaire et d'une complexité accrue pour normaliser des sources de données hétérogènes.
- Résultat
- Prototype fonctionnel de bout en bout permettant d'entraîner, déployer et exploiter automatiquement des modèles LSTM sur des séries temporelles provenant de plusieurs sources, avec inférence et alerting en temps réel.
Stormshield (Airbus Group)Cloud Services
DevOps
LyonÉditeur de logiciels et de solutions de cybersécurité
2015 — 2017
Développement et industrialisation de services Cloud sécurisés ; automatisation de l'infrastructure, virtualisation, supervision et outillage de sécurité dans un environnement multi-datacenters.
- Sécurité
- OpenSSL
- DNS
- PKI
- Python
- Ansible
- nginx
- Elasticsearch
- Logstash
- Kibana
- MongoDB
- HAProxy
- KVM
- Ganeti
- Jenkins
- ReactJS
Voir la réalisation détailléeMasquer la réalisation détaillée — DevOps, Stormshield (Airbus Group)
- Contexte
- Équipe Cloud Services responsable de l'infrastructure et des services supportant les solutions de sécurité Stormshield, déployés sur plusieurs dizaines de VM réparties dans trois datacenters. L'équipe réunissait un DevOps junior et deux profils à dominante administration système : j'y suis entré pour apporter l'expérience de développement logiciel qui lui manquait.
- Problème
- La multiplication des services et configurations nécessitait d'automatiser leur déploiement et leur maintenance, tout en assurant une visibilité continue sur les vulnérabilités logicielles présentes dans l'infrastructure.
- Décision
- J'ai conçu et développé en Python un scanner d'inventaire logiciel qui relève les dépendances installées via les différents gestionnaires de paquets (Debian, pip…) et croise leurs versions avec plusieurs bases de vulnérabilités, dont le Debian Security Tracker. J'ai retenu ce recoupement multi-sources plutôt qu'un référentiel unique, et j'en ai versé les résultats dans un dashboard et un système d'alerting.
- Compromis assumé
- Privilégier une détection multi-sources et automatisée afin de réduire les angles morts de l'analyse, au prix de la complexité liée au rapprochement de référentiels de vulnérabilités et de formats de paquets différents.
- Résultat
- Mise en place d'une visibilité automatisée sur les vulnérabilités de l'infrastructure et contribution à la réduction des opérations manuelles grâce à l'IaC et à l'automatisation des déploiements. Montée en compétence sur les pratiques DevOps et l'organisation Scrum.
IntersecR&D
Paris La DéfenseÉditeur de logiciels pour les opérateurs de téléphonie mobile
2008 — 2015
Architecte logicielPlateforme réseau mobile
2012 — 2015
Évolution de l'architecture d'une plateforme SMS/MMS distribuée vers des fonctions de SMS-C à haute performance et haute disponibilité ; conception et développement en C, définition des interfaces et spécifications, accompagnement technique d'une équipe de 4 à 8 développeurs.
- C
- Système distribué
- Haute disponibilité
- PHP
- JavaScript
- SQL
- git
- Gerrit
- Protocoles réseau
Voir la réalisation détailléeMasquer la réalisation détaillée — Architecte logiciel, Intersec
- Contexte
- La croissance du projet et de l'équipe a conduit à séparer le pilotage projet du leadership technique. J'ai pris le rôle d'architecte et lead technique, avec la responsabilité de faire évoluer une plateforme initialement conçue comme SMS/MMS Gateway.
- Problème
- Étendre progressivement la plateforme vers des fonctions de SMS-C, intégrées au cœur du réseau mobile et interconnectées en SS7, tout en préservant les exigences de performance, disponibilité, résilience et compatibilité avec les environnements variés des opérateurs.
- Décision
- J'ai fait évoluer l'architecture distribuée stateful autour de services interconnectés capables de détecter la défaillance d'une instance, d'élire automatiquement les maîtres par vote majoritaire et d'isoler ou d'arrêter une instance défaillante pour préserver le fonctionnement global — un basculement tranché par le cluster lui-même plutôt que par un arbitre externe. J'ai défini l'architecture des nouvelles fonctionnalités, les interfaces et les spécifications techniques, en restant dans le code C, les revues, le pair programming et la résolution des incidents complexes.
- Compromis assumé
- Conserver une architecture générique et cohérente malgré l'augmentation du nombre de clients et de cas particuliers, en privilégiant l'extension par un système de plugins configurable plutôt que l'introduction de forks ou de branches spécifiques par opérateur.
- Résultat
- Évolution de la plateforme d'une solution de gateway vers des fonctions de cœur de réseau SMS, accompagnée d'une amélioration continue de la fiabilité et d'une extension des déploiements aux deux autres grands opérateurs français ainsi qu'à de nouveaux opérateurs internationaux.
Ingénieur, chef de projet R&DPlateforme réseau mobile
2009 — 2012
Prise en charge technique et pilotage d'une plateforme SMS/MMS haute performance : industrialisation du logiciel, implémentation de protocoles télécom, conception de fonctionnalités de résilience et pilotage d'une équipe de 5 à 10 ingénieurs jusqu'au déploiement chez des opérateurs.
- C
- Linux
- PHP
- JavaScript
- git
Voir la réalisation détailléeMasquer la réalisation détaillée — Ingénieur, chef de projet R&D, Intersec
- Contexte
- Après avoir rejoint le projet comme stagiaire, prise progressive de la responsabilité technique puis du pilotage d'une plateforme SMS/MMS destinée aux opérateurs télécom, dans un contexte de concurrence avec des équipementiers historiques.
- Problème
- Transformer une plateforme R&D haute performance en un produit industrialisé, fiable et interopérable, capable de respecter les contraintes de disponibilité, latence et débit des opérateurs, tout en supportant les variations et écarts d'implémentation des différents équipementiers.
- Décision
- J'ai complété et refactoré les implémentations SMPP, EMI/UCP et MM7, puis mis en place les tests unitaires et de charge, la gestion des releases et de la configuration, les métriques, la supervision, les logs, les outils de diagnostic et les procédures de déploiement. J'ai conçu les mécanismes de résilience et de redondance, ainsi qu'un outil de capture et de rejeu des trames à l'origine d'un crash : reproduire l'incident à l'identique en interne plutôt que de dépendre d'un accès au trafic de l'opérateur pour le diagnostiquer.
- Compromis assumé
- Préserver le caractère générique et maintenable de la plateforme malgré les spécificités demandées par certains opérateurs et les comportements non conformes ou propriétaires de certains équipements, en privilégiant des adaptations configurables plutôt que des forks spécifiques.
- Résultat
- Déploiement progressif auprès d'un grand opérateur français et de plusieurs opérateurs internationaux. La plateforme permettait de remplacer des infrastructures d'environ 16 serveurs par 4 serveurs moins puissants tout en offrant de meilleures performances, contribuant à la conquête de parts de marché face aux solutions des grands équipementiers.
StagiairePlateforme réseau mobile
2008 — 2008
Conception et implémentation en C d'un système de stockage append-only haute performance pour les pièces jointes MMS, optimisé pour minimiser les I/O disque et garantir la récupération après incident.
- C
- Linux
- valgrind
- gdb
- fuse
- git
Voir la réalisation détailléeMasquer la réalisation détaillée — Stagiaire, Intersec
- Contexte
- Développement d'une plateforme de traitement SMS/MMS destinée aux opérateurs télécom, avec un fort enjeu de performance et de scalabilité.
- Problème
- Le stockage devait soutenir des charges MMS très élevées tout en limitant les I/O disque et en garantissant la persistance et la récupération des données après un arrêt brutal.
- Décision
- J'ai conçu un stockage append-only en fichiers préalloués et segmentés, exploitant les écritures séquentielles, le memory mapping et un index en mémoire, plutôt qu'un fichier par pièce jointe confié au filesystem. J'ai implémenté le mécanisme de journalisation et de recovery associé, fondé sur la cohérence des headers et des checksums.
- Compromis assumé
- Choix d'un stockage spécialisé, plus complexe qu'un filesystem classique, afin de supprimer les écritures concurrentes et de privilégier les I/O séquentielles et un faible overhead CPU.
- Résultat
- La plateforme a été validée dans l'infrastructure SFR à très haut débit, jusqu'à saturation d'un lien réseau 1 Gb/s sur le trafic MMS.
Formation
Formation management
2010
OrsysParis La Défense
Rôle du manager, communication productive, animer et contrôler un projet.
Ingénieur génie logiciel et systèmes informatiques
2006 — 2009
ISIMAClermont-Ferrand
Développement logiciel, algorithmique, structures de données, traitement d'image, calcul distribué, réseaux, systèmes distribués, modélisation et simulation, aide à la décision.
Classes préparatoires aux grandes écoles — PTSI/PT*
2004 — 2006
César BaggioLille
Physique, technique, sciences de l'ingénieur.
Ce que je cherche
Ce qui m’attire
- Petite équipe agile, autonome, complémentaire et curieuse
- Environnement qui favorise l'autonomie et l'initiative
- Sujets d'architecture, de performance ou de scalabilité
- Télétravail partiel si basé dans le bassin d'Annecy ou de Chambéry
- Télétravail total si ailleurs, déplacements occasionnels bienvenus
Moins adapté pour moi
- Poste centré uniquement sur la maintenance d'un existant
- Rôle principalement infrastructure / DevOps
- Développement limité à l'UI
- Lourdeur organisationnelle, faible agilité
- Poste sur site en dehors de ma zone géographique
- Environnement Microsoft/Windows
Langues
- Français
- Langue maternelle
- Anglais
- Écrit professionnel (lecture, rédaction technique) — oral fonctionnel
Centres d’intérêt
Sciences
En particulier les sciences naturelles : physique, astronomie et biologie.
Montagne
J'aime explorer les Alpes en toutes saisons
Nature
Observation, photo animalière et bénévolat pour la protection de l'environnement
Contact
Un poste ou une mission à me proposer ?
- vianney.bajart@vny.fr
- Lieu
- Annecy (74) · Chambéry (73)
- Mobilité
- Télétravail ou hybride