QUI SOMMES-NOUS ?
Smart Impulse c'est l'histoire d'un projet de fin d'études qui se transforme en un projet entrepreneurial ambitieux et engagé !
C'est en 2011 que Charles et Henri, nos deux fondateurs, se lancent le défi de révolutionner la gestion de l'Énergie dans les bâtiments.
Plus concrètement, nous concevons et développons des solutions de mesure électrique nouvelle génération avec un compteur électrique, le Smart X, simple à installer (moins d'une heure, sans outil et sans coupure), permettant, à partir d'un seul point de mesure et d'algorithmes brevetés (Nonintrusive Load Monitoring - NILM), d'identifier la consommation de chaque type d'équipements dans un bâtiment (éclairage, chauffage, informatique, ventilation, etc.).
L'analyse des données récoltées permet aux gestionnaires de bâtiments tertiaires d'identifier des leviers d'économie et ainsi maîtriser et optimiser la consommation d'énergie.
Aujourd'hui, nos solutions sont déployées dans plus de 4000 bâtiments répartis dans 60 pays dans le monde.
Rejoignez notre équipe de plus de 60 Impulsers qui participent au quotidien à façonner l'avenir de l'innovation énergétique !
LE CONTEXTE
Afin d'accélérer notre croissance, nous recherchons un·e Ingénieur·e Logiciel Embarqué pour nous permettre de lancer le développement de la prochaine génération de notre compteur intelligent - avec l'ambition de faire du hardware un avantage concurrentiel durable pour Smart Impulse.
Rattaché·e au Hardware Manager, au sein de la Feature Team Hardware composée d'un manager hands-on (Mathieu, votre futur responsable) et d'un Ingénieur Logiciel Embarqué (Gordon), vous contribuerez principalement au développement logiciel de la prochaine génération de notre compteur.
À partir d'une page quasi blanche, l'enjeu sera de concevoir un compteur permettant de proposer des solutions toujours plus adaptées aux besoins de nos clients, alignées avec les market standards (self-service, métrologie, cybersécurité, certifications, gestion de flotte, etc.) et d'augmenter les capacités de nos algorithmes (Edge AI).
VOS MISSIONS
Au quotidien, vos principales missions seront les suivantes :
Conception logicielle
Participer à la définition de la nouvelle génération de compteurs intelligents
Concevoir des architectures logicielles fiables reposant sur votre expertise passée (découpage en couches, machines à états, design patterns, etc.)
Développement logiciel embarqué
Développer le logiciel embarqué de la nouvelle génération de compteurs intelligents sur cible microcontrôleur
Maintenir et enrichir les tests unitaires nécessaires à la qualité du développement logiciel (CI/CD, pipelines)
Participer aux revues techniques intra-équipe
Participer ponctuellement au support des produits existants (Smart X, routeurs OpenWRT)
Développement software et outils
Contribuer au développement des outils que la Feature Team met à disposition des autres équipes
Développer les outils nécessaires aux tests qualité et à la mise en production de nos produits (bancs de production)
Documentation
Rédiger des documentations internes claires au niveau de détail approprié (README, changelog, base de connaissance, Merge Request, communications internes) en lien avec vos développements logiciels
Suivre et mettre à jour les tickets de développement sur lesquels vous travaillez
NOS OUTILS ET TECHNOLOGIES
Outils
Développement : Jira, Git/GitLab
Monitoring et data : Grafana, Dataiku, Metabase
LLM : Claude (Claude Code), CodeRabbit (revue de code)
Technologies
Cibles hardware : MCU ARM, STM32, ESP
Développement embarqué : C/C++, Rust, ESP-IDF, Python
Temps réel : FreeRTOS
Connectivité : Wi-Fi/LAN, 4G
Langages d'outils/scripts : Python / Bash
Backend : Python (Django)
L'IMPULSEUR·EUSE QU'IL NOUS FAUT
Formation & Expérience
Bac +5 ou supérieur, école d'ingénieurs ou filière universitaire
Vous avez un minimum de 5 années d'expérience et justifiez d'une expérience réussie sur du développement logiciel embarqué sur cible microcontrôleur, idéalement dans un environnement start-up/scale-up
Compétences
Vous savez rédiger des spécifications techniques logicielles à partir d'un cadrage fonctionnel réalisé par notre Product Manager Hardware
Vous savez architecturer vos développements logiciels (découpage couche par couche, drivers, machines à états, etc.) et êtes en mesure de mettre votre expertise au profit d'un logiciel de qualité
Vous connaissez les méthodes de développement du type Test Driven Development (TDD) et avez idéalement une expérience de développement de tests virtuels par émulation (QEMU) et de simulation Hardware-in-the-loop
Vous connaissez les ressorts spécifiques au développement temps réel (gestion de la concurrence, programmation asynchrone, interruptions, DMA, etc.) et avez une solide compréhension du fonctionnement et des périphériques d'un microcontrôleur (contraintes RAM/FLASH, SPI, UART, etc.) ainsi que de certains bus de terrain (Ethernet, Modbus, etc.)
Vous avez de bonnes connaissances en réseaux informatiques et cybersécurité (chiffrement, secure boot, etc.)
Vous faites un bon usage des outils IA d'assistance de code
Idéalement, vous avez de bonnes connaissances Linux et API web
Vous avez de bonnes compétences en communication (orale et écrite) pour une collaboration efficace
Vous parlez et écrivez un anglais professionnel
Savoir-être
Vous êtes orienté·e solution et innovation et êtes d'un naturel proactif
Vous êtes autonome, méthodique, organisé·e et rigoureux·se, vous avez le goût du travail bien fait
Véritable team player, vous savez collaborer et mener des projets en équipe, avec un état d'esprit positif, enthousiaste et bienveillant
Vous êtes engagé·e dans une formation continue pour rester à jour sur les tendances du secteur et les nouvelles technologies