Recherche d'héritiers et gestion de successions en Europe et à l'international.
Coutot-Roehrig est la première société européenne de recherche d’héritiers. Fondée en 1894, Coutot-Roehrig regroupe aujourd’hui 400 collaborateurs répartis dans 48 succursales dont 13 dans le monde (Espagne, Italie, Belgique, États-Unis, Luxembourg, Allemagne), et 50 correspondants exclusifs internationaux. Notre principale mission est de retrouver des héritiers dans le cadre de succession.
Biens vacants, comptes bancaires ou assurances-vie en déshérence, vérification de dévolution successorale, localisation d’ayants droit ou encore établissement de droits de propriété : nous intervenons à chaque étape pour identifier, retrouver et représenter les héritiers légitimes, en veillant à la défense optimale de leurs droits.
Vos missions
- Concevoir, développer et maintenir des applications fullstack en TypeScript (Node.js, React).
- Modéliser le domaine métier avec les équipes produit (DDD : langage ubiquitaire, agrégats, ports/adaptateurs) et le faire évoluer à partir des spécifications.
- Concevoir les schémas de données et migrations PostgreSQL.
- Contribuer au système de design interne (composants React, Storybook) et aux écrans qui le composent.
- Participer simultanément à plusieurs projets, en assurant la qualité des livrables et le respect des priorités.
- Produire un code robuste, testé, maintenable et documenté.
- Participer aux revues de code et faire évoluer la chaîne de qualité automatisée.
- Exploiter les assistants de développement agentiques (Claude Code ou équivalent) pour développer, revoir et documenter, tout en conservant un regard critique sur ce qu'ils produisent.
Notre stack
- TypeScript strict de bout en bout, monorepo pnpm / Turborepo.
- Node.js, Fastify, PostgreSQL, Drizzle ORM.
- React, TanStack Query, Tailwind CSS, Storybook.
- Vitest, tests par propriétés (fast-check), Playwright.
- Docker en local, Kubernetes managé en production, Microsoft Entra ID.
Notre philosophie
- Le métier d'abord. Domain-Driven Design : le vocabulaire métier est la source de vérité, tracé dans un glossaire versionné, et le domaine est isolé de toute I/O (architecture hexagonale).
- Le compilateur comme premier relecteur. TypeScript au-delà du mode strict, identifiants métier typés (un identifiant de dossier n'est pas un identifiant de personne), unions discriminées traitées exhaustivement, données validées distinguées par leur type des données brutes, contrats d'API partagés front/back. Nous concevons les types pour qu'un code qui compile respecte déjà une bonne partie des invariants métier.
- Du fonctionnel pragmatique. Fonctions pures dans le domaine, erreurs modélisées par des types Result discriminés, pas d'exceptions métier ni d'effets de bord cachés.
- Des tests sans mocks. Ports en mémoire, invariants vérifiés par tests de propriétés, tests d'intégration sur un vrai PostgreSQL.
- La qualité par l'outillage, pas par la discipline. Compilateur strict, règles de lint maison, frontières d'architecture vérifiées automatiquement, seuils de complexité, quality gate bloquante à chaque PR.
- Des décisions écrites. Chaque choix d'architecture fait l'objet d'un ADR ; la documentation est une source de vérité, pas un après-coup.
- L'IA comme coéquipier, sous les mêmes règles que nous. L'IA produit une grande partie du code, mais dans le même cadre que nous : typage strict, lint, frontières d'architecture et quality gate s'appliquent à ses sorties sans exception. C'est ce cadre qui permet d'aller vite sans rogner sur la qualité. Agents de revue spécialisés, skills et workflows versionnés dans le repo, revue automatisée avant chaque push. Le développeur pilote l'IA, valide ce qu'elle produit et fait évoluer le cadre.
- Diplômé(e) d'une école d'ingénieur en informatique ou formation équivalente (Bac+5).
- 5 à 7 ans d'expérience en développement logiciel, dont une expérience fullstack significative.
- Excellente maîtrise de TypeScript, Node.js et React.
- Solide pratique de PostgreSQL et de la modélisation relationnelle.
- Expérience concrète du DDD ou de l'architecture hexagonale sur un projet réel.
- Appétence pour la programmation fonctionnelle typée (types algébriques, immutabilité, Result / Either).
- Expérience d'un outil agentique (Claude Code, Cursor ou équivalent) au-delà de l'autocomplétion : écrire des prompts et des règles de revue, critiquer les résultats.
- Bon niveau d'anglais écrit : code, commentaires et commits sont en anglais.
- Capacité à gérer plusieurs sujets en parallèle et à passer efficacement d'un projet à l'autre.
- Autonomie, rigueur, esprit d'analyse, et goût pour la communication avec des interlocuteurs techniques comme métier.
Les plus (chacun est un atout à part entière, nous ne cherchons pas quelqu'un qui les cumule tous)
- Expérience des applications web offline-first : synchronisation, résolution de conflits, cache local.
- Expérience des interfaces riches à forte interactivité : éditeurs graphiques, canvas, diagrammes manipulables, visualisation de données volumineuses.
- Expérience d'outils de gestion complexes dans le domaine juridique : gestion de dossiers, workflows réglementés, traçabilité des actes.