Bachelor's or Master's degree in software engineering, computer science, electrical engineering, aerospace, or related field with over 10 years of experience in developing complex embedded software systems.
Significant experience with LEO and MEO satellite systems.
Familiarity with CCSDS and ECSS standards, as well as space software engineering practices.
Strong understanding of real-time embedded architectures.
Experience with Confluence and JIRA.
Ability to work independently with minimal supervision.
Strong problem-solving skills, capable of breaking down complex issues into manageable components.
Excellent written and verbal communication skills in French and English.
Responsibilities
Define and maintain the overall software architecture of the satellite.
Establish guiding principles, standards, design rules, and best software practices for the entire program.
Ensure consistency between the software architectures of various satellite subsystems and payloads.
Define software partitioning strategies, functional allocation, and responsibility management between software, firmware, and hardware.
Evaluate technical trade-offs, risks, and architectural impacts associated with design decisions.
Participate in defining operational concepts, satellite modes, and FDIR architectures.
Conduct software architecture reviews with all development teams.
Verify compliance of solutions with company standards, program requirements, and applicable space standards.
Standardize software approaches among different suppliers, subcontractors, and internal teams.
Identify architectural gaps, technical risks, and technical debt.
Benefits
Opportunity to work on cutting-edge satellite missions.
Collaborative and multidisciplinary work environment.
Professional development and mentorship opportunities.
Involvement in all phases from design to launch and operations.
Contribution to the advancement of space technology.
Full Job Description
Aperçu du rôle :
MDA recherche un ingénieur système expérimenté pour définir, harmoniser et assurer la gouvernance de l'architecture logicielle de l'ensemble des logiciels embarqués d'une mission satellitaire.
Le titulaire agit comme responsable technique transverse de l'architecture logicielle au niveau système. Il supervise la cohérence et l'intégration des architectures logicielles des différentes composantes du satellite, notamment:
Logiciel de vol (FSW)
Data Handling et DSS
SRDB
GNC-FSW
Logiciels de charge utile
Firmware et logiciels embarqués des unités électroniques
Logiciels d'AIT et de validation lorsque requis
Interfaces avec les segments sol et opérations
Il accompagne les programmes depuis les phases de conception préliminaire jusqu'à l'intégration, les essais environnementaux, la livraison du satellite et le support à la mise en service en orbite.
Résumé des tâches :
Architecture système logicielle
Définir et maintenir l'architecture logicielle globale du satellite.
Établir les principes directeurs, les normes, les règles de conception et les bonnes pratiques logicielles applicables à l'ensemble du programme.
Assurer la cohérence entre les architectures logicielles des différents sous-systèmes satellite et charge utile.
Définir les stratégies de partitionnement logiciel, d'allocation fonctionnelle et de gestion des responsabilités entre logiciel, firmware et matériel.
Évaluer les compromis techniques, les risques et les impacts architecturaux associés aux décisions de conception.
Participer à la définition des concepts opérationnels, modes satellites et architectures FDIR.
Gouvernance technique logicielle
Réaliser les revues d'architecture logicielle avec l'ensemble des équipes de développement.
Vérifier la conformité des solutions aux standards de l'entreprise, aux exigences du programme et aux standards spatiaux applicables (ECSS, CCSDS, NASA, etc.).
Assurer la standardisation des approches logicielles entre les différents fournisseurs, sous-traitants et équipes internes.
Identifier les écarts architecturaux, les risques techniques et les dettes technologiques.
Définir et suivre les feuilles de route de développement logiciel au niveau programme.
Segment sol, opérations et interfaces mission
Définir et maintenir l'architecture logicielle entre le segment spatial et le segment sol.
Soutenir la définition des interfaces et des protocoles de communication avec le segment sol.
Collaborer avec les équipes des opérations de mission afin de définir les concepts d'opération et les modes de fonctionnement du satellite.
S'assurer que les besoins liés aux opérations et à la maintenance en orbite sont correctement pris en compte dans l'architecture logicielle.
Appuyer les activités de LEOP, de mise en service et d'opérations en orbite.
Participer à la définition des stratégies de mise à jour logicielle, de chargement de correctifs et de gestion de configuration en orbite.
Coordination interfonctionnelle
Agir comme point focal logiciel au sein de l'équipe d'ingénierie système satellite.
Soutenir la résolution d'enjeux techniques multidisciplinaires impactant plusieurs sous-systèmes.
Gestion des exigences et des interfaces
Définir les exigences système relatives au logiciel.
Assurer la traçabilité des exigences logicielles à travers les différents niveaux du programme.
Superviser les ICD et les définitions d'interfaces logicielles entre les éléments de la plateforme, de la charge utile et du segment sol.
S'assurer que les architectures proposées satisfont les exigences fonctionnelles, de performance et de cybersécurité.
Intégration, Vérification et Validation
Participer à la définition des stratégies de vérification et validation du logiciel.
Soutenir les campagnes d'intégration logicielle, système et satellite.
Participer aux revues d'anomalies et à la résolution de problèmes complexes observés durant les essais.
Assurer la cohérence des environnements de développement, de simulation, de DSS, de FlatSat et des bancs d'essai.
Soutenir les activités AIT jusqu'à la livraison du satellite.
Leadership technique
Agir comme référence technique pour les équipes de développement logiciel.
Fournir mentorat et orientation aux ingénieurs logiciels et systèmes.
Contribuer à l'amélioration continue et des standards et processus logiciels de MDA.
Soutenir le développement de la stratégie logicielle des futures missions.
Qualifications requises
Baccalauréat ou maîtrise en génie logiciel, informatique, électrique, aérospatial ou domaine connexe avec plus de 10 ans d'expérience dans le développement de systèmes logiciels embarqués complexes.
Expérience significative dans les systèmes satellites LEO et MEO.
Connaissance des standards CCSDS et ECSS, ainsi que des pratiques d'ingénierie logicielle spatiale.
Solide compréhension des architectures embarquées temps réel.
Expérience avec Confluence et JIRA.
Capacité à travailler de façon autonome avec peu de supervision.
Capacité à fragmenter les problèmes complexes en éléments de base pour les résoudre par analyse, analogie ou créativité.
Excellentes compétences en communication écrite et orale en francais et anglais ; (contact avec des clients en dehors du Québec et rédaction de livrables en anglais).