Overview
Nous recherchons un Développeur Back-end (Java) Sénior pour rejoindre notre équipe de conseillers du bureau de Québec. Cette position est en mode télétravail mais des déplacements ponctuels à Québec pourraient être demandés.
La Direction recherche un développeur back-end Java sénior pour rejoindre un secteur composé d'équipes agiles responsables du cycle de vie complet de solutions TI supportant les processus d'affaires. La personne sélectionnée se joindra à une équipe agile responsable de l'évolution et de l'entretien des solutions TI supportant les processus de recrutement et d'admission d'étudiants. Pour la prochaine année, des travaux importants d'évolution sont nécessaires aux solutions TI des demandes d'admission en ligne (AEL) et de l'outil de gestion des admissions (OGA). Ces solutions TI utilisent principalement les technologies et les outils suivants pour le back-end :
Technologies back-end et front-end
- Java (versions 8 à 17)
- Spring / SpringBoot
- Hibernate
- API REST
- Oracle SQL et PL/SQL
- Maven (multi-module)
- Git
- IntelliJ (environnement de développement intégré)
- Tests unitaires JUnit
- Tests d'intégration automatisés
- CI/CD Jenkins
- Docker/Kubernetes (OpenShift)
- Services infonuagiques Azure
À titre d'information, les technologies front-end pour ces solutions TI sont les suivantes :
- Vue 3, Javascript et Typescript
- Yarn
- Storybook / Chromatic
Expérience et qualifications requises
- Plus de 8 ans d'expérience dans le développement d'application complexe en Java (versions 8 à 17)
- Plus de 5 ans d'expérience dans l'utilisation des environnements IntelliJ, Git (GitHub / Bitbucket), Maven (multi-module)
- Plus de 5 ans d'expérience dans les concepts et ressources requis pour le déploiement dans OpenShift 4.0
- Plus de 5 ans d'expérience dans le développement de pipelines d'intégration et de déploiement continu dans Jenkins à l'aide de Jenkinsfiles
- Plus de 5 ans d'expérience dans les cadres de développement Spring et Hibernate ainsi que le développement d'APIs Web REST
- Plus de 5 ans d'expérience dans la méthodologie de développement Agile
- Expérience avancée avec les outils de collaboration Jira, Confluence (atout)
- Expérience avec le gestionnaire de dépôts de packages Artifactory (atout)
- Expérience avec l engine d'indexation ElasticSearch (atout)
- Expérience avec le service cloud Sysdig pour la surveillance de conteneurs (atout)
Exigences spécifiques
- Avoir un minimum de CINQ (5) ans d'expérience comme développeur Back-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 tels 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
- Expérience avec d'autres outils de bases de données tels que : Elasticsearch; 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)
1188 avenue Union, bureau 114, Montréal (Québec) H3B 0E5, Canada