Redwood Materials
Xona Space Systems
Ingénieur Logiciel - Build & Release
À propos du poste
Xona est la société d'intelligence de navigation qui apporte une certitude en temps réel, au niveau centimétrique, à tout appareil, partout sur Terre.
Avec Pulsar – l'infrastructure satellitaire PNT la plus avancée au monde en orbite terrestre basse – Xona offrira un système de positionnement mondial pérenne et rétrocompatible, optimisé pour une précision absolue, une puissance supérieure et une protection robuste.
Nous recherchons un Ingénieur Logiciel Build & Release pour prendre en charge nos systèmes de build, notre infrastructure CI/CD et nos outils de release pour le logiciel qui alimente les systèmes satellitaires de Xona. Vous améliorerez la productivité des développeurs tout en garantissant des builds et des releases fiables et reproductibles dans les environnements de simulation et intégrés au matériel.
Ce que vous ferez
- Concevoir, maintenir et optimiser des systèmes de build multiplateformes à l'aide d'outils tels que CMake et Bazel.
- Gérer et mettre à niveau les chaînes d'outils de compilation (GCC, Clang, etc.) tout en gérant des graphes de dépendances complexes, des bibliothèques tierces et la gestion de paquets internes.
- Prendre en charge et améliorer les flux de travail CI/CD supportant des applications C++ à grande échelle.
- Diagnostiquer et optimiser les goulots d'étranglement de compilation et de liaison grâce à la mise en cache, la parallélisation et les stratégies de build distribuées.
- Assurer la compilation croisée transparente sur plusieurs architectures, y compris x86 et ARM.
- Prendre en charge les tests dans des environnements conteneurisés et émulés à l'aide de technologies telles que Docker et QEMU.
- Écrire des scripts d'automatisation et des outils robustes en Python et Bash pour le provisionnement d'environnements, l'analyse statique et la génération d'artefacts.
- Collaborer étroitement avec les ingénieurs logiciels C++ pour améliorer l'architecture modulaire, la gestion des dépendances et la fiabilité globale du build.
- Assurer des environnements de build et de release reproductibles entre le développement local, l'intégration continue et les systèmes intégrés au matériel.
Prérequis
Qualifications Requises
- 3+ années d'expérience en Ingénierie Build & Release, Infrastructure de Développement, ou DevOps supportant des bases de code C++ complexes.
- Maîtrise avancée de CMake et GNU Make/Ninja.
- Solides compétences en ligne de commande Linux et en scripting Bash.
- Compréhension approfondie du cycle de vie du build, de la compilation et de la liaison C++.
- Familiarité avec les standards modernes C++ (C++17/20/23).
- Expérience dans la gestion de graphes de dépendances complexes et de cibles de build modulaires.
Pour les postes aux États-Unis : Conformément aux réglementations américaines sur l'exportation de technologies spatiales, le candidat doit être un citoyen américain, un résident permanent légal des États-Unis (c'est-à-dire titulaire d'une carte verte) ou une autre personne protégée telle que définie par le 8 U.S.C. 1324b(a)(3).
Pour les postes au Royaume-Uni : Conformément aux réglementations britanniques, ce poste nécessite des vérifications Baseline Personnel Security Standard (BPSS), et les candidats retenus doivent être éligibles pour obtenir une habilitation de sécurité britannique (SC).
Pour les postes au Canada : Les candidats retenus doivent obtenir et détenir une habilitation de sécurité au niveau de fiabilité, et réussir l'évaluation de sécurité pour le Programme canadien des marchandises contrôlées (PMC) et l'ITAR.
Qualifications Souhaitées
- Expérience dans le développement ou le support de systèmes embarqués Linux utilisant Yocto, Buildroot ou des outils similaires.
- Expérience avec des outils d'émulation matérielle tels que QEMU et des plateformes de conteneurisation telles que Docker.
- Familiarité avec les flux de travail CI GitLab.
- Expérience de travail sur des systèmes logiciels embarqués, aérospatiaux, robotiques ou autres systèmes intégrés au matériel.
- Expérience dans l'optimisation de systèmes de build à grande échelle utilisant Bazel, l'exécution à distance ou des technologies de build distribuées similaires.
- Connaissance des internes des linkers, de la visibilité des symboles et des outils d'analyse binaire tels que ldd, nm, objdump et readelf.
- Familiarité avec les outils d'analyse statique et dynamique tels que Clang-Tidy, AddressSanitizer (ASan) et SonarQube.
Nous célébrons la diversité et nous nous engageons à créer un environnement inclusif pour tous les employés. Tous les candidats qualifiés recevront une considération pour l'emploi sans distinction de race, de couleur, de religion, de sexe, d'orientation sexuelle, d'identité de genre, d'origine nationale, de handicap ou de statut d'ancien combattant.
