Développeur Senior en Logiciels Embarqués | Senior Developer, Embedded Soft
at SPARK Microsystems
Montréal, QC H3K 1G6, Canada -
Start Date | Expiry Date | Salary | Posted On | Experience | Skills | Telecommute | Sponsor Visa |
---|---|---|---|---|---|---|---|
Immediate | 24 Apr, 2025 | Not Specified | 24 Jan, 2025 | N/A | Usb,Cooperation,Wireless Protocols,Vmware,Bluetooth,Communication Protocols,Computer Engineering,Gps,C,I2C,Visual Studio Code,Modeling,Git,Boot Loaders,Leadership,English,Logic Analyzer,Gitlab,Docker,Embedded Systems,C Programming,Matlab,Github | No | No |
Required Visa Status:
Citizen | GC |
US Citizen | Student Visa |
H1B | CPT |
OPT | H4 Spouse of H1B |
GC Green Card |
Employment Type:
Full Time | Part Time |
Permanent | Independent - 1099 |
Contract – W2 | C2H Independent |
C2H W2 | Contract – Corp 2 Corp |
Contract to Hire – Corp 2 Corp |
Description:
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++.
- Plus de 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 des systèmes sans fil complexes avec une forte capacité à comprendre les dépendances entre les composantes 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 sans-fil telles que Bluetooth, Ultra-Wideband, GPS et/ou d’autres protocoles sans fil.
- Capacité à travailler efficacement avec Linux et Windows.
- Expérience de Visual Studio Code et de l’IDE Eclipse
- 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 dans le développement et le débogage de cibles embarqué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.)
- Familiarité avec les architectures de réseau.
- Bilingue, anglais et français: Nécessité d’interagir sur une base régulière avec des collègues/sous-contractants/clients partout à l’international.
- 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 durable adapté aux systèmes embarqués.
- Valoriser les valeurs/qualités suivantes:
- Coopération : Avoir le succès de l’équipe à cœur.
- Rigueur : Être fier du travail soigneusement exécuté.
- Motivation : Surpasser ses limites dans un métier que l’on aime.
- Initiative : Proposer de nouvelles idées et passer à l’action.
- Leadership : Influencer positivement ceux qui nous entourent.
YOUR QUALIFICATIONS
- Bachelor in Electrical Engineering, Computer Engineering or equivalent.
- 10+ years of experience in embedded application development in C and C++.
- 7+ years of experience in low level C programming on microcontrollers / microprocessors, with advanced knowledge of MCU / CPU architectures and ecosystems.
- Full-stack system-level understanding and ability to comprehend and affect an improvement to multi-disciplinary processes of RF/PHY/L1/L2.
- Good understanding and debug capabilities of a mixed HW/FW multi-processor PHY/L1 implementation.
- Proven grasp of complex wireless systems with strong capability to comprehend dependencies between system components and protocol layers and their interactions.
- Extensive hands-on SW programming skills for modeling and simulation of sophisticated systems from RF/PHY layer signals and channel modeling. All the way to MAC protocol/networking simulations; corresponding proficiency with Matlab required.
- Experience with and/or knowledge of industry standards such as Bluetooth, Ultra-Wideband, GPS, and/or other wireless protocols.
- Ability to work efficiently with both Linux and Windows.
- Experience with Visual Studio Code and Eclipse IDE.
- Experience developing Board Support Packages, boot loaders, and component drivers.
- Experience with virtualization and container technologies (VMware, KVM, Docker).
- Experience with Git version control systems.
- Experience with software development platform such as Gitlab and Github.
- Understanding of communication protocols including I2C, SPI, UART and USB.
- Experience in hands-on development and debug on embedded targets using in-circuit debuggers and electronic test equipment (oscilloscope, multimeter, logic analyzer, etc).
- Experience in modern software development processes (peer reviewing, unit testing, etc).
- Familiar with networking architectures.
- Bilingual, French and English – this role requires to work regularly with co-workers, subcontractors and customers located globally.
- Ability to multi-task, set project priorities, establish task focused goals and objectives for self and show initiative.
- Write clean, understandable, robust, and sustainable code tailored for embedded systems.
- Promote the following values/qualities:
- Cooperation: Have the success of the team at heart.
- Rigor: Take pride in carefully executed work.
- Motivation: Exceed your limits in a job you love.
- Initiative: Propose new ideas and act.
- Leadership: Positively influencing those around us.
Responsibilities:
YOUR ROLE
As a Senior Embedded Software Developer within SPARK Microsystems, you will be required to design, develop and maintain firmware covering our various embedded system applications and this includes network protocols, core libraries as well as application development. You will play a key role in defining systems architecture and mentoring junior developers.You will design, implement, and test firmware to form optimal communications wireless networks using the extremely low power wireless transceivers developed by SPARK Microsystems. This includes developing low power wireless sensor networks in point-to-point, star, and mesh configurations, as well as efficient point-to-point links for audio streaming applications. The selected candidate will be responsible for developing efficient firmware to support these applications, as well as a graphical user interface for each system that allows users to control the flow of information in the wireless system.
YOUR RESPONSIBILITIES
- Design, implement, test and document embedded and application software.
- Develop algorithms for communication system protocol layers and networking.
- Provide architectural and detailed designs to meet the system requirements.
- Provide technical direction and strategy to engineering development efforts for solving complex issues.
- Outline and communicates the most appropriate technical approach for business development activities.
- Maintain system software components including device drivers and applications.
- Participate in the team’s testing processes by developing protocols for unit testing, integration/regression testing, and system-level testing.
- Coach and mentor more junior Engineers.
REQUIREMENT SUMMARY
Min:N/AMax:5.0 year(s)
Information Technology/IT
IT Software - System Programming
Software Engineering
Graduate
Proficient
1
Montréal, QC H3K 1G6, Canada