Aller au contenu

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.

  1. 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é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.
  2. 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é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.
  3. 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é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.
  4. 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é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.
  5. 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é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.
  6. IntersecR&D

    Paris La DéfenseÉditeur de logiciels pour les opérateurs de téléphonie mobile

    2008 — 2015

    1. 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é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.
    2. 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é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.
    3. 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é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

  1. Formation management

    2010

    OrsysParis La Défense

    Rôle du manager, communication productive, animer et contrôler un projet.

  2. 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.

  3. 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 ?

Email
vianney.bajart@vny.fr
Lieu
Annecy (74) · Chambéry (73)
Mobilité
Télétravail ou hybride