Product Developer Senior
Enregistrez cette offre et organisez votre recherche
Créez un compte gratuit pour enregistrer des offres d'emploi, créer des alertes et revenir à cette liste depuis votre tableau de bord.
En continuant, vous acceptez nos Conditions d’utilisation & Politique de confidentialité.
Dans le cadre de la transformation et du développement de sa plateforme applicative métier, notre client recherche deux Product Developers / Ingénieurs Full Stack seniors afin de renforcer une équipe technique travaillant sur un produit stratégique.
Il ne s’agit pas uniquement d’un poste de développement : vous interviendrez de la compréhension du besoin métier jusqu’à la donnée, avec une forte dimension de conception, architecture, qualité logicielle et utilisation de l’intelligence artificielle dans le cycle de développement.
Le contexte produit
Notre client développe et édite une suite applicative métier disponible en web et mobile, utilisée quotidiennement par des professionnels sur le terrain.
L'application possède notamment un véritable fonctionnement hors ligne, permettant son utilisation dans des environnements où la connexion réseau n’est pas toujours disponible.
Une première génération de la solution est en production depuis plusieurs années. Elle continue d'être :
- déployée auprès de nouveaux utilisateurs ;
- maintenue et enrichie ;
- utilisée en France comme à l’international.
En parallèle, l'équipe construit actuellement une nouvelle génération de la plateforme.
Cette nouvelle version vise notamment à apporter :
- des parcours utilisateurs plus simples et plus intuitifs ;
- une meilleure qualité et structuration des données ;
- des fonctionnalités avancées d’analyse et de data analytics ;
- une architecture plus moderne et évolutive ;
- une meilleure maintenabilité à long terme.
Les développements sont déjà bien avancés mais le projet s’inscrit dans une feuille de route de plusieurs années.
L’objectif est donc de rejoindre le projet suffisamment tôt pour pouvoir encore avoir une réelle influence sur sa conception et son architecture.
Votre rôle
Vous intervenez comme ingénieur applicatif Full Stack senior, avec une vision complète du produit.
Votre responsabilité ne s'arrête pas à la production de code : vous devez être capable de comprendre un besoin, de le traduire techniquement, de concevoir la solution, d'arbitrer les choix d'architecture et de garantir la qualité de ce qui sera effectivement mis en production.
Vous intervenez ainsi de l’interface utilisateur jusqu’au modèle de données.
Concevoir les solutions
Vous prenez en charge la conception à partir du besoin métier :
- compréhension et analyse du besoin ;
- modélisation du domaine métier ;
- conception fonctionnelle et technique ;
- définition du modèle de données ;
- découpage des composants et responsabilités ;
- anticipation des impacts techniques à moyen et long terme.
La capacité de conception constitue l'un des éléments centraux du poste.
Développer sur l'ensemble de la chaîne applicative
Vous intervenez sur les différentes couches de la solution :
- développement front-end ;
- développement des API et services intermédiaires ;
- développement du socle métier back-end ;
- accès et modélisation des données ;
- intégration des différents composants.
Vous devez donc posséder une réelle culture Full Stack, et non une expertise limitée exclusivement au front ou au back.
Environnement technique
La plateforme s’appuie notamment sur :
- architecture monorepo
L'architecture repose notamment sur un front Angular moderne, un back-for-front basé sur NestJS et un socle métier Java / Spring Boot.
Architecture et qualité logicielle
Vous participez directement à la construction et à la pérennité de l'architecture.
À ce titre, vous êtes notamment amené à :
- structurer et faire évoluer le monorepo ;
- définir clairement les responsabilités des différentes couches ;
- établir les contrats entre composants ;
- maintenir des frontières techniques explicites ;
- documenter les principales décisions d’architecture ;
- anticiper les conséquences futures des choix réalisés.
Une attention particulière est portée à la qualité du code.
Vous devez être capable d'évaluer :
- sa pertinence fonctionnelle et technique ;
- sa lisibilité ;
- sa capacité à rester compréhensible dans plusieurs années ;
- son coût futur de maintenance.
Qualité, tests et performance
Vous contribuez à garantir la qualité de la solution de bout en bout :
- stratégie de tests ;
- qualité du code ;
- performance applicative et performance perçue par l’utilisateur ;
- observabilité ;
- maintenabilité.
Vous ne vous contentez donc pas de vérifier qu’une fonctionnalité fonctionne