En tant que développeur senior de systèmes embarqués au sein de SPARK Microsystems, vous devrez concevoir, développer et maintenir des microprogrammes couvrant nos diverses applications de systèmes embarqués, ce qui inclut les protocoles de réseau, les bibliothèques de base ainsi que le développement d’applications. Vous jouerez un rôle clé dans la définition de l’architecture des systèmes et dans l’encadrement des développeurs juniors.
Vous concevrez, mettrez en œuvre et testerez des microprogrammes pour former des réseaux de communication sans fil optimaux en utilisant les émetteurs-récepteurs sans fil à très faible consommation développés par SPARK Microsystems. Il s’agit notamment de développer des réseaux de capteurs sans fil à faible consommation dans des configurations point à point, en étoile et maillées, ainsi que des liaisons point à point efficaces pour les applications de diffusion audio en continu. Le candidat sélectionné sera chargé de développer un micrologiciel efficace pour soutenir ces applications, ainsi qu’une interface utilisateur graphique pour chaque système qui permet aux utilisateurs de contrôler le flux d’informations dans le système sans fil.
Vos Responsabilités
- Concevoir, mettre en œuvre, tester et documenter des logiciels intégrés et des logiciels d’application.
- Élaborer des algorithmes pour les couches de protocole des systèmes de communication et les réseaux.
- Fournir des conceptions architecturales et détaillées pour répondre aux exigences du système.
- Connaître les architectures de réseaux.
- Fournir une orientation et une stratégie techniques au développement de l’ingénierie pour résoudre des problèmes complexes.
- Définir et communiquer l’approche technique la plus appropriée pour les activités de développement commercial.
- Assurer la maintenance des composants logiciels du système, y compris les pilotes de périphériques et les applications.
- Participer aux processus de test de l’équipe en élaborant des protocoles pour les tests unitaires, les tests d’intégration/de régression et les tests au niveau du système.
- Possibilité de former et d’encadrer des ingénieurs plus juniors.
Vos Qualifications
- Baccalauréat en génie électrique, génie informatique ou équivalent.
- Plus de 10 ans d’expérience dans le développement d’applications embarquées en C et C++.
- – 7+ ans d’expérience en programmation C de bas niveau sur microcontrôleurs / microprocesseurs, avec une connaissance avancée des architectures et des écosystèmes MCU / CPU.
- Compréhension de l’ensemble du système et capacité à comprendre et à améliorer les processus pluridisciplinaires de RF/PHY/L1/L2.
- Bonne compréhension et capacités de débogage d’une implémentation PHY/L1 multiprocesseur mixte HW/FW.
- Compréhension démontrée des systèmes sans fil complexes avec une forte capacité à comprendre les dépendances entre les composants du système et les couches de protocole et leurs interactions.
- Compétences pratiques étendues en programmation logicielle pour la modélisation et la simulation de systèmes sophistiqués, depuis les signaux de la couche RF/PHY jusqu’à la modélisation des canaux. Jusqu’aux simulations de protocoles/réseaux MAC ; des compétences correspondantes avec Matlab sont requises.
- Expérience et/ou connaissance des normes industrielles telles que Bluetooth, Ultra-Wideband, GPS et/ou d’autres protocoles sans fil.
- Capacité à travailler efficacement avec Linux et Windows.
- Expérience avec Visual Studio Code et Eclipse IDE.
- Expérience dans le développement de Board Support Packages, de chargeurs de démarrage et de pilotes de composants.
- Expérience des technologies de virtualisation et de conteneurs (VMware, KVM, Docker).
- Expérience des systèmes de contrôle de version Git .
- Expérience des plateformes de développement de logiciels telles que Gitlab et Github.
- Compréhension des protocoles de communication, notamment I2C, SPI, UART et USB.
- Expérience pratique du développement et du débogage de cibles intégrées à l’aide de débogueurs en circuit et d’équipements de test électronique (oscilloscope, multimètre, analyseur logique, etc.).
- Expérience des processus modernes de développement de logiciels (examen par les pairs, tests unitaires, etc.).
- Excellentes compétences en communication, en anglais et en français : Nécessité d’interagir sur une base régulière avec des collègues/clients partout au pays et à l’extérieur du pays.
- Capacité à travailler efficacement avec une équipe de développeurs.
- Capacité à effectuer plusieurs tâches à la fois, à fixer des priorités pour les projets, à se fixer des buts et des objectifs précis et à faire preuve d’initiative.
- Écrire un code propre, compréhensible, robuste et fiable, adapté aux systèmes embarqués.
Promouvoir les valeurs/qualités suivantes :
o Coopération : Avoir à cœur le succès de l’équipe.
o Rigueur : Être fier d’un travail exécuté avec soin.
o Motivation : Dépasser ses limites dans un travail que l’on aime.
o Initiative : Proposer de nouvelles idées et agir.
o Leadership : Influencer positivement ceux qui nous entourent.
Les Avantages
- Une start-up en pleine croissance où chaque personne a un rôle important à jouer dans le succès de l’entreprise.
- Faire partie d’une équipe passionnée, créative et motivée en un mode collaboratif.
- Un endroit où vous pouvez grandir et devenir le professionnel que vous voulez être.
- Assurance collective dès le premier jour.
- Plan d’options d’achat d’actions pour les employés.
- Travail hybride et horaires flexibles pour concilier travail et vie personnelle.
- En plus des vacances, des congés de maladie et des jours fériés, Spark offre des jours de congé supplémentaires.
Pour appliquer, veuillez envoyer votre CV au careers@sparkmicro.com