Enable job alerts via email!
Boost your interview chances
Create a job specific, tailored resume for higher success rate.
Join a pioneering firm in the 3D printing industry as an embedded Linux system integrator. In this exciting role, you will focus on enhancing software quality and deployment infrastructure for cutting-edge industrial 3D printers. Your expertise in Python and embedded Linux will be pivotal in automating testing processes, ensuring high-quality outputs without delays. This position offers a unique challenge, combining mechanical and software systems in a dynamic environment. If you are passionate about innovation and want to make a significant impact in the realm of 3D printing, this opportunity is perfect for you.
Lieu : Montréal (QC)
Nous avons besoin d’un·e intégrateur·trice Linux embarqué passionné·e par les tests automatisés pour prendre en charge la qualité logicielle et l’infrastructure de déploiement de notre flotte d’imprimantes 3D industrielles.
Tu maintiendras et amélioreras la chaîne de génération d’images et de mises à jour (BitBake, Yocto Linux, RAUC) ; tu mettras aussi en place des tests automatisés couvrant tout notre stack logiciel, afin qu’on puisse livrer vite sans sacrifier la qualité.
Tester une imprimante 3D industrielle, c’est tout sauf banal :
Le micrologiciel déplace plusieurs kilos de mécanique à haute vitesse dans le plafond d’un four plus chaud que celui de ta cuisine tout en extrudant du plastique fondu au micron près.
Il collecte des données de capteurs ayant chacun leur référence d’horloge, les synchronise, puis les agrège pour l’analyse qualité en temps réel.
L’intelligence est répartie : un daemon Python tourne sur la box Linux ; plusieurs MCUs temps-réel (C embarqué) exécutent des commandes sérialisées automatiquement par le daemon.
On ne sait pas encore émuler une machine complète sans matériel physique, donc nos tests combinent :
routines dédiées lancées sur des imprimantes au repos ;
dogfooding continu dans notre ferme interne.
Tu aimes traquer les cas limites, transformer des problèmes flous en métriques claires et faire bosser les ordis à ta place.
Tu as de l’intuition pour la mécanique et le logiciel, et le goût d’une architecture propre, testable et fiable.
Si tu parviens à automatiser l’essentiel du poste en un an, tu pourras évoluer vers un rôle de lead logiciel – si tu en as envie.
3 ans+ d’expérience pro récente à coder en Python au quotidien.
Solide expérience et instinct avec Linux embarqué : systemd, règles udev, filesystems, etc.
Gestion et amélioration de chaînes de build complexes. BitBake idéalement, mais Buildroot, CI Docker/K8s, etc., ça compte aussi.
Esprit d’équipe : collaboration, communication, bonne humeur.
Communication claire en anglais ou français, et à l’aise dans l’autre.
Expérience pro en tests/QA/DevOps logiciel.
Intégration matériel/logiciel ; idéalement développement au-dessus de hardware sur mesure.
Connaissance ou utilisation/conception d’imprimantes 3D ou de machines-outils similaires.
Excellente communication en français et anglais.
Expérience pro avec Klipper ou un autre firmware d’imprimante 3D.
Connaissance spécifique de Yocto Linux.
Compétences en tests front-end : aujourd’hui nos UIs sont surtout testées par des utilisateurs internes, mais ce sera un goulot d’étranglement d’ici un an.
Envie de rendre l’impression 3D industrielle plus fiable et plus rapide ? Viens automatiser tout ce qui bouge avec nous à Montréal !
We’re looking for an embedded Linux system integrator obsessed with automated testing to own software quality and deployment infrastructure for our fleet of industrial 3D printers. This role will be responsible for maintaining and improving our image/update creation infrastructure (BitBake, Yocto Linux, RAUC) and implementing automated testing for our device software stack to enable a high rate of shipping without compromising quality as we grow the team.
Industrial 3D printers are uniquely hard to test - our firmware is responsible for slinging a few kilograms of hardware around accurately at high speeds in the ceiling of an oven hotter than yours at home and extremely precisely metering hot molten plastic onto the build surface as it does so. It also collects and correlates data across several sensors with different clock references and combines them for later analysis to perform in-process quality control. Its functionality is split between a Python daemon running on the linux box and multiple realtime MCUs running embedded C with an autoserialized command language scheduling the MCUs from the daemon. We don’t yet have the capability to emulate whole printers without real hardware, so we test using a mix of dedicated test routines run on idle printers and continuous user testing in our internal print farm.
The ideal candidate for this role loves hunting for edge cases, condensing amorphous problems into measurable quantities, and making computers do repetitive work so you don’t have to. You should have a strong intuition for both mechanical and software systems and a sense of taste for good software architecture that will be easy to build upon, test thoroughly, and keep running. This role has the potential to grow into a software management role if you execute well for a year to automate most of its initial responsibilities, and want to grow in that direction.
3+ years recent professional experience writing Python day-to-day
Strong experience with and intuition for embedded linux: Systemd, udev rules, filesystems, etc.
Experience managing and improving complex build tooling. Ideally Bitbake, but Buildroot / Docker-based CI pipelines / Kubernetes-native build systems also count.
Collaborative, communicative, and friendly like the rest of the team.
Clear communication skills in either English or French, and conversant in the other.
Past professional experience in a software testing / QA / DevOps capacity.
Experience with hardware/software integration and, ideally, with writing software that sits on top of custom hardware
Experience using, building, or designing 3D printers or similar machine tools.
Clear communication in both French and English.
Experience with Klipper or other 3D printer firmware in a professional capacity.
Experience with Yocto linux specifically
Front-end testing capabilities. For now our front-end is mostly internal user testing and that works, but it will be a growth bottleneck in about a year.