Vous êtes spécialisé dans le domaine de l’informatique et voulez en faire votre travail ? Plusieurs entreprises recrutent actuellement des développeurs Java, alors si vous voulez en faire votre métier, vous devez avoir les compétences requises pour le poste. Cet article vous aidera à vous préparer aux missions qui vous attendent.
Étant spécialisé dans l’informatique, vous n’êtes sûrement plus étranger avec le langage de programmation puisqu’il est l’outil principal de ce poste. D’ailleurs, cette technique vous est indispensable pour la création et le développement des applications client/serveur.
L’analyse du cahier de charges élaboré par le chef de projet est la première mission d’un architecte Java JEE. Quand ce dernier comprend les consignes, le développeur Java commence à développer l’application au fur et à mesure des exigences du client. La rédaction de la documentation technique, les phases de test, la mise à jour et la maintenance du logiciel font également partie de ses contributions.
Le développeur utilise deux outils différents afin de mener à bien ses missions. Le premier est dénommé Java flight recorder. Ce dernier permet de collecter des informations sur les évènements dans un appareil virtuel Java pendant l’exécution de l’application. Le deuxième s’appelle Java mission control. Celui-ci permet de neutraliser les problèmes et d’optimiser les programmes réalisés sur la machine virtuelle.
Comme les missions sont basées sur la programmation, la maîtrise parfaite du langage utilisé tel que la Java, l’assembleur, le C et le C++ est primordiale. Cependant, la connaissance des fonctionnements des bases de données et la connaissance des autres langages sont aussi fortement recommandées dans ce domaine. D’ailleurs, des compétences en Front-End ou développement web frontal qui rassemble les productions JavaScript, HTML et CSS d’un site internet sont très appréciés des recruteurs.
D’autres parts, la maîtrise des plateformes ou de développement comme Java Entreprise Edition est un atout majeur du consultant confirmé afin de finaliser la partie web des applications.
Au niveau de formations, un bac+3 en parcours d’ingénierie informatique est le minimum requis pour ce poste. Dans ce cas, si vous avez un diplôme supérieur à celui-ci, c’est pour vous un atout majeur par rapport aux autres candidats. Quant aux qualités, la curiosité est un caractère exigé dans ce métier, car le monde de la technologie évolue de jour en jour tout comme les mises à jour.
Un développeur Java est beaucoup plus rémunéré qu’un développeur web. Ce n’est pas étonnant compte tenu des compétences exigées dans le premier. Il en est de même pour le développeur PHP, les compétences en Java sont très demandées alors que sur le marché de l’emploi, elles sont encore rares. Pour un débutant, un développeur Java peut toucher dans les 35 000 € contre 50 à 65 000 € par an pour les experts.
Bref, pour devenir consultant confirmé en développement Java, il faut avoir de l’expérience et bien évidemment les compétences requises. Cela s’acquiert par de longues études et applications dans le domaine.
Introduction sur le contexte du projet :
L’activité du projet Mercure consiste à récupérer et stocker via l’application « MceMiningCore » des données
fondamentales ou de marché (data & web scraping) chez différents fournisseurs (150 environ), les référencer
et les mettre à disposition de différentes Business Unit du groupe (en alimentant environ 25 applications
clientes). Cette application dispose d’une interface de monitoring « Mynotor » qui permet de gérer, de
visualiser l’exécution des programmes et de relancer à la demande nos automates de data scraping. Une fois
stocker, vient ensuite le processing via des algorithmes data quality qui vont vérifier la convergence et l'intégrité
des données, nous exposons enfin ces données via une API (COSMOS) et un site web (Mercure Site) aux
utilisateurs.
Tâche 1
Data et Web Scraping : Conception et développement de nouvelles fonctionnalités (Java Spring Boot)
Développement des évolutions majeures (migration sur le cloud et la sortie d’oracle) : cloudification des projets tout en
ôtant leurs dépendances à oracle
Mise en place d'architecture de déploiement (Docker, Kubernetes, Helm) et de la chaîne CI/CD (Azure Devops)
Tâche 2
Lead sur la conception et les développements en lien avec la nouvelle architecture basée sur un cluster KAFKA
Conception et développement des processus actuels (oracle) d’intégration et de qualification des données en micro
services Spring Boot
Assurer le support technique et fonctionnel : Adaptation des automates, Gestion des incidents, Assistance aux
utilisateurs et investigations sur les données
Tâche 3
Application de monitoring : Conception et développement de nouvelles fonctionnalités (Java Spring Boot)
Participation au chiffrage des projets Oracle Exit et Migration sur le cloud
Sécurité : Etude et suppression des vulnérabilités sur les applications de récupération de données et de monitoring
Contexte projet : Analyse, développement et conception des différents flux interfaçant l’application de gestion de sinistre aux
autres systèmes applicatifs AXA.
Responsabilités :
Développer et tester les solutions Guidewire. Appliquer les meilleures pratiques de programmation orientée objet et les
modèles de conception standard
Prioriser le backlog pour les sprints à venir en collaboration avec les Product Owners.
Faciliter les échanges avec les parties prenantes (utilisateurs et devs) pour assurer une livraison axée sur la valeur et
une amélioration continue de l'équipe (via la mise en œuvre des commentaires/suggestions et des Rétrospectives).
Aider l'équipe à éliminer les obstacles et à escalader les obstacles qui ne relèvent pas de la compétence de l'équipe et
ainsi s'assurer que l'équipe est sur la bonne voie tout au long du sprint pour atteindre l'objectif
Signaler l'avancement du sprint en temps opportun via des graphiques burn down / burn up et d'autres méthodes de
rapport (selon les besoins du projet) au PO et aux parties prenantes impliquées
Coordonner avec l'équipe offshore et les aider à clarifier les doutes et autres problèmes.
Décider de la vélocité de l'équipe et définir les objectifs de sprint en conséquence pour s'assurer que l'équipe n'est ni
surchargée ni sous-chargée
Contexte projet : Support applicatif sur les progiciels lies aux grilles de calcul et cache de données
Responsabilités :
Maintenance corrective et évolutive de la stack ELK
Analyse et mise en place de XL Deploy pour une meilleure qualité du delevery (déploiement)
Suivre les incidents d'exploitation, en analyser les causes et prendre les mesures correctives nécessaires
Assurer un support technique aux utilisateurs
Contexte projet : Développement d’un plugin de génération de code (Telosys ********/) et de tests unitaires en
diverses technologies
Responsabilités :
Génération de l’ossature d’une solution webservice Rest avec Flask
Génération d’un projet Full stack (Spring MVC en front, Java en Back et MongoDB en BDD).
Génération de projets backends : Java & JPA, Java & Redis, Java & Spring data.
Devops : Intégration et déploiement continue du portail QI du RSI (Maven 2, Nexus, Jenkins 2, Ansible).