Senior DevOps & Automation Developer

Montreal, QC, Canada
Full Time
Experienced

We’re looking for a Linux expert with both DevOps and software development skills to automate pretty much everything about our how hardware+software startup produces our tech and supports our customers:

  • How we build, test, and ship our industrial 3D printers

  • How we build, test, and release our device software (Yocto Linux + our custom components) and SaaS software

  • How we troubleshoot, debug, and fix problems with our hardware and software, especially on machines deployed at customer sites

  • And much more!

Here’s some example projects that we need help with:

  • Improving our Yocto Linux build process that generates software images and RAUC bundles that run our printers

  • Building and/or buying tools to make it easier to troubleshoot hardware and software problems, including challenging cases like customer machines not connected to the internet

  • Enhancing the “bringup station” software that our manufacturing production line uses to provision new printers

  • Helping our hardware engineering and manufacturing teams define an automated test plan for our printers, and then building out (either yourself and/or by partnering with hardware engineers) a test harness and tests

  • Transforming our printer emulator software (currently running on a single cloud VM) into a cloud-hosted “emulator on demand” so any of our engineers can spin up their own personal emulator with one click.

  • Building a “print farm dashboard” to track usage, availability, and resource utilization for our internal printers

One way to accomplish the above is to hack up some scripts with ChatGPT and call it done. That’s not enough! Instead, we want to build an “operating system” for our company that we can extend over time and doesn’t collapse under its own weight of spaghetti code.

So we’re looking for someone with DevOps skills combined with a software-engineering mindset that will ensure our automations stand the test of time. The ideal candidate for this role loves hunting for edge cases, condensing amorphous problems into measurable quantities, and making computers do repetitive work. 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.

Qualifications

  • You love programming, automating, and DevOps, are good at it, and want to get even better

  • Deep experience with Docker, Kubernetes, Terraform, and/or other infrastructure-as-code platforms

  • Experience managing and improving complex build tooling. Ideally Yocto, but Buildroot / Docker-based CI pipelines / Kubernetes-native build systems also count.

  • Deep experience with Linux: shell scripting, and command-line tools, the Linux FHS, systemd, udev rules, filesystems, configuration for infrastructure components like nginx, and other DevOps-adjacent skills required to efficiently deploy, manage, and debug Yocto images and our own code running on it.

  • Deep understanding of networking and security, in order to troubleshoot network problems and to lock down our printers' Yocto OS to the smallest-possible attack surface

  • Good at production troubleshooting and log analysis. You can not only file a good bug report but in many cases identify the root cause. Sometimes you’ll get lucky and have a live repro with SSH access, but in other cases you’ll only have logs, screenshots, and other artifacts to work with.

  • Good at building tools and systems that automate problem diagnosis and thereby reduce the labor needed for production troubleshooting, because the best kind of debugging is “no debugging”.

  • 2+ years experience deploying and troubleshooting distributed cloud apps on AWS and/or Azure (ideally both; we use Azure and may move to AWS in the future)

  • Enthusiasm for occasionally advising and teaching our enterprise customers' IT teams how to configure their networks and to secure their printers, just like you’re doing internally

  • Great communication skills, both in writing (clear bug reports, well-written technical docs) and when interacting with customers and internal stakeholders

  • 2+ years of professional experience in Python, which is what much of our printer software (especially the parts you’ll interact with most) is written in

  • Passion for productivity. You are always finding and making tools that help you and your colleagues go faster without sacrificing quality.

  • You’re flexible and pragmatic without being sloppy. Different tasks require a different balance of productivity vs. quality. You’re wise enough to choose the right emphasis for each project.

  • Experience at, and enthusiasm for, fast-moving startups

  • Collaborative, communicative, friendly, and low-ego like the rest of the team

  • You live in Montreal (or are willing to relocate) and can work in the office 3-5 days per week, depending on the week’s tasks. Much of your work will require testing on our refrigerator-sized printers, so in-person work is a priority.

Preferred:

  • You love 3D printing! You may have a printer at home or have extensive 3D printing experience. Extra points if in commercial or industrial environments.

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

  • Advanced expertise with GitHub actions (which is what we use) or other CI tools

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

  • Experience with Yocto linux specifically

  • Embedded systems programming. This role will mostly involve interacting with higher-level code, but being able to debug into firmware is helpful! Professional experience in C/C++ is also preferred, for the same reasons.

  • Sufficient front-end knowledge that you can debug into and troubleshoot full-stack problems, identify root causes, etc.

  • Experience at companies that build computer-controlled physical equipment in any industry, like robots, commercial ovens, MRI machines, kiosks, etc.

Share

Apply for this position

Required*
Apply with Indeed
We've received your resume. Click here to update it.
Attach resume as .pdf, .doc, .docx, .odt, .txt, or .rtf (limit 5MB) or Paste resume

Paste your resume here or Attach resume file

Human Check*