Development-engineering
Développeur Back-end (Java) sénior
Sénior
Télétravail
CBZ Technologies
100 000 $ - 140 000 $ (Permanent)
90 $ - 120 $ (Pigiste)
Architecturez et développez des systèmes back-end complexes et évolutifs. Apportez une maîtrise du Java pour résoudre des défis techniques stimulants.
Responsabilités
- Utiliser tous les concepts du langage JAVA incluant la programmation concurrente.
- Proposer et faire appliquer les design patterns OO.
- Structurer le code en fonction des principes et besoins de l’architecture organique.
- Développer une application Web connectée à une BD relationnelle.
- Implanter une fonctionnalité en utilisant des composants techniques complexes tel que files JMS, micro services, tâches asynchrones, etc.
- Identifier des problèmes et bogues éventuels de concurrence dans les revues de code.
- Analyser et évaluer la qualité des livrables des autres développeurs.
- Proposer un modèle physique optimisé d'une BD relationnelle.
- Analyser la performance de requêtes SQL et proposer des améliorations.
- Utiliser d’autres outils de bases de données tels que des outils d’indexation et de recherche de données (ex. : Elasticsearch) et des agents de messages (ex. Kafka).
- Gérer, encadrer et assurer la qualité d’un processus de livraison (release).
Exigences
- Avoir un minimum de CINQ (5) ans d’expérience comme développeur Back-end end (Java).
- Avoir l’expérience d’utilisation de tous les concepts du langage JAVA incluant la programmation concurrente.
- Maîtriser les principes SOLID.
- Avoir proposé et fait appliquer les design patterns OO.
- Avoir structuré le code en fonction des principes et besoins de l’architecture organique.
- Avoir développé une application Web connectée à une BD relationnelle.
- Avoir travaillé avec les lambda JAVA 8.
- Avoir l’expérience d’implanter une fonctionnalité en utilisant des composants techniques complexes tel que files JMS, micro services, tâches asynchrones, etc.
- Avoir déjà eu à identifier des problèmes et bogues éventuels de concurrence dans les revues de code.
- Avoir l’expérience d’analyser et d’évaluer la qualité des livrables des autres développeurs.
- Avoir l’expérience de proposer un modèle physique optimisé d'une BD relationnelle.
- Avoir l’expérience d'analyser la performance de requêtes SQL et de proposer des améliorations.
- Avoir de l’expérience avec d’autres outils de bases de données tels que : a. Des outils d’indexation et de recherche de données, par exemple, Elasticsearch; b. Des agents de messages, par exemple Kafka.
- Avoir de l’expérience avec toutes les fonctionnalités d’un système de gestion des versions.
- Avoir l’expérience de gérer, d’encadrer et d’assurer la qualité d’un processus de livraison (release).