Intermediate C++/JAVA Software Development Engineer/Ingénieur C++/JAVA en logiciels

Longueuil, Canada

Full Time

a minute ago

Job description

Building the space between proven and possible, MDA Space (TSX:MDA) is a trusted mission partner to the global space industry. A robotics, satellite systems and geointelligence pioneer with a 55-year+ story of world firsts and more than 450 missions, MDA Space is a global leader in communications satellites, Earth and space observation, and space exploration and infrastructure. The MDA Space team of more than 3,000 space experts in Canada, the US and the UK has the knowledge and know-how to turn an audacious customer vision into an achievable mission – bringing to bear a one-of-a-kind mix of experience, engineering excellence and wide-eyed wonder that’s been in our DNA since day one. For those who dream big and push boundaries on the ground and in the stars to change the world for the better, we’ll take you there.

The Role:

MDA Geospatial Services is strengthening the software development team in support of Radarsat-2 (R2), Radarsat Constellation Mission (RCM) and CHORUS-C satellites operations and is seeking an experienced and versatile Software Engineer to join our team in St. Hubert, QC.

R2 is a Canadian commercial satellite, owned and operated by MDA , which provides high-resolution SAR imagery to customers around the world. RCM is a constellation of three satellites, which provides high-resolution SAR imagery. CHORUS-C is the next MDA generation commercial Earth observation (EO) mission.

The Int. C++/JAVA Software Engineer will work under the supervision of the Lead Software Engineer and specific component lead to participate in the development, integration, testing and maintenance of existing RCM and R2 subsystem as well as the CHORUS-C Image Quality Subsystem, using established software engineer principles and software configuration management techniques. The Software Engineer will also be taking part in the support of operations to help find and resolve real time operational issues as well as maintain/improve the development environment for the systems he will be working on.

This position is located at the MDA Control Centre, Canadian Space Agency Headquarters, in St Hubert, PQ.

Primary responsibilities:

  • Perform software engineering to develop, integrate, test and maintain ground system applications for R2, RCM and/or CHORUS-C
  • Work with the Team and Product Owner in shaping a product roadmap
  • Identifying areas for improvement in existing programs and subsequently developing these modifications (e.g., improving performance, automation ...)
  • API lifecycle release management
  • Interact with operation and development teams to support application integration, validation and testing within operational and development environment
  • Work intimately with our operations and production teams to provide Level 3 support in real time.
  • Document the various software development phases (e.g., test and maintenance plan).
  • Maintain, update and improve the development environment as well as all the needed systems (database, file transfers etc …) and corresponding procedures and documentation
  • Support investigation and fix of database and system issue
  • Manage and document bugs and issues using SCRUM methodology

Secondary responsibilities:

  • Support of other different Ground System applications
  • Tools development to support system maintenance and automation
  • Other duties as needed, priorities, and skills allow.

Minimum Qualifications Required:

  • Completed post-secondary education (B.Sc., M.Sc. or equivalent) in Computer Science, Computer Engineering or related discipline. IT Diploma and experiences will also be considered.
  • Minimum 2 years related experience in software development
  • In depth knowledge of Java using maven (including Spring framework and Hibernate)
  • In depth knowledge of C++ development, standards and specifications
  • Experience with python for object oriented development
  • Proficient with design and development of REST API platform, converting web services from SOAP to REST or vice-versa.
  • Experience deploying to and orchestrating containers (Docker, Kubernetes, etc.)
  • Experience building, updating and managing Docker Images
  • Experience of SQL (SQL server, PostgreSQL),
  • Knowledge of MongoDB
  • Experience in scripting (perl, bash, javascript, powershell).
  • Experience with Agile processes (SCRUM)
  • Knowledge of Windows and Linux OS
  • Able to solve problems and ability to work in an operational environment that might have important time, procedural and security constraints.

Preferred Qualifications

  • Experience with C#
  • Experience with Eclipse IDE, Visual Studio, IntelliJ would be an asset
  • Experience with XML, SVN, Git, Jira and Jenkins would be an asset.
  • Experience with JavaFX
  • Experience with Kafka messaging system
  • Experience with workflow management system
  • Experience building and updating CI/CD pipelines
  • Experience in creating REST API documentation using Swagger and YAML or similar tools desirable
  • Experience with AWS or other cloud infrastructure
  • Good team player with excellent written and verbal communication skills.
  • Attention to detail and desire to probe further into data
  • Initiative, follow-through and excellent organizational skills.
  • prior satellite related knowledge (e.g., ground system, operation, orbit ...) is an asset

Comments/Special Considerations:

  • Successful candidates must obtain and hold security clearance at the secret status level, and pass security assessment for the Controlled Goods Program (CGP)

Benefits Statement:

MDA offers competitive compensation and benefits to its employees at all of its locations. As a member of the MDA team, you and your eligible dependents can enroll in a benefits plan that provides a comprehensive level of protection through competitive health care, including: health care plans supplemental and flexible drug plans, dental and vision benefits, disability income protection, life insurance, group retirement savings plans and an employee assistance program and to their family.

Equal Opportunity Statement:

MDA is an equal opportunity employer with a strong focus on diversity and inclusion. We are committed to treating all employees and candidates with respect and dignity. If you require assistance or a reasonable accommodation due to a disability during the application or recruitment process, please let us know.

 

-------------------------------------------------------

MDA Space (TSX : MDA) est un partenaire de mission de confiance de l’industrie spatiale mondiale qui crée l’espace entre ce qui est prouvé et ce qui est possible. À titre de pionnier de la robotique, des systèmes satellitaires et du renseignement géospatial, avec une histoire de 55 ans de premières mondiales et de plus de 450 missions, MDA Space est un chef de file mondial dans les domaines des satellites de communication, de l’observation de la Terre et de l’espace, ainsi que de l’infrastructure et l’exploration spatiale. L’équipe de MDA Space, qui compte plus de 3 000 experts de l’espace au Canada, aux États-Unis et au Royaume-Uni, possède les connaissances et le savoir-faire nécessaires pour transformer la vision audacieuse du client en une mission réalisable, grâce à une combinaison unique d’expérience, d’excellence technique et d’émerveillement qui fait partie de notre ADN depuis le premier jour. Pour ceux qui rêvent grand et repoussent les limites sur terre et dans les étoiles afin de changer le monde pour le meilleur, nous vous y emmènerons.

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 logiciels expérimenté et polyvalent pour se joindre à notre équipe à Saint-Hubert, Québec.

L'ingénieur C++/JAVA en logiciels travaillera sous la supervision de l'ingénieur en logiciels en chef et du responsable de la composante spécifique pour participer 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 logiciel et les techniques de gestion de la configuration logicielle. 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 qu'à maintenir/améliorer l'environnement de développement des systèmes sur lesquels il travaillera.

L'ingénieur en logiciels pourrait également soutenir Radarsat-2 (R2) ou la mission 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 (OT) de MDA.

Ce poste est situé au Centre de contrôle MDA, au siège social de l'Agence spatiale canadienne, à Saint-Hubert (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 le chef d'équipe et le propriétaire du produit pour élaborer une feuille de route du produit
  • Identifier les domaines d'amélioration des programmes actuels et élaborer ensuite ces modifications (par exemple, amélioration du rendement, automatisation...)
  • Interagir avec les équipes opérationnelles pour soutenir l'intégration et les essais 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 une assistance 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
  • Élaboration d'outils pour soutenir la maintenance et l'automatisation du système
  • Soutien à la recherche et à la résolution de problèmes liés aux bases de données et aux systèmes
  • Autres tâches selon les besoins, les priorités et les compétences.

Qualifications minimales requises :

  • Études postsecondaires terminées (B.Sc., M.Sc. ou équivalent) en informatique, en génie informatique ou dans une discipline connexe. Un diplôme et une expérience en informatique seront également pris en considération
  • Minimum de 3 ans d'expérience connexe dans le développement de logiciels
  • Connaissance approfondie de Java à l’aide de Maven (y compris Spring framework et Hibernate)
  • Expérience de la conception et du développement d'une plateforme API REST, de la conversion de services web de SOAP en REST ou vice-versa
  • Expérience de SQL (SQL server, PostgreSQL),
  • Expérience en rédaction de scripts (python, perl, bash, javascript, powershell)
  • Expérience des processus Agile
  • Expérience en développement Web
    • expérience avec Javascript ou Typescript, HTML et CSS
    • expérience avec une bibliothèque/un cadre frontal (de préférence ReactJS)
    • Souhaitable : expérience en conception UI/UX (ex. Figma)
  • Connaissance de Windows et Linux OS
  • Capacité à résoudre des problèmes et à travailler dans un environnement opérationnel pouvant présenter d'importantes contraintes de temps, de procédures 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, des normes et des spécifications du C++ serait un atout
  • Expérience avec le système de messagerie Kafka
  • Expérience avec un système de gestion des flux de travail
  • Expérience du déploiement et de la gestion 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 d'intégration continue (CI)/de développement continu (CD)
  • Expérience souhaitable dans la création de documentation REST API en utilisant Swagger et YAML ou des outils similaires
  • Expérience avec AWS ou une autre infrastructure infonuagique
  • Connaissance de MongoDB
  • Bon esprit d'équipe avec d'excellentes compétences en communication écrite et verbale
  • Intérêt marqué pour la compréhension du contexte opérationnel et de l'utilisation de l'application qu'il/elle soutient
  • Souci du détail et désir d'approfondir les données
  • Initiative, suivi et excellentes compétences organisationnelles
  • Des connaissances préalables en matière de satellites (par exemple, le système au sol, l'exploitation, l'orbite...) sont 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é
  • Une mise à niveau au niveau secret et une évaluation de sécurité pour le Programme des marchandises contrôlées (PMC) pourraient être nécessaires en fonction du projet additionnel en cours

Related Jobs

Python Test Data Processing Developper

📍 Sainte-Anne-de-Bellevue, Canada

🕒 Full Time

📌 14 days ago

Embedded Software Developer

📍 Sainte-Anne-de-Bellevue, Canada

🕒 Full Time

📌 21 days ago

Frontend Developer

📍 Montreal, Canada

🕒 Full Time

📌 a month ago

Backend Developer - DevOps

📍 Montreal, Canada

🕒 Full Time

📌 a month ago

Apply now