Joignez-vous à CGI et contribuez à la modernisation d’une plateforme de calcul stratégique où performance, architecture distribuée et traitement à grande échelle sont au cœur des défis technologiques.
Votre défi
Dans le cadre d’un important projet d’amélioration de la performance et d’augmentation de la capacité de calcul de Limsel Prévisionnel, nous recherchons un(e) Développeur(se) Java sénior qui souhaite travailler sur des problématiques techniques complexes et à fort impact.
L’objectif : moderniser une architecture de calcul afin d’augmenter massivement sa capacité de traitement, réduire les temps d’exécution des simulations et permettre l’exécution parallèle à grande échelle.
Vous contribuerez directement à la conception d’une architecture distribuée haute performance et collaborerez avec des spécialistes Java, C++, architecture, infrastructure et exploitation.
Fonctions et responsabilités
Ce que vous accomplirez
Vous participerez à la conception et au développement des composantes permettant d’orchestrer, distribuer et exécuter des calculs et simulations à grande échelle.
Plus précisément, vous serez appelé(e) à :
- Concevoir et développer des composantes d’orchestration en Java 21 et Spring Boot;
- Développer des mécanismes d’ordonnancement et de distribution des tâches de calcul;
- Mettre en œuvre des solutions de traitement parallèle, concurrent et asynchrone à faible latence;
- Intégrer des mécanismes de communication distribuée avec ZeroMQ: ROUTER/DEALER, Pull Model, Proxy;
- Optimiser les performances applicatives et contribuer à l’évolutivité horizontale de la plateforme;
- Participer à la conception des mécanismes de :
- collecte des intrants de calcul;
- séquencement des étapes;
- ordonnancement des traitements;
- orchestration des exécutions;
- agrégation et extraction des résultats;
- gestion des demandes sur demande;
- Développer et maintenir les tests unitaires, d’intégration, de performance et de charge;
- Renforcer l’observabilité, le monitoring et la traçabilité distribuée de la solution;
- Collaborer étroitement avec les équipes C++, architecture, infrastructure et exploitation;
- Participer activement aux activités Agile dans un environnement SAFe.
Qualités requises pour réussir dans ce rôle Le profil que nous recherchons
Vous possédez 10 années ou plus d’expérience en développement Java, avec une solide expérience en conception de systèmes distribués et en développement d’applications où la performance, la concurrence et la capacité de traitement sont critiques.
Compétences essentielles
- Excellente maîtrise de Java 17/21 et Spring Boot;
- Expérience en conception de systèmes distribués et architectures orientées services;
- Maîtrise de la programmation asynchrone, réactive et non bloquante;
- Solides connaissances en programmation concurrente, multithreading et gestion de pools de threads;
- Expérience avec les patrons Master/Worker et les architectures parallèles;
- Expérience avec la messagerie distribuée et les middlewares — ZeroMQ constitue un atout important;
- Bonne connaissance des formats d’échange : JSON, XML, FlatBuffers ou équivalent;
- Maîtrise des principes SOLID, Clean Architecture et Design Patterns;
- Expérience de développement sous Linux / Red Hat;
- Expérience avec Redis et les concepts de cache distribué;
- Connaissance des pratiques DevOps et CI/CD;
- Expérience dans un environnement Agile – Scrum ou Protected.
Des atouts qui feront la différence Une expérience avec plusieurs des technologies ou domaines suivants sera particulièrement appréciée :
- Optimisation de performance et développement faible latence;
- Architecture haute disponibilité;
- Apache ZooKeeper;
- Environnements HPC – High Performance Computing ou traitement distribué à grande échelle.
- Docker, OpenShift, Helm, Argo CD;
- TeamCity, Ansible, Vault, CyberArk, SonarQube.
- Prometheus, Grafana;
- ELK Stack et journalisation centralisée;
- Red Hat AMQ ou autres plateformes de messagerie événementielle.
- Calcul scientifique;
- Optimisation mathématique;
- Programmation linéaire.
Ce qui vous permettra de réussir Au-delà de votre expertise technique, nous recherchons une personne qui se distingue par :
- Une forte capacitée d’analyse et de résolution de problèmes complexes;
- De l’autonomie et un réel sens de l’initiative;
- Une excellente capacité de collaboration et de communication;
- Une forte orientation vers les résultats, la qualité et la performance;
- La capacité à évoluer dans un environnement à haute criticité opérationnelle;
- Une grande rigueur technique et le souci de concevoir des solutions robustes et évolutives.
Pourquoi ce mandat? Parce qu’il ne s’agit pas simplement de développer des API ou des services Java.
Vous aurez l’occasion de travailler sur de véritables enjeux d’ingénierie de performance: parallélisation des traitements, orchestration distribuée, concurrence, faible latence, haute disponibilité et optimisation de moteurs de calcul.
Si vous aimez comprendre comment faire exécuter plus de calculs, plus rapidement et à grande échelle, ce mandat vous permettra d’avoir un impact concret sur l’architecture et la performance d’une plateforme stratégique.
Prêt(e) à relever le défi ? Joignez-vous à CGI et mettez votre expertise Java au service de systèmes distribués à haute performance.
CGI offre une estimation raisonnable de la fourchette salariale pour ce poste.
Le calcul de cette fourchette dépend de divers facteurs, notamment le niveau de compétence, le marché géographique, l’expérience, la formation ainsi que les licences et certifications professionnelles. Les décisions en matière de rémunération dépendent des particularités de chaque cas. Une estimation raisonnable de cette fourchette salariale se situe entre 70 000$ à 135 000$. Ce poste est vacant.
Ensemble, en tant que propriétaires, mettons notre savoir-faire à l’œuvre.
La vie chez CGI est ancrée dans l’actionnariat, le travail d’équipe, le respect et un sentiment d’appartenance. Chez nous, vous pourrez exploiter votre plein potentiel parce que…
Nous vous invitons à devenir propriétaire dès le jour 1 alors que nous travaillons ensemble à faire de notre rêve une réalité. C’est pourquoi nous nous désignons comme associés de CGI, plutôt que comme employés. Nous tirons profit des retombées de notre succès collectif et contribuons activement à l’orientation et à la stratégie de notre entreprise.
Votre travail crée de la valeur. Vous élaborerez des solutions novatrices et développerez des relations durables avec vos collègues et clients, tout en ayant accès à des capacités mondiales pour concrétiser vos idées, saisir de nouvelles opportunités, et bénéficier d’une expertise sectorielle et technologique de pointe.
Vous ferez évoluer votre carrière en vous joignant à une entreprise bâtie pour croître et durer. Vous serez soutenus par des leaders qui ont votre santé et bien-être à cœur et qui vous permettront de saisir des occasions afin de parfaire vos compétences et élargir les horizons.
Chez CGI, nous valorisons la richesse que la diversité apporte et nous nous engageons à favoriser un environnement de travail où chacun s’épanouit. Nous collaborons avec nos clients pour bâtir des communautés plus inclusives et permettre à tous les associés de CGI de réussir. En tant qu’employeur prônant l’égalité des chances, il est important pour nous que vous puissiez donner le meilleur de vous-même durant le processus de recrutement.
Si vous avez besoin d’un accommodement particulier, veuillez en informer votre recruteur.
Ce même engagement envers l’équité s’étend à notre utilisation des technologies. Afin de soutenir notre équipe de recrutement, des outils d’IA peuvent être utilisés pour aider à l’évaluation des candidatures, sans jamais remplacer le jugement humain. Toutes les décisions d’embauche demeurent entièrement entre les mains de nos professionnels du recrutement.
Pour en savoir plus sur l'accessibilité chez CGI, contactez-nous par courriel. Veuillez noter que ce courriel est strictement réservé aux demandes d'accessibilité et ne peut être utilisé pour vérifier l'état d’une candidature.
Joignez-vous à nous, l’une des plus importantes entreprises de conseil en technologie de l’information (TI) et en management au monde.
📌 Développeurs Java Sénior (Montreal)
🏢 CGI
📍 Montreal