Software Engineer II
Overview
At Zebra, we are a community of innovators who come together to create new ways of working. United by curiosity and a culture of caring, we develop smart solutions that anticipate our customer’s and partner’s needs and solve their challenges.
Being part of Zebra Nation means you are seen, heard, valued, and respected. Drawing from our unique perspectives, we collaborate to deliver on our purpose. Here you are part of a team pushing boundaries today to redefine the work of tomorrow for organizations, their employees, and those they serve.
You’ll have opportunities to learn and lead in a forward-thinking environment, defining your path to a fulfilling career while channeling your skills toward causes you care about—locally and globally.
Come make an impact every day at Zebra.
What We're Looking For
Designs, develops, analyzes, and maintains software solutions for the organization’s products and systems (Aurora Imaging Library, a machine vision SDK). Performs system integration of software and hardware to ensure optimal performance and program consistency. Develops, validates, and tests software functionality and associated documentation. Work is reviewed for overall adequacy, but allows for greater independence in day-to-day responsibilities. Follows established processes and contributes to improving existing methodologies.
This is a hybrid position requiring you to work on-site at our office in Montreal, QC for a minimum of three days a week.
Essential Duties and Responsibilities
- Designs, develops, and tests software components as part of a larger project, ensuring alignment with project objectives and timelines
- Creates and maintains documentation detailing specific software functionality and design specifications
- Participates in code reviews and provides constructive feedback
- Recommends and implements solutions to complex technical challenges, ensuring compliance with quality processes and standards
- Modifies and enhances existing software by improving functionality, scalability, and performance to meet evolving business needs
- Evaluates Aurora Imaging Library performance on Arm systems, analyzes profiling and benchmark results, identifies bottlenecks, and implements optimizations.
- Stays up to date with the latest technologies and software engineering methodologies (C++, C#, Python, Agentic AI tools), applying them to projects as needed
- Proactively seeks out opportunities to enhance performance and productivity by recommending new tools or methodologies
- Demonstrates sound judgment to determine appropriate actions for software development and testing tasks
- Assist less experienced staff with existing practices and processes
##
Minimum Qualifications
##
- Bachelors degree in Computer Science, Software Engineering, or a related engineering discipline.
- 2+ years of relevant software engineering experience with a Bachelors Degree. 0+ years of experience with an Advanced Degree
- Equivalency: Equivalent work experience will be considered in lieu of a degree
- Familiarity with programming languages (C++, C#, Python), operating systems, algorithms and software development frameworks (Agentic AI tools)
- Experience optimizing software performance using techniques such as SIMD, parallel processing, or Arm Neon
Preferred Qualifications
##
- Advanced Degree in Computer Science or Software Engineering or related field.
- Basic understanding of software development life cycles (e.g., Agile, Scrum)
- Experience with FPGA development workflows, including Vivado IP Integrator and high-level synthesis (HLS)
- Experience with debugging, testing, and troubleshooting software systems
- Ability to analyze and solve complex problems using innovative and efficient solutions
- Familiarity with version control systems (e.g., Git, GitHub) and CI/CD pipelines
- Excellent teamwork, collaboration, and interpersonal communication skills
- Demonstrates proactiveness in identifying opportunities for improvement and works on the solution
- Ability to work independently while seeking guidance when necessary
- Ability to communicate in French and English
*******************************************
Sommaire de la description de poste
Conçoit, développe, analyse et maintient des solutions logicielles pour les produits et systèmes de l'organisation (Aurora Imaging Library, un SDK de vision artificielle). Effectue l'intégration système du matériel et du logiciel afin de garantir des performances optimales et la cohérence des programmes. Développe, valide et teste les fonctionnalités logicielles ainsi que la documentation associée. Le travail est révisé pour en assurer la conformité globale, tout en laissant place à une plus grande autonomie dans les responsabilités quotidiennes. Suit les processus établis et contribue à l'amélioration des méthodologies existantes.
Ce poste nécessite d'être sur place au bureau de Montréal, QC (mode hybride – un minimum de 3 jours par semaine au bureau).
Description de poste
Principales tâches et responsabilités
- Concevoir, développer et tester des composants logiciels dans le cadre d'un projet d'envergure, en veillant au respect des objectifs et des échéanciers.
- Créer et maintenir la documentation détaillant les fonctionnalités logicielles spécifiques et les spécifications de conception.
- Participer aux révisions de code et fournir des commentaires constructifs.
- Recommander et mettre en œuvre des solutions pour relever des défis techniques complexes, tout en garantissant la conformité avec les processus et normes de qualité.
- Modifier et améliorer les logiciels existants en optimisant leur fonctionnalité, leur évolutivité et leurs performances pour répondre aux besoins changeants de l'entreprise.
- Évaluer les performances de la bibliothèque Aurora Imaging Library sur les systèmes ARM, analyser les résultats de profilage ( profiling ) et de banc d'essai ( benchmarks ), identifier les goulots d'étranglement et mettre en œuvre les optimisations nécessaires.
- Rester à l'affût des dernières technologies et méthodologies de génie logiciel (C++, C#, Python, outils d'IA agentique) et les appliquer aux projets au besoin.
- Faire preuve de proactivité pour optimiser les performances et la productivité en recommandant de nouveaux outils ou de nouvelles méthodologies.
- Faire preuve d'un jugement sûr pour déterminer les actions appropriées lors des tâches de développement et de test de logiciels.
- Soutenir et guider les membres de l'équipe moins expérimentés dans l'application des pratiques et des processus existants.
Qualifications minimales
- Baccalauréat requis en informatique, en génie logiciel ou dans une discipline d'ingénierie connexe.
- Plus de 2 ans d'expérience pertinente en génie logiciel avec un baccalauréat, ou 0 an et plus d'expérience avec un diplôme d'études supérieures (maîtrise ou doctorat).
- Équivalence : Une expérience de travail équivalente sera considérée en remplacement d'un diplôme universitaire.
- Familiarité avec les langages de programmation (C++, C#, Python), les systèmes d'exploitation, les algorithmes et les cadres de développement logiciel (outils d'IA agentique).
- Expérience dans l'optimisation des performances logicielles à l'aide de techniques telles que le SIMD, le traitement parallèle ou ARM Neon.
Qualifications préférées
- Diplôme d'études supérieures (maîtrise ou doctorat) en informatique, en génie logiciel ou dans un domaine connexe.
- Familiarité avec les systèmes de contrôle de version (par exemple, Git, GitHub)
- Expérience avec les flux de développement FPGA , y compris l'outil Vivado IP Integrator et la synthèse de haut niveau (HLS).
- Expérience dans le débogage, les tests et la résolution de problèmes de systèmes logiciels.
- Capacité à analyser et à résoudre des problèmes complexes en proposant des solutions innovantes et efficaces .
- Familiarité avec les systèmes de contrôle d
Hiring at Zebra Technologies
Zebra Technologies has 245 open jobs on Ocean of Jobs, 36 of them added in the last 7 days. Most of its open jobs are in Bangalore, Penang and Lincolnshire. It's hiring most in Software Engineering, Sales & Marketing and Operations & Business.
See every open job at Zebra Technologies