Ingénieur logiciel Java Senior
il y a 4 jours
Champs-sur-Marne
Nous recherchons un Développeur Java Confirmé / Tech Lead pour rejoindre une équipe qui développe et maintient des composants logiciels complexes utilisés par des organisations internationales dans les domaines scientifique et technologique. Nous cherchons un profil hands-on, capable de continuer à développer et maintenir du logiciel tout en prenant progressivement le lead technique sur un produit stratégique. Un point important pour nous : nous souhaitons quelqu’un qui utilise l'IA concrètement dans son quotidien de développeur : aide à l’écriture et à la revue de code, génération et amélioration des tests, audit, documentation, exploration de solutions, etc. L’objectif est de savoir utiliser intelligemment ces outils pour développer plus efficacement et avec davantage de qualité. Dans un premier temps : maintenance et montée en compétence Vous commencerez par prendre en charge la maintenance et l’évolution de plusieurs composants logiciels existants, actuellement déployés chez plusieurs clients internationaux. Vous travaillerez en étroite collaboration avec notre expert Java actuellement responsable du projet afin de : • comprendre l’architecture et le fonctionnement des composants existants ;, • assurer leur maintenance corrective et évolutive ;, • développer de nouvelles fonctionnalités ;, • améliorer la qualité, les tests et la documentation ;, • prendre progressivement la responsabilité technique du produit. Cette phase permettra une transmission progressive des connaissances avant la prise de responsabilités plus larges. À moyen terme : prendre le lead technique Votre rôle évoluera progressivement vers celui de référent technique / Tech Lead. Vous serez notamment amené(e) à : • prendre le lead sur le développement du produit ;, • participer aux choix d’architecture et de conception ;, • définir et faire respecter les bonnes pratiques de développement ;, • réaliser et organiser les revues de code ;, • garantir la qualité, la robustesse et la maintenabilité du logiciel ;, • maintenir et faire évoluer les composants existants ;, • accompagner techniquement les autres développeurs ;, • analyser les problèmes complexes et proposer des solutions pragmatiques ;, • contribuer à la planification et au suivi des développements. Une véritable dimension client Le poste comporte également une forte dimension de relation technique avec les clients internationaux. Vous serez progressivement amené(e) à être en première ligne lors des réunions d’avancement, notamment pour : • présenter l’état d’avancement des développements ;, • expliquer les choix techniques ;, • échanger sur les besoins et priorités ;, • identifier les risques et proposer des solutions ;, • contribuer à la planification des prochaines étapes. Nous recherchons donc quelqu’un capable de passer naturellement du code à la discussion technique avec un client, tout en gardant une approche concrète et pragmatique. Nous accordons une importance particulière à votre capacité à intégrer les outils d’IA dans votre pratique quotidienne. Nous recherchons idéalement quelqu’un qui les utilise déjà réellement, par exemple pour : • accélérer l’écriture et le refactoring de code ;, • générer, compléter ou challenger des tests ;, • comprendre ou auditer une base de code existante ;, • analyser des problèmes et explorer différentes solutions ;, • produire ou maintenir de la documentation technique ;, • faciliter les revues de code ;, • automatiser certaines tâches répétitives. Vous devez toutefois conserver une vraie capacité de recul et de validation : savoir vérifier les résultats produits par l’IA, identifier ses erreurs et rester pleinement maître des choix techniques. Profil recherché Vous êtes un développeur Java confirmé avec une solide expérience du développement logiciel et l’envie d’évoluer vers un rôle de Tech Lead. Vous avez notamment : • une expérience significative en développement Java ;, • de bonnes bases en conception et architecture logicielle ;, • une culture forte de la qualité du code, des tests et de la maintenabilité ;, • l’habitude de travailler sur du code existant et de faire évoluer des composants en production, • une capacité à analyser rapidement un problème et à proposer des solutions ;, • de bonnes qualités de communication ;, • un bon niveau d’anglais, à l’écrit comme à l’oral.