Job Description:Développeur de systèmes embarqués - Télécommunications Lieu : Montréal, QCMode de travail : Hybride Type d'emploi : Temps plein, permanent Sommaire du rôle En tant que
Développeur Logiciel Bas Niveau, vous contribuerez au développement de composantes logicielles permettant l'interaction avec des systèmes électroniques de pointe. Vous participerez au développement de drivers, de protocoles de communication, d'interfaces logicielles et de services assurant l'intégration entre le logiciel et les composants matériels de nos plateformes de test. Vous participerez également à la conception de preuves de concepts (PoC), à l'évaluation de nouvelles technologies et à leur intégration dans nos plateformes de test de nouvelle génération.
Vous collaborerez étroitement avec des équipes multidisciplinaires en logiciel, matériel, FPGA et ingénierie système afin de transformer des concepts novateurs en produits commercialisés à l'échelle mondiale.
Responsabilités principales - Concevoir, développer, maintenir et améliorer des composantes logicielles bas niveau, incluant des drivers, bibliothèques logicielles, couches d'abstraction matérielle (HAL), protocoles de communication et interfaces logicielles pour les produits MDR.
- Développer et maintenir des services logiciels et composantes système sous Linux pour les plateformes de test EXFO.
- Concevoir rapidement des prototypes et des preuves de concepts (PoC) pour valider de nouvelles technologies.
- Intégrer les PoC retenus dans les produits actuels ou futurs.
- Participer aux évaluations techniques, au diagnostic et à la résolution de problèmes complexes impliquant l'interaction entre les composantes logicielles et matérielles.
- Présenter et démontrer de nouvelles solutions lors de démonstrations internes ou externes.
- Collaborer étroitement avec les équipes logiciel, matériel, FPGA et systèmes afin d'assurer l'intégration harmonieuse des nouvelles fonctionnalités dans les produits MDR.
Profil recherché - Baccalauréat en informatique, génie logiciel, génie électrique ou domaine connexe.
- Minimum de 8 années d'expérience en développement logiciel.
- Expérience en développement logiciel sur des produits intégrant du matériel, idéalement dans le domaine des télécommunications.
- Excellente maîtrise du développement C/C++.
- Connaissance de C# (atout).
- Expérience en développement sous Linux et en intégration de composants matériels.
- Expérience de développement logiciel dans un environnement interagissant avec des FPGA, DSP ou autres composants électroniques spécialisés (atout).
- Bonne connaissance de Python.
- Connaissance de Git, GitLab, CI/CD et des tests unitaires.
- Intérêt marqué pour le matériel électronique, notamment l'interaction avec des puces électroniques, des drivers et des interfaces bas niveau.
- Capacité à évoluer dans des environnements utilisant des technologies émergentes ou peu documentées.
- Expérience avec les protocoles Ethernet et les systèmes de communication à haute vitesse (atout).
- Excellentes aptitudes de collaboration avec des équipes multidisciplinaires.
- Autonomie, curiosité, polyvalence et facilité d'apprentissage.
- Statut de citoyen canadien ou résident permanent.
La connaissance du français et de l'anglais est requise pour ce poste, puisque ses responsabilités impliquent des échanges fréquents, tant à l'oral qu'à l'écrit, avec des collègues, partenaires et fournisseurs situés au Québec et à l'international.
Embedded Systems Software Developer - Telecommunications Location: Montreal, QC Work Arrangement: Hybrid Employment Type: Full-time, Permanent Role Summary As a
Low-Level Software Developer, you will contribute to the development of software components that enable interaction with advanced electronic systems. You will participate in the development of drivers, communication protocols, software interfaces, and services that ensure integration between software and hardware components within our test platforms.
You will also contribute to the design of proofs of concept (PoCs), the evaluation of emerging technologies, and their integration into our next-generation test platforms.
Working closely with software, hardware, FPGA, and systems engineering teams, you will help transform innovative concepts into world-class commercial products.
Key Responsibilities - Design, develop, maintain, and enhance low-level software components, including drivers, software libraries, hardware abstraction layers (HAL), communication protocols, and software interfaces for MDR products.
- Develop and maintain Linux-based software services and system components for EXFO test platforms.
- Rapidly design and develop prototypes and proofs of concept (PoCs) to validate emerging technologies.
- Integrate successful PoCs into current and future products.
- Participate in technical evaluations, troubleshooting, and resolution of complex issues involving hardware-software interactions.
- Present and demonstrate new solutions during internal and external demonstrations.
- Collaborate closely with software, hardware, FPGA, and systems teams to ensure seamless integration of new features into MDR products.
Desired Profile - Bachelor's degree in Computer Science, Software Engineering, Electrical Engineering, or a related field.
- Minimum 8 years of software development experience.
- Experience developing software for hardware-integrated products, preferably within the telecommunications industry.
- Strong proficiency in C/C++.
- Knowledge of C# is considered an asset.
- Experience developing software under Linux and integrating with hardware components.
- Experience developing software in environments interacting with FPGA, DSP, or other specialized electronic components is considered an asset.
- Working knowledge of Python.
- Knowledge of Git, GitLab, CI/CD practices, and unit testing
- Strong interest in electronic hardware, including interaction with integrated circuits, drivers, and low-level interfaces.
- Ability to work effectively with emerging or evolving technologies that may have limited documentation.
- Experience with Ethernet protocols and high-speed communication systems is considered an asset.
- Excellent collaboration skills within multidisciplinary engineering teams.
- Self-motivated, adaptable, curious, and eager to learn.
- Must be a Canadian citizen or permanent resident.
Fluency in both French and English is required for this position, as the role involves frequent verbal and written communication with colleagues, partners, and suppliers located both within Quebec and internationally.