Enable job alerts via email!

Device Deployment Software Engineer

AON3D

Montreal

On-site

CAD 150,000 - 230,000

Full time

3 days ago
Be an early applicant

Boost your interview chances

Create a job specific, tailored resume for higher success rate.

Job summary

A leading company in Montreal is seeking an embedded Linux system integrator to enhance the reliability and speed of industrial 3D printing. The role involves maintaining deployment infrastructure and implementing automated testing to ensure high-quality software delivery. The ideal candidate will have a strong background in Python and embedded Linux, with opportunities for growth into a lead software role.

Qualifications

  • 3+ years recent experience coding in Python.
  • Strong experience with embedded Linux systems.
  • Experience managing complex build systems.

Responsibilities

  • Maintain and improve image/update creation infrastructure.
  • Implement automated testing for device software stack.
  • Collaborate with the team to ensure software quality.

Skills

Python
Linux
Automated Testing
Collaboration
Communication

Tools

BitBake
Yocto Linux
RAUC

Job description

1 week ago Be among the first 25 applicants

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.

Lieu : Montréal (QC)

Ce qu’on cherche

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é.

Pourquoi c’est un défi

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

Le profil idéal

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.

Exigences minimales

  • 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

Fortement souhaité

  • 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

Atouts supplémentaires

  • 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.

Qualifications

  • 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

Strongly Preferred

  • 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

Nice to Have

  • 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

Powered by JazzHR

0vq9nQZ4Rv

Seniority level
  • Seniority level
    Mid-Senior level
Employment type
  • Employment type
    Full-time
Job function
  • Job function
    Engineering and Information Technology
  • Industries
    Internet Publishing

Referrals increase your chances of interviewing at AON3D by 2x

Get notified about new Software Engineer jobs in Montreal, Quebec, Canada.

Montreal, Quebec, Canada CA$38.46-CA$60.90 2 months ago

Montreal, Quebec, Canada $150,000.00-$230,000.00 1 month ago

Software Developer (Python) - Up to $200k CAD + Huge Bonus
Full-Stack Software Engineer [Contract] [Remote possible]
Frontend Software Engineer (React) - Up to $200k CAD + Bonus
Software Engineer (Python) - Up to $200k CAD + Bonus - Elite Tech Firm
Software Engineer - Elite FinTech - Up to $200k CAD First Year Comp - Montreal
Junior Software Engineer (1-5 years) - Python or C++ - Hybrid working - Up to $160,000 CAD Base (+Bonus)
Software Developer: $200k + Bonus (Elite Fintech)!
Software Engineer, Intermediate or Senior

We’re unlocking community knowledge in a new way. Experts add insights directly into each article, started with the help of AI.

Get your free, confidential resume review.
or drag and drop a PDF, DOC, DOCX, ODT, or PAGES file up to 5MB.

Similar jobs

Software Engineer - Elite FinTech - Up to $200k CAD First Year Comp - Montreal

ZipRecruiter

Montreal

Remote

CAD 150,000 - 200,000

Yesterday
Be an early applicant

Software Engineer - Elite FinTech - Up to $200k CAD First Year Comp - Montreal

Hunter Bond

Montreal

Remote

CAD 170,000 - 200,000

2 days ago
Be an early applicant

Experienced Software Engineer

Outschool

Remote

CAD 144,000 - 215,000

Today
Be an early applicant

Software Engineer II

Affirm

Hamilton

Remote

CAD 125,000 - 175,000

Today
Be an early applicant

Principal Software Engineer, Traffic Management

JOB HR

Victoria

Remote

CAD 203,000 - 283,000

Today
Be an early applicant

Senior Software Engineer

Raisely

British Columbia

Remote

CAD 135,000 - 165,000

Today
Be an early applicant

Senior Software Engineer (Online Storage)

Affirm

San Juan de Terranova

Remote

CAD 150,000 - 200,000

Today
Be an early applicant

Lead C# Software Engineer (Feature Focused)

Jobot

Toronto

Remote

CAD 165,000 - 200,000

Yesterday
Be an early applicant

Go (Golang) Software Engineer for Identity Management

Canonical

Calgary

Remote

CAD 135,000 - 175,000

Yesterday
Be an early applicant