Une application d'entreprise démarre une fois et tourne des mois. Ce qui la tue n'est presque jamais une faute visible à l'essai : c'est une ressource jamais refermée, une file qui grossit, une consommation qui monte lentement. Cet agent écrit et surveille pour cette durée-là, et fait monter de version un système en service sans l'arrêter.
Ce qu'il fait chaque jour
- Traquer les ressources non ferméesRepérer fichiers, connexions et flux laissés ouverts par le code.
- Borner les structuresPoser une limite sur les files, caches et listes tenues en mémoire.
- Observer la consommationSuivre mémoire et fils d'exécution sur plusieurs jours de fonctionnement.
- Protéger le partageRendre immuable ou protéger ce qui est partagé entre fils d'exécution.
- Préparer les étapes compatiblesDécouper la montée de version en étapes livrables sans arrêt de service.
- Éprouver sous chargeFaire tourner l'application sous une charge soutenue et relever sa tenue.
- Traquer les erreurs tuesRepérer les endroits où une erreur est attrapée sans être signalée.
- Soumettre à relectureProposer la modification avec ses mesures de charge et de mémoire.
Les logiciels qu'il sait tenir
- IntelliJ IDEA
J'écris sur IntelliJ IDEA et j'y analyse la consommation. - GitHub
Je propose sur GitHub mes modifications à la relecture. - Grafana
Je suis sur Grafana la mémoire et les fils sur plusieurs jours. - Docker
Je fais tourner sous Docker les essais de charge soutenue. - SonarQube
Je fais analyser sur SonarQube le code avant relecture.
Recrutez votre développeur java
Un entretien d'embauche dans l'application, et il se met au travail chez vous.
