Développement des solutions robustes et évolutifs en utilisant le langage de programmation Java et les technologies associées
Responsable de concevoir, développer, déployer et maintenir des applications de haute qualité, en mettant en œuvre les meilleures pratiques
Analyse des besoins :
Collaborer avec les équipes métier et les analystes pour comprendre les exigences fonctionnelles et non fonctionnelles des projets
Participer activement à la définition des spécifications techniques
Conception logiciel :
Concevoir des architectures logicielles robustes et évolutives en utilisant des modèles de conception (Design Patterns) et des principes SOLID
Définir les composants, les modules et les interfaces pour assurer une extensibilité et une maintenance optimales
Développement et codage :
Écrire un code propre, performant et bien structuré en utilisant les meilleures pratiques de développement Java
Exploiter les frameworks, les bibliothèques et les outils appropriés pour accélérer le développement et améliorer l'efficacité
Tests et débogage :
Concevoir et implémenter des tests unitaires et d'intégration pour garantir la qualité du code
Utiliser des outils de débogage et de profilage pour identifier et résoudre les problèmes de manière efficace
Optimisation des performances :
Analyser et optimiser les performances des applications Java, en identifiant les goulots d'étranglement et en mettant en œuvre des solutions pour améliorer les temps de réponse et l'utilisation des ressources
Collaboration et mentorat :
Travailler en étroite collaboration avec les membres de l'équipe de développement, partager les meilleures pratiques et les connaissances techniques
Fournir une expertise technique et agir en tant que référent pour les développeurs plus juniors
Veille technologique :
Rester à jour sur les dernières tendances et évolutions dans le domaine du développement Java
Évaluer les nouvelles technologies, les frameworks et les outils, et recommander leur utilisation lorsque cela est pertinent pour les projets en cours
Profil
Excellente maîtrise de Java et des frameworks Java couramment utilisés tels que Spring, Hibernate, JavaFX
Solide compréhension des architectures logicielles, des modèles de conception et des principes SOLID
Bonne connaissance des bases de données relationnelles, du langage SQL et des frameworks d'accès aux données comme JPA ou JDBC
Expérience pratique du développement d'applications web en utilisant des technologies telles que Servlets, JSP, HTML, CSS, JavaScript, ainsi que des frameworks web populaires tels que Spring MVC ou JSF
Compétences avancées en tests unitaires, intégration continue et débogage
Expérience dans la conception et la mise en œuvre de services web, d'API RESTful, de WebSockets, et une compréhension des protocoles de communication en temps réel.