Software Engineer Java / Full-stack (H/F)
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+34 more
Job description
- 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., 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.
Requirements
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
About the company
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.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…