*Version française ci-dessousWhat You'll Do- Develop real-time motion and communication components using modern C++.
- Contribute and maintain Python-based microservices (FastAPI, MQTT, orchestration services) running on embedded Linux systems
- Contribute and maintain gRPC APIs and Protobuf service contracts to enable robust, versioned communication between real-time components, system services, and external clients
- Design and contribute APIs (C++ and Python) enabling customers and partners to build applications on top of the MachineMotion platform
- Own Linux service architecture (systemd, networking, permissions, device access, observability, logging, watchdog strategies)
- Improve system robustness through failure-mode analysis, structured logging, health monitoring, and service isolation
- Debug complex issues using logs, packet captures, hardware instrumentation (oscilloscope, logic analyzer), and system-level diagnostics
- Contribute to CI/CD pipelines, automated regression testing, and long-term maintainability
What You Bring to the Table- B.S. in Computer Science, Computer/Electrical Engineering, or a related quantitative field (M.S. a plus)
- 2-4 years contributing to production software in product development teams
- Fluency in modern C++ (C++17 or later) and Python daily-use level, not familiarity
- Knowledge of the Linux system stack, including systemd, networking configurations, and inter-process communication mechanisms.
- A strong sense of ownership across the full software lifecycle
Nice to have- Understanding of distributed system design and the trade-offs involved
- Hands-on experience with embedded peripherals (GPIO, ADC/DAC, PWM, DMA, clocks, interrupts) and the protocols that ride on them (I²C, SPI, UART, CAN, RS-485)
- Experience designing responsive, deterministic systems where latency and predictability matter
- Experience with Yocto, BuildRoot, or building custom Linux distributions
- Real-time Linux (PREEMPT_RT) or RTOS experience
- History shipping and maintaining public APIs
- Background in motion control, robotics, or industrial automation
- Fluency reading schematics and circuit board layouts
- OTA update systems for fielded embedded devices
What We Offer- Career pathing: Real opportunities to grow through personalized development plans, bi-annual employee reviews, and mentorship program
- Professional development: Continuous training in performance management, inclusive leadership, leadership operating model, team building, and giving/receiving feedback
- Gender diversity & inclusion: Pay equity reviews, inclusive policies, and a Women's Employee Resource Group offering networking, mentorship, and quarterly learning sessions.
- Hybrid work: Enjoy flexibility with our hybrid model, allowing you to work from home on select days.
- Community engagement: Two paid volunteering days per year to give back to causes you care about.
- Team events: All year round employee events including annual kick-off, employee summit, quarterly happy hours, and department events.
- Comprehensive benefits: A complete group benefits plan for you and your family that start day one.
- Top-up and benefits for new parents: Additional financial support and resources to support employees during their transition to parenthood.
What to Expect in Your Interview- Initial Call
- Meet the Team
- Case or take-home interview
- Decision & Offer
Description de l'entrepriseCe que vous ferez:- Développer des composants de mouvement et de communication en temps réel en C++ moderne.
- Contribuer au développement et à la maintenance de microservices basés sur Python (FastAPI, MQTT, services d'orchestration) fonctionnant sur des systèmes Linux embarqués
- Contribuer au développement et à la maintenance des API gRPC et des contrats de service Protobuf afin d'assurer une communication robuste et versionnée entre les composants temps réel, les services système et les clients externes
- Concevoir et développer des API (C++ et Python) permettant aux clients et partenaires de créer des applications sur la plateforme MachineMotion
- Assurer la responsabilité de l'architecture des services Linux (systemd, réseau, permissions, accès aux périphériques, observabilité, journalisation, stratégies de watchdog)
- Améliorer la robustesse du système grâce à l'analyse des modes de défaillance, à la journalisation structurée, à la surveillance de l'état de santé du système et à l'isolation des services
- Déboguer des problèmes complexes à l'aide de journaux, de captures de paquets, d'instrumentation matérielle (oscilloscope, analyseur logique) et de diagnostics au niveau système
- Contribuer aux pipelines CI/CD, aux tests de régression automatisés et à la maintenabilité à long terme
Ce que vous apportez à l'équipe- Baccalauréat (B.S.) en informatique, en génie informatique/électrique ou dans un domaine quantitatif connexe (une maîtrise est un atout)
- 2 à 4 ans d'expérience dans le développement de logiciels en production au sein d'équipes de développement de produits
- Maîtrise du C++ moderne (C++17 ou plus récent) et de Python au niveau d'une utilisation quotidienne, pas seulement une connaissance générale
- Connaissance de la pile système Linux, y compris systemd, les configurations réseau et les mécanismes de communication inter-processus
- Un sens aigu de la responsabilité sur l'ensemble du cycle de vie du logiciel
Atouts:- Compréhension de la conception des systèmes distribués et des compromis qu'elle implique
- Expérience pratique avec les périphériques embarqués (GPIO, ADC/DAC, PWM, DMA, horloges, interruptions) et les protocoles associés (I²C, SPI, UART, CAN, RS-485)
- Expérience dans la conception de systèmes réactifs et déterministes où la latence et la prévisibilité sont essentielles
- Expérience avec Yocto, BuildRoot ou la création de distributions Linux personnalisées
- Expérience avec Linux temps réel (PREEMPT_RT) ou les RTOS
- Antécédents dans le déploiement et la maintenance d'API publiques
- Expérience en contrôle de mouvement, robotique ou automatisation industrielle
- Aisance dans la lecture de schémas et de plans de circuits imprimés
- Systèmes de mise à jour OTA pour des appareils embarqués déployés sur le terrain
Ce que nous offrons:- Cheminement de carrière : De réelles possibilités d'évolution grâce à des plans de développement personnalisés, des évaluations biannuelles et un programme de mentorat.
- Développement professionnel : Formations continues sur la gestion de la performance, le leadership inclusif, la construction d'équipes performantes et la rétroaction constructive.
- Diversité et inclusion : Revues d'équité salariale, politiques inclusives et groupe-ressource pour les femmes offrant mentorat, réseautage et sessions d'apprentissage trimestrielles.
- Travail hybride : Profitez de la flexibilité de notre modèle hybride vous permettant de travailler de la maison certains jours.
- Engagement communautaire : Deux journées de bénévolat rémunérées par an pour redonner aux causes qui vous tiennent à cœur.
- Événements d'équipe : Activités tout au long de l'année, incluant le lancement annuel, le sommet des employés, des 5à7 trimestriels et des événements par département.
- Avantages sociaux complets : Régime complet d'assurances collectives pour vous et votre famille, dès votre premier jour.
- Compléments et avantages pour les nouveaux parents : Soutien financier et ressources pour accompagner les employés dans leur transition vers la parentalité.
Déroulement du processus d'entrevue- Appel initial
- Rencontre avec l'équipe
- Étude de cas ou exercice à domicile
- Décision et offre
La culture de VentionVention est un environnement stimulant pour les personnes ambitieuses. Vous pensez que notre culture vous inspire ? Consultez notre guide complet de la culture ici.
Journée de démonstration 2025
Vidéo sur la culture
Department Technology Role Firmware Engineer Locations Montreal Employment type Full-time Team Firmware & Automation Location Montreal, QC Work Arrangement Hybrid