Développeur·euse principal·e DevOps et automatisation
AON3D
Nous recherchons un·e expert·e Linux avec des compétences solides en DevOps et en développement logiciel pour automatiser pratiquement tous les aspects de notre startup technologique - matériel + logiciel confondus :
- Comment sont fabriquées, testées et livrées nos imprimantes 3D industrielles
- Comment sont construits, testés et déployés nos logiciels embarqués (Yocto Linux + composants maison) ainsi que notre application SaaS
- Comment sont diagnostiqués, déboguées et corrigés les problèmes sur nos machines - surtout celles déployées chez notre clientèle.
- Et bien plus encore.
Exemples de projets concrets :
- Amélioration de notre pipeline Yocto Linux, qui génère les images logicielles et les paquets RAUC pour nos imprimantes
- Création ou intégration d’outils facilitant le diagnostic matériel et logiciel, y compris dans des cas complexes (ex. : machines hors ligne)
- Optimisation du logiciel de station de démarrage utilisé sur notre ligne de production pour configurer les nouvelles imprimantes
- Collaboration avec les équipes d’ingénierie matérielle et de fabrication pour définir un plan de tests automatisés, puis développement du banc de test et des scripts associés
- Transformation de notre simulateur d’imprimante (actuellement sur une VM cloud unique) en un service cloud « à la demande » pour que chaque ingénieur·e puisse lancer son propre simulateur en un clic.
- Création d’un tableau de bord pour notre ferme d’imprimantes internes afin de suivre l’utilisation, la disponibilité et les ressources.
On pourrait se contenter de bricoler quelques scripts avec ChatGPT. Mais ce n'est pas notre vision. Ce qu'on veut, c'est construire un véritable « système d’exploitation » pour notre entreprise - extensible dans le temps, robuste et qui ne s'effondre pas sous le poids du code spaghetti.
On recherche donc quelqu'un qui combine des compétences DevOps avec une mentalité d'ingénieur·e logiciel, capable de bâtir des automatisations durables. La personne idéale adore traquer les cas limites, transformer des problèmes flous en métriques claires et faire en sorte que les ordinateurs fassent le travail répétitif à notre place. Elle a une bonne intuition des systèmes mécaniques et logiciels, et un sens du design logiciel - facile à faire évoluer, à tester en profondeur et à maintenir dans le temps.
Qualifications :
- Vous aimez programmer, automatiser, faire du DevOps. Et vous cherchez constamment à vous dépasser.
- Expérience approfondie avec Docker, Kubernetes, Terraform ou autres outils d’infrastructure-as-code
- Expérience avec des systèmes de compilation complexes (Yocto, idéalement, mais aussi Buildroot, CI Docker ou Kubernetes natif)
- Maitrise avancée de Linux : shell scripting, outils en ligne de commande, FHS, systemd, udev, systèmes de fichiers, configuration de composants comme nginx, etc.
- Solide compréhension des réseaux et de la sécurité - assez pour verrouiller Yocto et résoudre les problèmes réseau
- Capacité à diagnostiquer les problèmes en production et à analyser les journaux (logs), même sans accès SSH
- Aptitude à créer des outils qui automatisent le diagnostic - parce que le meilleur débogage, c'est celui qu'on n'a pas à faire.
- 2+ ans d’expérience en déploiement et dépannage d’applications cloud distribuées (Azure et/ou AWS)
- À l'aise pour conseiller les équipes TI de la clientèle sur la configuration réseau et la sécurité des imprimantes
- Excellentes compétences en communication écrite et orale - pour rédiger des rapports de bogues comme pour échanger avec la clientèle et les équipes internes
- 2+ ans d’expérience professionnelle en Python (langage principal de nos logiciels d'imprimantes)
- Forte orientation vers la productivité : vous concevez ou utilisez des outils qui accélèrent le travail sans sacrifier la qualité
- Bon sens de l'équilibre entre productivité et rigueur, selon le niveau d'exigence du projet
- Expérience en startup dynamique - et vous aimez ce rythme
- Vous prônez la collaboration, la communication claire et une approche sans ego
- Vous vivez à Montréal, ou êtes d'accord pour y déménager. et pouvez travailler au bureau de 3 à 5 jours/semaine, selon les besoins (beaucoup de tests se font sur nos imprimantes grand format)
Atouts supplémentaires
- Vous adorez l’impression 3D - vous avez une imprimante personnelle ou une expérience approfondie. Et un bonus en extra si c'est en environnement commercial ou industriel.
- Expérience en tests logiciels, assurance de la qualité (QA) ou DevOps
- Compétences en intégration matériel/logiciel et, idéalement, en développement de logiciels conçus pour fonctionner pour du matériel personnalisé
- Expérience dans l'utilisation, la conception ou la fabrication d'imprimantes 3D ou de machines-outils similaires
- Expertise avancée avec GitHub Actions (notre outil principal) ou autres plateformes d'intégration continue (CI)
- Expérience professionnelle avec Klipper ou d'autres firmwares d’imprimantes 3D
- Connaissance spécifique de Yocto Linux
- Programmation de système embarqués -ce rôle implique surtout du code haut niveau, mais la capacité à déboguer dans le firmware est un atout; Expérience en C/C++ également souhaitée.
- Compétences front-end suffisantes pour diagnostiquer des problèmes full-stack et en identifier les causes profondes
- Expérience dans des entreprises concevant du matériel physique contrôlé par logiciel, tous secteurs confondus (robots, fours industriels, IRM, kiosques, etc.).
