FITA.DEV English

Adrien Horgnies

Ingénieur Java senior

Onze ans de développement backend, dont cinq sur la plateforme Java derrière huit produits de Swift. J'écris le code Java, Spring Boot et Kafka, et je suis responsable de la chaîne Maven, Jenkins et OpenShift qui le livre. J'ai fait passer 2 200 tests de 80 % de réussite à 100 % en parallèle, et la release de trois jours à trois heures. J'ai migré la plateforme de Java 8 à 21. J'ai encadré cinq recrues.

Télécharger le CV (PDF)

Résultats marquants

  • 3 jours à 3 h
    pour livrer une release
  • 2 200 tests
    en parallèle, 100 % de réussite, contre 80 % en séquentiel
  • Java 8 à 21
    et Spring Boot 2 à 4, migration de la plateforme
  • 8 produits
    de Swift construits sur la plateforme que je développe
  • 5 ingénieurs
    intégrés et encadrés
  • 600 000 utilisateurs
    intégrés en un import chez Altissia

Expérience

Swift

Ingénieur logiciel senior Janvier 2022 à aujourd'hui

Messagerie interbancaire entre institutions financières de 205 pays.

  • Développe et maintiens la plateforme Java et Spring Boot derrière huit produits de Swift : gestion des transactions, passerelle de paiements instantanés, messagerie Alliance Cloud, données et analytique, supervision des événements, infrastructure as code. Chaque microservice en tire son packaging, son chiffrement, son observabilité et sa résilience.
  • Conçu et construit la détection des pannes réseau de la plateforme avec Java, Spring et Kafka.
  • Écrit un plugin Maven et son site web qui collectent les échecs des 2 200 tests d'un build à l'autre. Une centaine de tests étaient instables : race conditions entre producteurs, consommateurs et processeurs Kafka. Réécrit ces tests avec des assertions exactes, une synchronisation des threads correcte, des données d'entrée distinctes et une isolation. La suite est passée de 80 % de réussite en séquentiel à 100 % en parallèle.
  • Réduit la release de trois jours à trois heures avec quatre plugins Maven, vingt goals. Ils créent les branches et tags de release, construisent les charts Helm et les images de conteneurs, et publient sur Confluence les rapports d'audit sur les tests, les dépendances, les propriétés et les événements d'observabilité.
  • Le plugin Helm génère les manifestes à partir de valeurs de test et les compare au résultat attendu, prend ses dépendances dans des dépôts Maven ou Helm, interpole les propriétés Maven, et publie vers un dépôt Helm, un dépôt Maven ou un registre OCI.
  • Migré la plateforme de Java 8 à 17, puis 21, et de Spring Boot 2 à 3, puis 4, avec les montées de version des images de base. Les branches de support sont restées livrables tout du long.
  • Conçu les pipelines Jenkins qui construisent, testent, livrent et déploient sur OpenShift : relances, annulation des builds dépassés, analyses Coverity et Nexus IQ comme quality gates.
  • Encadré cinq recrues. Planifié leur travail avec le product manager, rédigé et priorisé leurs tâches, et corrigé leurs méthodes de travail quand leur productivité était mise en cause.

Stack: Java 8 to 21, Spring Boot 4, WebFlux, Spring Data JPA, Spring Security OAuth2, Kafka and Kafka Streams, Flyway, Oracle, Micrometer, Prometheus, Zipkin, JUnit 5, Mockito, Testcontainers, Maven, Jenkins, Helm, Docker, OpenShift, Nexus

Odoo

Développeur logiciel Octobre 2019 à décembre 2021

ERP open source : comptabilité, ventes, CRM, stocks, sites web.

  • Développé les modules de comptabilité et de paiement dans le framework Python maison. Ajouté les localisations comptables d'Israël, d'Italie et de Suède.
  • Corrigé les problèmes de performance remontés par les clients : complexité algorithmique, plans d'exécution SQL, préchargement des composants web, taux de cache, exceptions non gérées.

Stack: Python, PostgreSQL, SQL, JavaScript

Altissia

Développeur web Mars 2015 à octobre 2019

Plateforme d'apprentissage des langues en ligne, utilisée par Erasmus+ et Wallangues.

  • Développé les API REST du backend Spring Boot. Intégré les infrastructures d'authentification des clients dans la chaîne Spring Security.
  • Migré tous les cours de langue du XML vers de nombreux petits documents JSON pour le nouveau site, avec Spring Batch.
  • Écrit un outil qui trouve les incohérences de la base de données. Corrigé celles-ci dans la base de production de cinq millions d'utilisateurs.
  • Construit le moteur d'import et le service web qui chargent les fichiers Excel des clients dans la base de données. Il valide les données et envoie au commercial un rapport de toutes les erreurs, groupées par type. Un import a intégré 600 000 citoyens brésiliens.
  • Écrit le générateur Node.js de nouveaux microservices suivant les conventions de l'entreprise. Amélioré le schéma MySQL, vérifié les migrations avec Python et Matplotlib, construit des composants Angular réutilisables.

Stack: Java 8, Spring Boot, Spring Batch, Spring Security, MySQL, Angular, Node.js

Compétences

Java

Java 8 à 21Spring Boot 2 à 4Spring WebFluxSpring Data JPA et HibernateSpring Security et OAuth2Spring BatchKafka et Kafka StreamsApache HttpClient 5 (réactif)développement de plugins Maven

Tests

JUnit 5MockitoAssertJAwaitilityTestcontainers

Livraison

MavenJenkinsHelmDocker et PodmanOpenShift et KubernetesNexusVaultGitLinuxBash

Observabilité

MicrometerPrometheusGrafanaZipkinElasticsearch et Kibana

Données

OraclePostgreSQLMySQLSQLFlywayKafka

Autres langages

PythonGoJavaScript

Formation

Langues

FrançaisLangue maternelle
AnglaisCourant