Une grande organisation mène un programme de transformation de l'entreprise portant sur un portefeuille d'applications métier. Ce poste de développeur Java senior s'inscrit dans un département d'environ 70 personnes qui prend en charge la reprise et la refactorisation d'applications, ainsi que le développement d'applications à partir de zéro, à l'aide de Java, Spring Framework et Angular dans des systèmes intégrés. En tant que développeur full-stack senior spécialisé dans les applications métier, vous contribuerez au développement backend et frontend, aux services web, à l'architecture, aux tests et aux déploiements.
La mission
Le programme couvre des applications métier qui doivent fonctionner dans un environnement complexe composé de plusieurs systèmes. Le paysage technique comprend Java et Spring Framework, JPA avec Hibernate et PostgreSQL, Spring Batch, des services web REST et SOAP, ainsi que des patterns architecturaux tels que SOA, les microservices et CQRS. Certains travaux portent sur la refactorisation d'applications existantes, tandis que d'autres portent sur le développement d'applications Java greenfield, de la conception à l'implémentation. Le poste combine donc l'analyse du code existant avec la création de nouveaux composants applicatifs.
Au quotidien, vous interviendrez sur l'ensemble du cycle de développement logiciel, de la compréhension des exigences avec les analystes et les utilisateurs jusqu'à la conception, au codage, aux tests et à l'accompagnement des mises en production. Vous travaillerez avec les responsables techniques et les architectes logiciels seniors à la conception de composants d'architecture et de blocs réutilisables, tout en prenant en charge leur implémentation. Le département travaille selon des pratiques Agile/Scrum, avec JIRA/Confluence et une intégration continue au moyen d'outils tels que Maven et Jenkins. Vous contribuerez également à la documentation technique, à l'évaluation et au reporting, et aiderez les développeurs moins expérimentés si nécessaire.
Vos responsabilités
- Assurer la livraison et la maintenance d'applications métier Java/Spring, y compris les interfaces Angular, conformément aux exigences métier et d'architecture.
- Développer et intégrer des services web REST et SOAP ainsi que des composants applicatifs dans des environnements multisystèmes.
- Refactoriser le code existant et développer des composants greenfield en utilisant JPA avec Hibernate, PostgreSQL, Spring Batch et CQRS lorsque cela s'avère pertinent.
- Améliorer la qualité des mises en production en faisant appel à des tests basés sur JUnit, à Mockito, à Spring Security et à l'intégration continue tout au long du cycle de vie.
- Concevoir des composants d'architecture et des blocs réutilisables en collaboration avec les responsables techniques et les architectes logiciels seniors.
- Coordonner la réalisation technique dans le cadre des activités Scrum, tenir à jour la documentation dans JIRA/Confluence, accompagner les déploiements et encadrer les développeurs juniors si nécessaire.
Votre profil
Compétences essentielles
- Vous disposez de 5 à 7 ans d'expérience professionnelle à temps plein en développement Java, notamment dans la réalisation full-stack d'applications métier.
- Développer des services backend avec Java, Spring Framework, JPA et Hibernate, ainsi que des applications frontend avec Angular.
- Concevoir et consommer des services web RESTful et SOAP, et appliquer les patterns SOA, microservices et CQRS dans des environnements intégrés.
- Travailler avec Spring Batch, Maven, Jenkins et PostgreSQL, et comprendre les modèles de données relationnels ainsi que le mapping objet-relationnel.
- Mettre en œuvre les pratiques Agile/Scrum, le test-driven development et l'intégration continue, avec JUnit et les pratiques de test associées.
- Lire et enrichir les documents UML et BPMN ainsi que la documentation technique, tout en gérant les informations relatives aux livraisons dans JIRA/Confluence.
- Analyser rapidement du code existant ou nouveau pour vous, communiquer avec les analystes et les utilisateurs, et collaborer efficacement avec les architectes et les développeurs.
- Accompagner et encadrer des développeurs juniors tout en contribuant de manière constructive au sein d'une équipe déjà en place.
Langues
- Français ou néerlandais : niveau CEFR B2 ou supérieur dans au moins l'une de ces langues, tant pour la communication orale que pour la documentation technique.
- Anglais : niveau CEFR B2 ou supérieur pour la communication écrite et la collaboration au sein de l'équipe de développement.