Activités
- Collaborer avec une équipe d’experts comprenant des analystes d'affaires, analystes fonctionnels, designers UX, graphistes, développeurs Front-end, intégrateurs, analystes en assurance qualité (QA) et administrateurs de données pour développer des services optimisés et performants.
- Participer aux activités agiles requises pour la planification et le suivi des travaux à réaliser.
- Contribuer à l’élaboration, la conception, le développement, l’implantation et la maintenance de fonctionnalités nouvelles ou existantes en collaboration avec les membres de l’équipe.
- Produire du code propre, compréhensible et maintenable respectant les bonnes pratiques en matière de développement.
- Réaliser des tests unitaires et d’intégration automatisés.
- S’assurer de respecter et d’appliquer l’ensemble des contrôles de qualité.
- Comprendre et adhérer aux principes d’intégration et de déploiement en continu.
- S’impliquer et participer à l’élaboration et la mise en œuvre de la culture d’amélioration continue.
- Partager ses connaissances et contribuer à l’esprit d’entraide.
Exigences
Minimum de CINQ (5) ans d'expérience en tant que développeur Back-end (Java)
Expérience avec tous les concepts du langage JAVA, y compris la programmation concurrenteMaîtrise des principes SOLIDProposition et mise en application des design patterns OOStructuration du code selon les principes et besoins de l'architecture organiqueDéveloppement d'une application Web connectée à une base de données relationnelleTravail avec les lambda JAVA 8Implantation de fonctionnalités utilisant des composants techniques complexes (ex. files JMS, microservices, tâches asynchrones)Identification de problèmes et bogues de concurrence lors des revues de codeAnalyse et évaluation de la qualité des livrables d'autres développeursProposition de modèles physiques optimisés pour bases de données relationnellesAnalyse de performance de requêtes SQL et proposition d'améliorationsExpérience avec des outils de bases de données, incluant :Outils d'indexation et de recherche de données (ex. Elasticsearch)
Agents de messages (ex. Kafka)Connaissance approfondie des fonctionnalités d'un système de gestion des versionsGestion, encadrement et assurance de la qualité des processus de livraison (release) au sein de l'équipe du client