AON3D Logo

AON3D

Ingénieur·e principal·e en logiciel pour dispositifs / Senior Device Software Engineer

Posted 5 Days Ago
Be an Early Applicant
In-Office
Montréal, QC
Senior level
In-Office
Montréal, QC
Senior level
The role involves developing features for the Klipper firmware, collaborating with engineers, and ensuring effective real-time operations on 3D printers.
The summary above was generated by AI

Nous cherchons un·e ingénieur·e logiciel senior pour travailler sur le micrologiciel Klipper, au cœur de nos imprimantes 3D.
Les candidats doivent être à Montréal cinq jours par semaine — la meilleure ville en Amérique du Nord. Les développeurs travaillent de la maison un à deux jours par semaine, mais doivent pouvoir travailler en personne avec les imprimantes au besoin.

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.

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

Candidates must be in Montreal 5 days per week, the best city in North America. Developers work from home 1-2 days per week, but must be able to work in person with the printers when needed.
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.

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

Top Skills

C
Python

AON3D Montréal, Québec, CAN Office

9494 Boulevard St-Laurent, Montréal, Quebec, Canada, H2N 1P4

Similar Jobs

29 Minutes Ago
Remote or Hybrid
Montréal, QC, CAN
Senior level
Senior level
Artificial Intelligence • Cloud • HR Tech • Information Technology • Productivity • Software • Automation
The role involves leading a team to design and implement the ServiceNow AI Platform, ensuring high-quality software delivery and integrating AI technologies into workflows for enterprise customers.
Top Skills: GoJavaKubernetesPython
Junior
Financial Services
As a Servicing Travel Advisor, you assist customers in booking travel, resolve issues, and provide service information while ensuring satisfaction and loyalty.
Top Skills: GdsSelf-Booking Tools
Yesterday
Hybrid
Montréal, QC, CAN
Senior level
Senior level
Fintech • Professional Services • Consulting • Energy • Financial Services • Cybersecurity • Generative AI
The role involves supporting project execution in the ISG Mainframe Decommission program, building data models, collaborating with stakeholders, and learning new technologies.
Top Skills: AutomationData AnalysisGenerative AiPower BIProject Management ToolsReporting Tools

What you need to know about the Montreal Tech Scene

With roots dating back to 1642, Montreal is often recognized for its French-inspired architecture and cobblestone streets lined with traditional shops and cafés. But what truly sets the city apart is how it blends its rich tradition with a modern edge, reflected in its evolving skyline and fast-growing tech industry. According to economic promotion agency Montréal International, the city ranks among the top in North America to invest in artificial intelligence, making it le spot idéal for job seekers who want the best of both worlds.

Key Facts About Montreal Tech

  • Number of Tech Workers: 255,000+ (2024, Tourisme Montréal)
  • Major Tech Employers: SAP, Google, Microsoft, Cisco
  • Key Industries: Artificial intelligence, machine learning, cybersecurity, cloud computing, web development
  • Funding Landscape: $1.47 billion in venture capital funding in 2024 (BetaKit)
  • Notable Investors: CIBC Innovation Banking, BDC Capital, Investissement Québec, Fonds de solidarité FTQ
  • Research Centers and Universities: McGill University, Université de Montréal, Concordia University, Mila Quebec, ÉTS Montréal

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account