Ingénieur en logiciels- Java FX / Intermediate Software Developer- Java FX
St. Hubert
6767 Route de l'Aeroport
CSA building room 2NS-200
Longueuil, QC J3Y8Y9, CAN
St. Hubert
6767 Route de l'Aeroport
CSA building room 2NS-200
Longueuil, QC J3Y8Y9, CAN
MDA Geospatial Services renforce l’équipe de développement de logiciels à l’appui des opérations des satellites CHORUS-C et est à la recherche d’un ingénieur en logiciel expérimenté et polyvalent pour se joindre à son équipe à Saint-Hubert, au Québec.
L’ingénieur en logiciels travaillera sous la supervision de l’ingénieur en logiciels principal et du responsable des composants spécifiques afin de prendre part au développement, à l’intégration, aux essais et à la maintenance du sous-système de commande CHORUS-C, en utilisant les principes établis de l’ingénieur en logiciels et les techniques de gestion de la configuration des logiciels. L’ingénieur en logiciels interagira également avec l’équipe des opérations pour aider à trouver et à prévenir les problèmes opérationnels ainsi que pour maintenir/améliorer l’environnement de développement des systèmes sur lesquels il travaillera.
L’ingénieur en logiciels pourra également proposer son soutien à Radarsat-2 (R2) ou à la mission de la constellation Radarsat (RCM), au besoin.
R2 est un satellite commercial canadien qui fournit des images SAR à haute résolution à des clients du monde entier. RCM est une constellation de trois satellites qui fournit des images SAR à haute résolution. CHORUS-C est la prochaine génération de mission commerciale d’observation de la Terre (EO) de MDA.
Ce poste est situé dans l’un des centres de commande de MDA, à Saint-Hubert ou à Saint‑Bruno, au Québec.
Principales responsabilités :
- Effectuer du génie logiciel pour élaborer, intégrer, mettre à l’essai et maintenir les applications du système terrestre pour CHORUS-C.
- Travailler avec l’équipe et le propriétaire du produit à l’élaboration d’une feuille de route pour le produit.
- Identifier les domaines d’amélioration des programmes actuels et élaborer par la suite ces modifications (par exemple, améliorer les performances, l’automatisation...).
- Interagir avec les équipes opérationnelles pour soutenir l’intégration et l’essai des applications dans l’environnement opérationnel et de développement.
- Gestion des versions du cycle de vie de l’API
- Travailler en étroite collaboration avec nos équipes d’exploitation et de production pour fournir un soutien de niveau 3 en temps réel.
- Documenter les différentes phases de développement du logiciel (par exemple, plan d’essai et de maintenance).
- Maintenir, mettre à jour et améliorer l’environnement de développement ainsi que tous les systèmes nécessaires (base de données, transferts de fichiers, etc.).
- Gérer et documenter les bogues et les problèmes
Responsabilités secondaires :
- Soutien d’autres applications du système terrestre
- Développement d’outils pour soutenir la maintenance et l’automatisation du système
- Soutien à la recherche et à la résolution des problèmes liés à la base de données et au système
- Autres tâches en fonction des besoins, des priorités et des compétences.
Qualifications minimales requises :
- Diplôme d’études supérieures (B.Sc., M.Sc. ou équivalent) en informatique, en génie informatique ou dans une discipline connexe. Un diplôme en informatique et de l’expérience seront également pris en considération.
- Minimum de trois ans d’expérience en développement de logiciels
- Connaissance approfondie de Java à l’aide de maven (y compris Spring framework et Hibernate).
- Maîtrise de la conception et du développement d’une plateforme REST API, conversion de services web de SOAP à REST ou vice-versa.
- Expérience de SQL (SQL Server, PostgreSQL),
- Expérience des processus Agile
- Connaissance des systèmes d’exploitation Windows et Linux
- Capacité à résoudre des problèmes et à travailler dans un environnement opérationnel pouvant présenter d’importantes contraintes de temps, de procédure et de sécurité.
Qualifications souhaitées
- Une expérience avec XML, SVN, Git, Jira et Jenkins serait un atout.
- La connaissance du développement C++, des normes et des spécifications est un atout.
- Expérience du système de messagerie Kafka
- Expérience avec un système de gestion de flux de travail
- Expérience du déploiement et de l’orchestration de conteneurs (Docker, Kubernetes, etc.)
- Expérience dans la création, la mise à jour et la gestion d’images Docker
- Expérience dans la création et la mise à jour de pipelines CI/CD
- Expérience dans la création de documentation d’API REST à l’aide de Swagger et YAML ou d’outils similaires souhaitable.
- Expérience avec AWS ou d’autres infrastructures infonuagiques
- Connaissance de MongoDB
- Bon esprit d’équipe et excellentes aptitudes à la communication écrite et orale.
- Souci du détail et volonté d’approfondir les données.
- Esprit d’initiative, suivi et excellentes capacités d’organisation.
- Une connaissance préalable des satellites (par exemple, système au sol, fonctionnement, orbite...) est un atout.
Commentaires/Considérations particulières :
- Les candidats retenus doivent obtenir et détenir une autorisation de sécurité au niveau de la cote de fiabilité
- Le reclassement au niveau secret et l’évaluation de la sécurité pour le programme des marchandises contrôlées peuvent être nécessaires en fonction du projet additionnel sur lequel le candidat travaille.
- Bien qu’il soit possible de travailler deux jours en télétravail, il est prévu que le candidat travaille sur place.