Lieu: Bruxelles, sur site.
Date limite pour postuler: 03/02/2025
Contrat: Mission se terminant le 31/01/2026
Context:
Dans le cadre d'un projet stratégique, nous recherchons un(e) Senior Java Developer pour une mission de longue durée. Le/la candidat(e) idéal(e) sera titulaire d'un diplôme d'Ingénieur en informatique, bilingue anglais/français avec une bonne connaissance du néerlandais. Vous avez une expérience éprouvée de plus de 10 ans dans le développement Java, dont 2 ans minimum en tant que Tech Lead Java.
Vous avez démontré des compétences solides en tant que mentor/coach, et vous avez travaillé en méthode Agile (Scrum). Vous avez participé à l'analyse des besoins, à la conception et au développement de services backend Java, ainsi qu’à la rédaction des tests unitaires et d’intégration. Vous avez également assuré la rédaction et validation des documents techniques associés.
Les compétences et technologies clés que vous maîtrisez incluent : API REST, Docker, Keycloak, SpringBoot, Microservices, JSON, GitHub, Bitbucket, Grafana, SonarQube, Jira. Vous avez l'habitude de collaborer étroitement avec les stakeholders du projet, y compris les équipes Design.
Key responsabilities:
* Analyse des besoins : Recueillir et analyser les besoins des parties prenantes pour proposer des solutions adaptées.
* Conception et développement : Concevoir, développer et maintenir des services backend Java, en intégrant des API REST et des microservices.
* Coaching et mentorat : Fournir un soutien technique aux membres juniors de l'équipe et aider à développer leurs compétences.
* Collaboration avec les équipes Design et Produit : Travailler de manière étroite avec les équipes Design et Produit pour assurer la bonne implémentation des fonctionnalités.
* Rédaction des tests : Rédiger des tests unitaires et d'intégration pour garantir la qualité du code.
* Assurance qualité et documentation : Rédiger et valider les documents techniques liés à la conception, au développement et à la mise en œuvre des solutions.
* Suivi des bonnes pratiques : Travailler en conformité avec les méthodologies Agile/Scrum et participer aux réunions de sprint.
* Gestion des déploiements : Participer au déploiement des applications sur des environnements de production en utilisant des outils comme Docker, Kubernetes, Openshift.
* Suivi des performances : Utiliser des outils comme Grafana et SonarQube pour surveiller et analyser les performances des applications.
* Amélioration continue : Identifier les opportunités pour améliorer les processus, la qualité du code et les performances du système.
Requirements
1. Java - Expert
* Maîtrise des concepts avancés de Java : gestion de mémoire, optimisation du code, gestion des exceptions, etc.
* Expérience avec les API Java (JAX-RS, JAX-WS, etc.) et les Frameworks comme Spring et Spring Boot.
* Expertise dans la gestion des multithreads, concurrence et desperformances Java.
* Expérience dans la gestion des services RESTful et la mise en œuvre des meilleures pratiques de développement pour les applications Java.
2. API REST - Expert
* Expertise dans la conception, le développement et la gestion des API REST.
* Connaissance approfondie des normes de conception telles que HTTP, JSON, OAuth2 et JWT.
* Mise en œuvre de solutions API scalables et sécurisées pour une communication fluide entre les micro services.
* Expérience dans l’utilisation de Postman, Swagger, ou OpenAPI pour tester et documenter les API.
3. Docker - Expert
* Expérience avec la conteneurisation des applications en utilisant Docker. Connaissance approfondie de la création d’images Docker, de la gestion des conteneurs et de l’optimisation des performances des conteneurs.
* Capacité à configurer des environnements de développement et de production en utilisant Docker Compose et Docker Swarm.
4. Keycloak - Expert
* Expertise dans l'intégration de Keycloak pour la gestion de l’authentification et de l’autorisation des utilisateurs.
* Mise en place de Single Sign-On (SSO) et de Federated Identity avec Keycloak.
* Configuration des politiques de sécurité et gestion des rôles et permissions pour les applications sécurisées.
5. Spring Boot - Expert
* Maîtrise de Spring Boot pour la création de microservices rapides et légers.
* Utilisation de Spring Boot pour l'intégration avec des bases de données, des systèmes de messaging (Kafka, RabbitMQ), et la gestion des transactions.
* Mise en œuvre de profiles Spring, actuators, et gestion de la configurationdes applications.
6. Microservices - Expert
* Expertise dans l'architecture des microservices avec une forte attention à la scalabilité, la maintenabilité et la résilience.
* Conception et gestion des API REST dans un environnement de microservices.
* Mise en œuvre de stratégies de communication interservices (synchrones et asynchrones)
* Utilisation d'outils comme Spring Cloud, Docker, Kubernetes pour orchestrer les microservices dans un environnement distribué.
7. JSON - Expert
* Expertise dans la manipulation et la gestion des données JSON dans les applications Java.
* Connaissance approfondie de l’utilisation des bibliothèques comme Jacksonet Gson pour la sérialisation et la désérialisation de données.
8. GitHub & Bitbucket - Expert
* Utilisation de GitHub et Bitbucket pour la gestion de version du code source, la collaboration avec les équipes et la gestion des branches.
* Maîtrise des branches Git, pull requests, merge requests, et des bonnes pratiques de gestion des versions.
* Connaissance des outils d'intégration continue (CI) et des pipelines pour automatiser les tests et le déploiement via GitHub Actions, Bitbucket Pipelines, ou Jenkins.
9. Grafana - Expert
* Expertise dans l’utilisation de Grafana pour la surveillance des applications, des micro services, et des systèmes backend.
* Mise en place des tableaux de bord et des alertes pour suivre les performances et la santé des services.
* Analyse des métriques de performance et optimisation de l'infrastructure.
10. SonarQube - Expert
* Utilisation de SonarQube pour effectuer des analyses de code statique et identifier les problèmes de qualité du code.
* Mise en place des règles et des standards de qualité du code dans le cadre d'un processus d'intégration continue.
* Expérience dans la configuration de plugins SonarQube pour différents langages et l'intégration avec des outils de build comme Maven.
11. Jira - Expert
* Utilisation avancée de Jira pour la gestion de projet Agile, le suivi des tickets et des sprints.
* Suivi de l’avancement des tâches et des user stories, gestion des backlogs et priorisation des features et des bugs.
12. Coaching & Mentorat - Expert
* Expérience dans le rôle de Tech Lead ou Lead Developer, avec des responsabilités de mentorat et de coaching auprès des développeurs moins expérimentés.
* Capacité à guider une équipe technique, à offrir des retours constructifs et à encourager une culture de code review et de partage de connaissances.
* Développement des compétences techniques de l’équipe en matière de bonnes pratiques de développement et de quality assurance.
13. Angular - Expert
* Expertise dans l’utilisation d'Angular pour le développement d'interfaces utilisateur modernes, dynamiques et réactives.
* Intégration des services backend avec Angular pour une communication fluide et sécurisée entre le frontend et le backend.
* Optimisation des performances d'applications frontend complexes en utilisant les meilleures pratiques Angular.
Maîtrise active du néerlandais, français et de l’anglais.