NTT Data est actuellement à la recherche d'un Développeur Java Senior pour un client qui se trouve à Bruxelles. Ce rôle sera effectué dans un modèle de travail hybride.
L´organisation a 4 missions principales:
Informer et conseiller le citoyen sur sa retraite
Définir et octroyer les prestations de retraite et les IGO/Grapa (Inkomsten Garantie Ouderen / Garantie de Revenus aux Personnes âgées)
Verser correctement et en temps voulu les prestations de retraite, les rentes, les indemnités, l'allocation aux victimes du terrorisme et les IGO/Grapa
Soutenir la prise de décision politique en fournissant des données, des analyses d'impact et de l'expertise
Le département ICT aide l´organisation à remplir ses missions en fournissant aux utilisateurs professionnels les outils nécessaires à leur fonction.
Environ 250 personnes travaillent au sein du département ICT et sont réparties dans 2 services.
Le service de développement en charge de la création de l'application, le service Plateforme et Habilitation qui est en charge de fournir aux équipes de développement l'infrastructure et les ressources nécessaires à la création de leurs applications
Description du poste
En tant que développeur senior, le candidat intègre une équipe transverse en charge du développement des composants des applications (front et back end) utilisées au sein du Sfpd. Le développeur travaillera dans une équipe (Vulcan) en charge des responsabilités Paiement et Finance (comptabilité, facturation, gestion des indûs).
Les principales responsabilités de cette personne sont:
Adapter le code existant ou créer un nouveau code
Refactoriser le code existant lorsque cela est approprié
Créer et exécuter des tests unitaires et de composants du code
Gérer le déploiement des fonctionnalités supplémentaires/mises à jour
Créer une analyse technique
Réaliser une analyse d'impact
Collaborer avec l'architecte d'application pour définir l'architecture la plus appropriée pour le domaine
Proposer de manière proactive des idées d'amélioration pour la partie de l'application dont le candidat est responsable
Encadrer et soutenir les autres développeurs
Assurer la qualité de l'application développée
S'assurer que l'application développée/mise à jour est conforme aux normes de l'entreprise
Prendre des mesures proactives pour identifier et corriger la dette technique (laisser le code plus propre que celui trouvé)
Participer à la réorganisation architecturale de l'application monolithique utilisée
Votre profil
Vous avez au moins 10 ans d'expérience en tant que développeur de logiciels.
Le candidat possède une expérience pertinente dans les dimensions suivantes:
Connaissance avancée du langage de programmation Java (10 ans min)
Connaissance avancée de l'écosystème Java (10 ans min)
Connaissance active de SQL (10 ans min)
Connaissance avancée du système de contrôle de version tel que GIT (10 ans min)
Connaissance active de la stack J2E (ORM/Hibernate, EJB3, services web), JBoss est un atout (8 ans min)
Connaissance active de XML (8 ans min)
Connaissance active des services web SOAP et REST (8 ans min)
Connaissance active des techniques CI/CD utilisant Jenkins (5 ans)
Connaissance active des méthodologies Agile (8 ans)
Connaissance active SpringBoot (8 ans)
Capacité à comprendre et à mettre en oeuvre des algorithmes complexes basés sur l'analyse
Capacité à créer une conception technique basée sur l'analyse
Capacité à découper les applications nécessitant des modifications par incréments de code pouvant être livré dans un court laps de temps
Connaissance des processus et outils d'assurance qualité
Connaissance du langage de modélisation UML, BPMN
Connaissance et expérience de l'outil de facilitation Miro (3 ans)
Connaissance et expérience de l'outil Opengrok (3 ans)
Expérience dans la création d'applications interagissant avec scriptura (3 ans)
Expérience avec Vaadin pour l'interface utilisateur (3 ans)
Expérience récente dans la mise en oeuvre de systèmes de paiement/comptabilité complexes
Les qualifications suivantes sont intéressantes à avoir:
Connaissance de l'architecture hexagonale/Clean Architecture
Connaissance et expérience en DDD
Expérience dans la découpe d'une application monolithique en composants plus petits
Expérience en tant que chef d'équipe (technique) ou Scrum Master
Expérience récente dans le secteur public / les systèmes de sécurité sociale sont un grand atout
Le collaborateur recherché:
Est volontaire, persévérant
Est assertif
A un esprit d'équipe
Est curieux
Est motivé à apporter une valeur ajoutée à l'organisation
Est professionnel : capacité à accepter les choix de la communauté même s'ils diffèrent de ses préférences. Exprimer pourquoi les préférences sont différentes et fournir un retour d'information de manière constructive
Est ouvert au feedback
Est capable de travailler de manière autonome
Est prêt à prendre des initiatives
Est capable de définir des priorités
Est capable de communiquer de manière claire avec ses parties prenantes (ex : homologues utilisateurs, autres équipes de développement)
Est capable de coacher un développeur junior
Les candidats seront évalués sur
Maitrise des compétences techniques et outils applicables. Sont des Must
Languages techniques: Java, XML, REST et SOAP WebServices, SQL (advanced querrying), Vaadin
Modelisation : UML, BPMN
Tooling : Java Ecosystem, J2E stack, GIT, CI/CD dans Jenkins, IntelliJ, Opengrok, Miro, CI/CD techniques, Spring
Méthodes : Agile
Maitrise des compétences comportementales requises (importance particulière accordée à l'accompagnement de junior développer)
Connaissance et expérience dans un large système de paiement et comptabilité. La connaissance du système de l'attribution et paiement des pensions est un grand atout
Compétences informatiques:
Agile
CI/CD utilisant Jenkins
GIT
Implémentation d´applications interagissant avec Scriptura
J2EE
Java ecosystem
Développement Java
Miro
Conception et mise en oeuvre de systèmes de paiement et de comptabilité
SOAP/REST
Spring Boot
SQL
Team lead ou Scrum Master
UML/BPMN
Vaadin
XML
Compétences linguistiques : Vous avez une maîtrise parfaite du français, un bon niveau d´anglais et une connaissance passive du néerlandais.