Temple Health
Jobgether
Ingénieur logiciel embarqué Staff, Virtualisation
À propos du poste
Ce poste est publié pour le compte d'une entreprise partenaire, qui gère toutes les candidatures et les étapes suivantes. Notre partenaire recherche un ingénieur logiciel embarqué Staff spécialisé en virtualisation, basé aux États-Unis.
Comment fonctionne Jobgether
Nous utilisons un processus de mise en relation basé sur l'IA pour garantir que votre candidature soit examinée rapidement, objectivement et équitablement par rapport aux exigences fondamentales du poste. Notre système identifie les candidats les mieux adaptés, et cette liste restreinte est ensuite partagée directement avec l'entreprise qui recrute. La décision finale et les étapes suivantes (entretiens, évaluations) sont gérées par leur équipe interne.
Nous apprécions votre intérêt et vous souhaitons bonne chance !
Pourquoi postuler via Jobgether ?
Avis sur la protection des données : En soumettant votre candidature, vous reconnaissez que Jobgether traitera vos données personnelles pour évaluer votre candidature et partager les informations pertinentes avec l'employeur recruteur. Ce traitement est basé sur l'intérêt légitime et les mesures précontractuelles en vertu des lois applicables sur la protection des données (y compris le RGPD). Vous pouvez exercer vos droits (accès, rectification, effacement, opposition) à tout moment.
#LI-CL1
Rejoignez une équipe d'ingénierie avant-gardiste travaillant à l'intersection du logiciel embarqué, de la virtualisation et de la technologie automobile de nouvelle génération. Dans ce rôle technique senior, vous transformerez le firmware d'ECU réel en périphériques virtuels haute performance fonctionnant sur des stations de travail et des infrastructures cloud. Votre travail aidera les équipes d'ingénierie à développer, tester et valider les logiciels automobiles plus rapidement, même lorsque le matériel physique n'est pas disponible. Vous construirez des couches de virtualisation, modéliserez des périphériques matériels et améliorerez les flux de travail de développement sur plusieurs domaines du véhicule. En collaborant avec des spécialistes du matériel, du middleware et des logiciels applicatifs, vous façonnerez des solutions d'ingénierie évolutives qui comblent le fossé entre les systèmes physiques et les environnements logiciels. C'est une opportunité d'influencer l'architecture technique, d'élever les pratiques d'ingénierie et d'accélérer le développement de véhicules définis par logiciel.
Responsabilités
- Maintenir et améliorer l'environnement d'exécution en espace utilisateur qui permet au firmware embarqué de production de fonctionner sur des machines hôtes, en traduisant les concepts de systèmes d'exploitation temps réel en implémentations compatibles POSIX lorsque cela est approprié.
- Intégrer le firmware d'ECU avec des bibliothèques modélisées et des interfaces périphériques, notamment GPIO, CAN, LIN, PWM, watchdogs et ADC/DAC, permettant au firmware existant de fonctionner dans des environnements virtuels avec une modification minimale.
- Développer des modèles fonctionnels de matériel et de périphériques en C ou Python, en travaillant en étroite collaboration avec les ingénieurs matériel pour reproduire un comportement réaliste des dispositifs, les cas limites et les interactions système attendues.
- Prendre en charge les scripts de build, les chaînes d'outils et les configurations pour générer à la fois des binaires exécutables sur l'hôte et des images pour microcontrôleurs cibles, garantissant des builds rapides, cohérents et reproductibles.
- Étendre les frameworks de test hardware-in-the-loop (HIL) et les suites Pytest pour prendre en charge les configurations virtuelles, injecter des erreurs, capturer des traces et valider le timing et le trafic de communication par rapport aux résultats de référence.
- Enquêter sur les écarts entre les hypothèses du firmware et le comportement de l'hôte, en utilisant des outils de débogage bas niveau tels que GDB pour identifier les causes profondes et résoudre les problèmes d'intégration.
- Collaborer avec les équipes chargées des systèmes d'exploitation, du middleware, du matériel et des logiciels applicatifs pour définir des abstractions robustes, valider les modèles de périphériques et améliorer l'intégration système.
- Diriger les revues de conception technique, établir des normes d'ingénierie élevées et encadrer les collègues sur les systèmes temps réel, l'architecture logicielle propre et les pratiques maintenables en C, C++ et Python.
Exigences
- Au moins 10 ans d'expérience pratique dans le développement de firmware embarqué, incluant une expérience substantielle dans le portage ou la modification de systèmes basés sur RTOS.
- Licence, master ou doctorat en informatique, génie électrique ou discipline technique connexe.
- Maîtrise experte du C, solides compétences en C++ et capacité à écrire du code Python de qualité production.
- Compréhension approfondie des fondamentaux des systèmes d'exploitation temps réel, y compris les tâches, les routines de service d'interruption, les ordonnanceurs, les files d'attente et les minuteurs, ainsi que la manière dont ces concepts s'articulent avec les primitives POSIX en espace utilisateur.
- Expérience avérée dans l'optimisation des systèmes embarqués et le débogage bas niveau, avec une maîtrise de GDB et une familiarité avec les analyseurs matériels ou de protocoles.
- Solides connaissances en programmation multithread et multicœur, en concurrence et en considérations de performance au niveau système.
- Expérience dans le développement de logiciels pour les réseaux de communication automobile tels que CAN, LIN et Ethernet, incluant les interfaces en espace utilisateur telles que SocketCAN.
- Maîtrise pratique de Bazel ou de systèmes de build comparables, ainsi que des chaînes d'outils de compilation croisée pour des cibles embarquées hétérogènes.
- Solides compétences en communication, résolution analytique de problèmes et collaboration, avec la capacité de travailler efficacement au sein d'équipes multidisciplinaires dans un environnement dynamique.
- Un vif intérêt pour la virtualisation, le prototypage rapide et les pratiques d'ingénierie qui raccourcissent le chemin entre le concept et la production.
- Souhaitable : Expérience dans le développement de modèles de périphériques fonctionnels ou de circuits intégrés en utilisant QEMU, Renode, des stubs personnalisés ou des outils similaires.
- Souhaitable : Familiarité avec les normes de codage critiques pour la sécurité telles que MISRA ou CERT et les protocoles automobiles tels que DoIP et SOME/IP.
- Souhaitable : Expérience dans la comparaison des résultats d'ECU virtuels avec des données HIL physiques pour identifier et combler les écarts de fidélité.
- Souhaitable : Exposition au Synopsys Virtualizer Development Kit ou à des outils de virtualisation comparables.
Avantages
- Salaire de base annuel compétitif : rémunération équivalente à CAD alignée sur la fourchette annoncée de 137,300 $ – 181,890 $, le montant applicable dépendant du lieu, de l'expérience, des compétences, des qualifications et d'autres facteurs pertinents.
- Prime de performance annuelle : éligible à une prime cible de 15% du salaire de base, sous réserve des conditions du plan applicable et de la performance de l'entreprise. Les paiements sont discrétionnaires et non garantis.
- Participation au capital : éligible aux unités d'actions restreintes (RSU), sous réserve de l'approbation du conseil d'administration, des conditions d'acquisition et des termes du plan d'incitation en actions applicable.
- Ensemble d'avantages sociaux complet : couverture santé, épargne retraite, congés payés et programmes de planification familiale, avec des offres spécifiques variant selon le pays.
- Environnement de travail hybride : un arrangement hybride conçu pour combiner collaboration et flexibilité. Les lieux annoncés incluent Vancouver (Colombie-Britannique), Irvine (Californie) et Palo Alto (Californie) ; l'arrangement spécifique pour une embauche basée au Canada devra être confirmé lors du recrutement.
- Leadership technique et impact : l'opportunité de façonner l'architecture de virtualisation, d'encadrer des ingénieurs et de contribuer à l'évolution de la technologie des véhicules définis par logiciel.
- Culture d'ingénierie collaborative : travaillez aux côtés de spécialistes en logiciels embarqués, plateformes matérielles, systèmes d'exploitation, middleware et domaines d'application automobile.
