What We're Looking For:As a Firmware/Software Engineer Professional I, you will design, develop, analyze, and maintain software solutions for the organization's products and systems. You will perform system integration of software and hardware to ensure throughput, consistency, and compliance with quality standards. You will develop, validate, and test software functionality and associated documentation. Work is reviewed for overall adequacy but allows for greater independence in day-to-day responsibilities. You will follow established processes and contribute to improving existing methodologies.
Location- ***Role is required to be onsite in the Montreal, Canada office. (Hybrid- Minimum of 3 days in the office per week/M, T, Th).
The RoleWe are seeking a
Firmware/Software Engineer, Professional I to join our dynamic team in Montreal. In this role, you will contribute to the development and enhancement of our next-generation smart cameras and vision systems. You will work on robust, high-performance firmware and software, participating in BIOS/bootloader optimization and core machine vision capabilities. This is an exciting opportunity for a creative problem-solver eager to learn, grow, and leverage modern development paradigms-including Agentic AI-to accelerate innovation and workflows.
Responsibilities- Upgrades existing firmware and software; enhances and improves existing technologies to apply to new solutions for smart camera products and vision systems using C and C++.
- Optimizes system performance and power consumption, participating in BIOS, bootloader, and drive development and firmware updates.
- Tests on a variety of firmware and software assignments that constitute a portion of a larger project.
- Tests and maintains documentation which describes specific firmware functionality and system behavior.
- Participates and provides supervised input in project code reviews, following software engineering standards.
- Runs software and firmware tests designed by more experienced engineers.
- Reviews test results and performs root cause analyses to identify and resolve problems.
- Implements recommendations to immediate team to enhance performance and improve productivity.
- Seeks out new tools to analyze and solve problems, including exploring solutions leveraging AI to enhance development workflows.
- Exercises judgment within defined procedures and practices to determine appropriate action.
- Receives general instructions on routine work, new projects, or assignments.
- May provide guidance to Engineering Technicians.
- Builds productive working relationships internally across engineering teams and externally on routine matters.
QualificationsMinimum:- Bachelor's degree or higher in Computer Science, Software Engineering, Electrical Engineering, or a related technical field.
- 2+ years of relevant software engineering experience with a Bachelors Degree. 0+ years of experience with an Advanced Degree.
- Strong proficiency in C and C++ for embedded systems.
Preferred - Experience with embedded Linux, including kernel and driver development
- Familiarity with the Yocto Project for building custom Linux distributions.
- Experience with Agentic AI or other advanced AI-powered development tools.
- Knowledge of computer vision, image processing.
- Knowledge of some industrial protocols like Ethernet/IP and Profinet.
- Any knowledge in BIOS development or configuration is an asset.
- Ability to learn and develop specific skills.
- An outcome-oriented mindset with a focus on delivering high-quality, impactful results.
- Ability to communicate in French and English verbally and in written form.
We are open to considering extraordinary candidates who do not meet the years of experience requirement but demonstrate exceptional talent and a passion for this field.
Location- ***Role is required to be onsite in the Montreal, Canada office. (Hybrid- Minimum of 3 days in the office per week/M, T, Th).
Aperçu du posteEn tant qu'ingénieur(e) en micrologiciel et logiciel, professionnel(le) I, vous concevrez, développerez, analyserez et maintiendrez des solutions logicielles pour les produits et systèmes de l'organisation. Vous réaliserez l'intégration système des composants logiciels et matériels afin d'assurer le débit, la cohérence et la conformité aux normes de qualité. Vous développerez, validerez et testerez les fonctionnalités logicielles ainsi que la documentation connexe. Votre travail sera évalué sur le plan de sa conformité globale, tout en vous offrant une grande autonomie dans vos responsabilités quotidiennes. Vous appliquerez les processus établis et contribuerez à l'amélioration des méthodologies existantes.
***Ce poste nécessite d'être sur place au bureau de
Montréal, Canada (mode hybride - un minimum de 3 jours par semaine au bureau).***
Description de posteLe rôleNous sommes à la recherche d'un(e)
ingénieur(e) en micrologiciel et logiciel, professionnel(le) I pour se joindre à notre équipe dynamique de Montréal. Dans ce rôle, vous contribuerez au développement et à l'amélioration de nos caméras intelligentes et systèmes de vision industrielle de prochaine génération. Vous travaillerez sur des micrologiciels et des logiciels robustes et performants, tout en participant à l'optimisation du BIOS et du chargeur d'amorçage (bootloader), ainsi qu'aux capacités fondamentales de vision artificielle. Il s'agit d'une excellente opportunité pour une personne créative et axée sur la résolution de problèmes, désireuse d'apprendre, d'évoluer et d'exploiter les paradigmes de développement modernes - y compris l'IA agentique (Agentic AI) - pour accélérer l'innovation et les flux de travail.
Responsabilités- Mettre à niveau les micrologiciels et logiciels existants; améliorer et perfectionner les technologies actuelles afin de les appliquer à de nouvelles solutions pour les caméras intelligentes et les systèmes de vision industrielle à l'aide de C et C++.
- Optimiser les performances du système et la consommation d'énergie, en participant au développement du BIOS, du chargeur d'amorçage (bootloader) et des pilotes de périphériques (drivers), ainsi qu'aux mises à jour des micrologiciels.
- Effectuer des essais sur divers mandats liés aux micrologiciels et aux logiciels constituant une partie d'un projet de plus grande envergure.
- Tester et maintenir la documentation décrivant les fonctionnalités spécifiques des micrologiciels et le comportement du système.
- Participer et formuler des commentaires encadrés lors des revues de code de projet, en respectant les normes de développement logiciel.
- Exécuter des tests logiciels et micrologiciels conçus par des ingénieurs plus expérimentés.
- Analyser les résultats des tests et effectue des analyses de cause fondamentale (root cause analysis) pour cerner et résoudre les problèmes.
- Mettre en œuvre des recommandations au sein de l'équipe immédiate afin d'accroître les performances et d'améliorer la productivité.
- Rechercher de nouveaux outils pour analyser et résoudre les problèmes, notamment en explorant des solutions exploitant l'IA pour optimiser les flux de travail de développement.
- Faire preuve de jugement dans le cadre des procédures et pratiques établies afin de déterminer les mesures appropriées.
- Reçevoir des directives générales pour le travail de routine, les nouveaux projets ou les assignations.
- Fournir une orientation aux techniciens en ingénierie.
- Établir des relations de travail productives à l'interne avec les équipes d'ingénierie et à l'externe sur les questions courantes.
Exigences et compétencesExigences minimales :- Baccalauréat (ou diplôme supérieur) en informatique, en génie logiciel, en génie électrique ou dans un domaine technique connexe.
- Solide maîtrise des langages C et C++ pour les systèmes embarqués.
Atouts / Profil recherché :- Expérience avec Linux embarqué, incluant le développement de pilotes (drivers) et de noyaux (kernel).
- Connaissance du projet Yocto pour la création de distributions Linux personnalisées.
- Expérience avec l'IA agentique (Agentic AI) ou d'autres outils de développement avancés propulsés par l'IA.
- Connaissances en vision par ordinateur et en traitement d'images.
- Connaissance de protocoles industriels tels que Ethernet/IP et Profinet.
- Toute connaissance en développement ou configuration de BIOS constitue un atout.
- Capacité d'apprentissage et de développement de compétences spécifiques.
- Esprit axé sur les résultats, avec un souci constant d'offrir un travail de haute qualité à fort impact.
- Capacité à communiquer en français et en anglais, tant à l'oral qu'à l'écrit.
***Ce poste nécessite d'être sur place au bureau de
Montréal, Canada (mode hybride - un minimum de 3 jours par semaine au bureau).***
Pay Range:$67,120.00 - $100,680.00 Annual
Incentive Compensation:In addition to base pay, Zebra offers this role the opportunity to earn a performance-based annual cash incentive, at a target equal to 5% of base pay, in accordance with the terms of the applicable incentive plan.
Total Rewards:Zebra Total Rewards includes more than just pay and is structured to meet the needs of our changing global business and evolving talent. We are committed to providing our employees with a benefits program that is comprehensive and competitive - including healthcare, wellness, inclusion networks, and continued learning and development offerings. We offer community service days, in addition to the traditional insurances, compensation, parental leave, employee assistance program and paid time off offerings depending on the country where you work.
Salary offered will vary depending on your location, job-related skills, knowledge, and experience.