Enable job alerts via email!

Senior Device Software Engineer

AON3D

Montreal

On-site

CAD 80,000 - 120,000

Full time

Yesterday
Be an early applicant

Boost your interview chances

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

Job summary

Join an innovative firm at the forefront of 3D printing technology, where you will work on the Klipper firmware for a complex 3D printer system. This role emphasizes developing robust Python code while collaborating closely with engineers to enhance functionality and performance. As part of a dynamic team, you will tackle real-time challenges and contribute to cutting-edge projects that push the boundaries of manufacturing and design. If you're passionate about technology and eager to make a tangible impact, this is the perfect opportunity for you.

Benefits

Flexible working hours
Health insurance
Professional development opportunities
Team-building activities

Qualifications

  • 3+ years of recent experience coding in Python daily.
  • Functional understanding of embedded C and real-time microcontroller constraints.

Responsibilities

  • Develop new features in Klipper and platform-agent.
  • Collaborate with scientists and application engineers to translate needs into software solutions.

Skills

Python
C Embedded
Team Collaboration
Communication

Education

Bachelor's in Computer Science or related field

Tools

Klipper Firmware
3D Printers

Job description

Nous cherchons un·e ingénieur·e logiciel senior pour travailler sur le micrologiciel Klipper, au cœur de nos imprimantes 3D.

Klipper suit une architecture partagée : toute la logique « soft temps réel » s’exécute dans un service Python (daemon) qui tourne sur l’ordinateur hôte de l’imprimante, tandis que les tâches « temps réel dur » sont planifiées par ce service et exécutées sur plusieurs microcontrôleurs, le tout avec une synchronisation d’horloge très serrée. Le poste se concentre sur la partie Python, mais il faut quand même être à l’aise en C embarqué pour comprendre où chaque fonction a sa place.

Notre machine : Hylo

Hylo est une bête de complexité : on combine une cinématique linéaire ultra-précise avec un four plus chaud que celui de ta cuisine pour fabriquer des pièces en plastiques exotiques destinées à l’aérospatiale, la chimie, la fabrication et la défense.
Notre micrologiciel reflète cette complexité et la gère :

  • compensation dynamique de la dilatation thermique ;

  • alimentation automatique du plastique depuis un compartiment étanche à l’humidité ;

  • correction des défauts mécaniques grâce à une chaîne de calibrations auto-apprenantes ;

  • streaming massif de données temps réel vers notre plateforme nuagique Basis pour le contrôle qualité en cours de fabrication.

Le rôle couvre le développement de nouvelles fonctionnalités dans Klipper et dans platform-agent (le module qui pousse les données vers Basis). Il faut donc écrire un Python propre, évolutif et bien architecturé, tout en gardant en tête la mécanique et la théorie du contrôle. Tu travailleras main dans la main avec nos scientifiques et ingénieurs d’application : transformer leurs besoins quotidiens en scénarios de repro de bogues ou en demandes de nouvelles features fait partie du job.

Exigences minimales
  • 3 ans+ d’expérience professionnelle récente à coder en Python au quotidien.

  • Compréhension fonctionnelle du C embarqué et des contraintes de microcontrôleurs en temps réel dur.

  • Esprit d’équipe : collaboration, communication, bonne humeur.

  • Présence obligatoire au bureau, avec les imprimantes, 5 jours/semaine à Montréal – aucune option télétravail.

  • Communication claire en anglais ou français, et capacité de se débrouiller dans l’autre langue.

Fortement souhaité
  • Tu aimes faire du concret : salir tes mains, démonter, mesurer.

  • À l’aise pour communiquer clairement en français et en anglais.

  • Expérience d’intégration matériel/logiciel, idéalement sur du matériel conçu sur mesure.

  • Connaissances en ingénierie de contrôle ou travail sur des systèmes précis calibrés par logiciel.

  • Autonomie et rendement élevé.

  • Expérience en utilisation, construction ou conception d’imprimantes 3D ou de machines-outils similaires.

Atouts
  • Notions de front-end et sens du design UX : ce ne sera pas ta responsabilité principale, mais penser à l’interface finale aide à écrire un bon micrologiciel.

  • Expérience professionnelle avec Klipper ou un autre firmware d’imprimante 3D.

  • Usage réfléchi d’outils d’IA modernes pour comprendre rapidement de gros codebases sans créer de dette technique.

  • Bases en électronique.

Montréal : la meilleure ville d’Amérique du Nord (en toute objectivité !). Viens bâtir le futur de l’impression 3D avec nous.



We’re looking for a senior software engineer to work on our core 3D printer firmware, Klipper. Klipper has a split architecture where all soft-realtime process logic is implemented in a Python daemon running on the printer’s host computer, and hard-realtime tasks are orchestrated or scheduled by the Python daemon to execute on multiple embedded MCUs with careful clock synchronization behind the scenes. This role is focused on the Python half of Klipper, but you should be conversant in embedded C development to succeed with the team and understand what functionality belongs where.

Our 3D printer, Hylo, is an incredibly complex system. We wrap a high precision linear motion system around an oven hotter than your kitchen oven at home and use it to build parts out of exotic plastics for demanding applications in aerospace, chemicals, manufacturing, and defense. Our firmware reflects and tries to encapsulate that complexity - we actively adjust the tool position to cancel out thermal expansion, automatically feed plastic from humidity-controlled storage onboard the printer, compensate out the imperfection of as-built hardware using a chain of self-calibrating transforms, and stream tons of real-time data back to our cloud software Basis for in-process quality control.

This role is responsible for new feature work in Klipper and platform-agent, the module which streams data back to Basis. You should have strong Python coding abilities and taste in software architecture to keep the project maintainable as we rapidly grow. Ideal candidates will also be passionate about mechanical systems and come with strong intuitions around motion systems and control theory. You will need to interface with our scientists and application engineers using the printers day to day and translate their requirements into either clean reproduction steps for bugs or feature requests for prioritization.

Qualifications
  • 3+ years recent professional experience writing Python day-to-day

  • Conversational understanding of embedded C and the constraints of hard real-time microcontrollers.

  • Collaborative, communicative, and friendly like the rest of the team.

  • Must be in office with the printers 5 days per week in Montreal, the best city in North America. Absolutely no remote.

  • Clear communication skills in either English or French, and conversant in the other.

Strongly Preferred
  • Likes to make physical stuff. You will get your hands dirty.

  • Clear communication in both French and English.

  • Experience with hardware/software integration and, ideally, with writing software that sits on top of custom hardware

  • Controls engineering experience or related work with precision systems that achieve accuracy through software calibration.

  • High output working independently.

  • Experience using, building, or designing 3D printers or other machine tools.

Nice to have
  • Front-end familiarity and a taste for UX design. Front-end will not be your responsibility, but keeping the intended UI in mind while developing firmware is valuable.

  • Experience with Klipper or other 3D printer firmware in a professional capacity.

  • Experience using modern AI tools to understand codebases and architecture choices fast without adding tech debt to your projects

  • Conversational knowledge of electronics.

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

Similar jobs

Senior Software Engineer

Valsoft Corporation

Montreal

Remote

CAD 80,000 - 120,000

3 days ago
Be an early applicant

Développeur Logiciel Senior

Alter Solutions Group

Montreal

Remote

CAD 80,000 - 120,000

-1 days ago
Be an early applicant

Senior Full Stack Software Developer

TV2 Consulting

Montreal

Remote

CAD 110,000 - 140,000

10 days ago

Senior Software Engineer - Integrations

StackAdapt Inc.

Remote

CAD 70,000 - 110,000

-1 days ago
Be an early applicant

Senior Software Engineer, Billing

StackAdapt Inc.

Remote

CAD 80,000 - 120,000

-1 days ago
Be an early applicant

Senior Full Stack Software Engineer

StackAdapt Inc.

Remote

CAD 80,000 - 120,000

-1 days ago
Be an early applicant

Senior Software Engineer

Employer Direct Healthcare

Remote

CAD 80,000 - 120,000

Today
Be an early applicant

Senior Software Engineer

Microsoft Corporation

Old Toronto

Remote

CAD 108,000 - 200,000

Today
Be an early applicant

Senior Full Stack Software Engineer - Canada

Mosey

Remote

CAD 80,000 - 120,000

Yesterday
Be an early applicant