Software Engineer Java / Full-stack (H/F) — GovTech
Description
Construire des logiciels critiques pour le secteur public, sur une stack Java moderne, avec un outillage IA de plus de 140 skills sous Claude Code : c’est le quotidien de nos équipes R&D.
Rejoins les équipes R&D SUB & MMP d’ATEXO
SUB : chaque euro de subvention, de la demande au paiement
Chaque année, des collectivités et des organismes publics attribuent des millions d’euros de subventions à des associations, des entreprises et des porteurs de projets. Avec SUB, tu construis le logiciel qui rend ce processus simple, traçable et sûr : dépôt de la demande, instruction, décision, paiement.
MMP : le cœur numérique de la commande publique
Chaque jour, des acheteurs publics préparent, publient et suivent des marchés qui financent des écoles, des routes, des hôpitaux ou des services numériques, et des entreprises, de la TPE au grand groupe, y répondent. MMP fait tourner cette chaîne, de la rédaction du marché à son exécution. Ce qui rend MMP passionnant :
Un produit critique : une date limite de remise des offres ne se décale pas. La plateforme doit tenir la charge et garantir l’intégrité de chaque dépôt, au moment où tout le monde dépose en même temps.
De la confiance numérique, en vrai : chiffrement des échanges, signature électronique (DSS / Bouncy Castle), messagerie sécurisée. Des sujets de cryptographie appliquée qu’on rencontre rarement ailleurs.
De l’IA utile : des modèles qui classent les annonces de marchés collectées et détectent les doublons, du notebook Jupyter jusqu’à la production.
Une vingtaine de modules métier : rédaction et exécution des marchés, génération documentaire, collecte d’annonces, application de signature électronique… Tu deviens référent(e) d’un ou plusieurs d’entre eux.
Un impact concret : simplifier et sécuriser l’accès des entreprises à la commande publique, c’est contribuer à une dépense publique plus transparente.
Accélérer, avec l’IA en appui
Notre ambition : livrer plus vite, sans rien céder sur la qualité. L’IA est intégrée à chaque étape de notre cycle de développement, du ticket à la merge request. Elle prend en charge les tâches répétitives pour que tu consacres ton énergie à ce qui compte : comprendre le métier, concevoir les bonnes solutions et construire des logiciels robustes.
Ton rôle
En tant que Software Engineer full-stack, tu développes des fonctionnalités de bout en bout, du backend Java / Spring Boot jusqu’aux interfaces Vue.js et Angular, sur des produits utilisés chaque jour par des agents publics.
Notre stack
Backend : Java 21, Spring Boot 4, Hibernate, Maven, Liquibase
Frontend : Vue.js, Angular, TypeScript
IA & Data : Python, Jupyter (classification et détection de doublons)
Desktop : Electron et un moteur Java pour la signature électronique
Données & messagerie : MySQL, MariaDB, RabbitMQ
Identité & sécurité : Keycloak (SSO), chiffrement, signature électronique (DSS / Bouncy Castle)
Run & CI : Docker, Ansible, GitLab CI
Qualité & sécurité : JUnit, Mockito, Testcontainers, SonarQube, Dependency-Track, Playwright, Squash TM
Nos sujets techniques
Garder la stack à jour : on suit les dernières versions de Java, Spring Boot et des frameworks front, avec des refactorings automatisés via OpenRewrite
Architecture : modules Spring Boot qui communiquent par API et par messages, chaque choix étant tracé dans des dossiers d’architecture
Multi-base : un même code tourne sur MySQL et MariaDB, avec des migrations de schéma versionnées (Liquibase)
Livraison exigeante : plusieurs versions maintenues en parallèle, avec une gestion rigoureuse des branches et des correctifs
Performance & diagnostic : analyse de logs, profiling JVM, profiling SQL (index, volumétrie, EXPLAIN), heap dumps et investigation d’incidents de production
Cryptographie & signature : chiffrement des échanges et signature électronique de documents
IA appliquée au métier : modèles de classification et de détection de doublons sur des annonces de marchés publics
Tests automatisés de bout en bout : tests d’intégration avec Testcontainers, scénarios Playwright rejoués à chaque livraison
L’IA au cœur de notre façon de coder
Nous avons construit notre propre outillage avec Claude Code : plus de 140 skills internes, versionnés et testés. Ils accompagnent chaque dev du ticket Jira jusqu’à la merge request : diagnostic, correctif, revue de code, tests end-to-end, spécification technique.
Tu gardes la main : rien n’est commité ni publié sans validation humaine.
Tu progresses : chaque dev bénéficie d’un coaching individuel sur ses pratiques IA.
Tu contribues : chacun peut écrire ses propres skills et faire évoluer l’outillage de l’équipe.
Tu découvres : chacun peut tester différents agents/LLM (opencode, qwen…) pour améliorer l’expérience IA
La sécurité, un réflexe
Revue de sécurité à chaque production de code
Veille CVE quotidienne et suivi continu des dépendances
Audits OWASP réguliers, chaque faille étant prouvée avant d’être corrigée
Accessibilité RGAA : nos utilisateurs sont des services publics
Audit code : notre code est analysé de façon régulière avec Claude Mythos
Innovation et agilité
Des cycles courts : on livre, on mesure, on ajuste. Les retours des utilisateurs du service public nourrissent directement le produit.
Le droit d’essayer : POC, nouveaux outils, nouveaux frameworks, nouveaux agents IA… Les bonnes idées passent vite de l’atelier à la production.
Une équipe qui se remet en question : rétros, health checks et ateliers techniques font évoluer nos pratiques en continu.
L’innovation au service du public : faire entrer l’IA, la confiance numérique et les meilleures pratiques du logiciel dans le quotidien des services publics.
La vie d’équipe
Sprints de 2 semaines : point technique de lancement, démo, rétro, planification
Ateliers techniques et health check d’équipe chaque trimestre
Revue de code croisée sur chaque merge request
Clean code : objectif zéro dette Sonar et au moins 75 % de couverture de tests
Documentation vivante (spécifications techniques, dossiers d’architecture, manuel métier) pour monter vite en compétence
Responsabilité : chaque membre de l’équipe est référent technique d’un ou plusieurs modules, de la conception à la mise en production, en lien direct avec les PO
Le parcours d’un sujet, de l’idée à la prod
Chaque évolution suit le même parcours, et tu le portes de bout en bout :
Architecture (DA) : tu poses et documentes les choix d’architecture dans un dossier d’architecture.
Spécification technique (SPT) : tu décris la solution avant d’écrire la première ligne de code.
Développement & test local : tu codes, puis tu prouves que ça marche sur ta propre stack avant tout commit.
Code review & traitement des retours : un pair relit ta merge request, tu traites ses retours, et rien n’est mergé sans revue validée.
Test DEV : une fois le code déployé, tu rejoues les cas de test sur l’environnement de développement avant la recette client.
Validation de la release technique : tu valides la version à livrer (contenu, notes de déploiement, prérequis d’exploitation) avant sa mise en production chez les clients.
Diplômé(e) d’une école d’ingénieurs, tu as 2 à 5 ans d’expérience en développement Java et tu as envie de mettre ton talent au service de l’action publique.
Ce qui fera la différence
Une bonne maîtrise de Java (17/21) et Spring Boot
Une expérience sur un framework front : Vue.js, Angular ou React, avec TypeScript
Le réflexe tests automatisés : unitaires, intégration, end-to-end
Le goût du code propre et des revues de code exigeantes
Une approche orientée produit : tu cherches à comprendre le besoin des utilisateurs avant de coder
L’envie de travailler avec l’IA pour aller plus vite et plus loin, en gardant un regard critique sur ce qu’elle produit
Un esprit d’équipe : tu partages, tu demandes, tu fais progresser les autres
Un esprit agile et innovant : tu aimes expérimenter, apprendre vite et proposer de nouvelles idées
Les plus
Une expérience avec des bases de données relationnelles (MySQL, MariaDB) et des messages (RabbitMQ)
Des notions de sécurité applicative (OWASP) ou d’accessibilité (RGAA)
Un intérêt pour le secteur public ou les GovTech
Entretien RH avec Laetitia A.
Test technique
Entretien Lead developer Ismail A. et directeur technique Régis M.