Senior Embedded Software Engineer
Remote - Full-timeApply to this Job
At Glowforge, we help people bring home the future and make it their own. Our printer uses a laser to carve and engrave products from raw materials like wood, leather, acrylic – even cardboard. Take a look and see for yourself.
We build magical products to delight our customers, and we do it while taking care of each other. We hire people who are outstanding at what they do, who thrive in tight-knit teams, and who want to make things that make a difference.
Together, we've built a product we're incredibly proud of, and the reward has been incredible growth. We work together because we believe in the power of creativity. We believe we can bring about a future where anyone can print anything.
We'd love to have you join us.
We're a remote-first company - just let us know where you prefer to work from!
Why We Need You
Our cloud-forward architecture is a subtle dance between lightning-quick and reliable firmware and the vast computing resources in the cloud. We rely on you to unlock the incredible abilities of the Glowforge hardware, from cameras to motors to sensors to lasers. You conduct the data flows across multiple processors and subsystems; you understand our hardware intimately and create the software to respond to the user’s every command.
Your code is the “feet on the ground.” You coordinate real-time motion, achieve subtle and accurate sensor readings, and manage complex multi-processor communications. Your code is at the very core of our customers’ Glowforge experience. You make our hardware sing.
Here’s what you’ll be doing
You’ll be working with a small and dedicated team of embedded systems professionals to deliver new functionality, improved reliability, and entire new accessories and features to Glowforge customers. That means:
- Optimizing a Linux embedded environment to make each Glowforge unit instantly responsive
- Developing kernel modules and drivers to unlock the power of each hardware subsystem
- Building user-space, IoT applications in high-level, object-oriented languages to keep the Glowforge unit tightly coupled to the power of the cloud service that drives it
- Developing responsive components with machine vision and robotic control to accelerate the features our customers love most
- Creating interfaces and communications with new Glowforge peripherals that unlock entirely new abilities for our customers
You need these qualifications
- Strong C++ coding skills, experience with object-oriented design patterns, and strong shell scripting skills
- Five or more years of embedded systems experience
- Experience building embedded Linux systems, ideally using the Yocto Project
- Working knowledge of ARM-based processors and SoCs
- You’ve been responsible for shipping a product that people love
- You’re passionate about writing great software…and still know that you sometimes have to make some tradeoffs to ship quickly.
It would be nice if...
- You have experience with bare-metal programming and debugging of ARM Cortex-M microcontrollers
- You have experience writing device drivers for communications and media peripherals
- You have experience with digital image processing, computer vision, or motion control
- You can read schematics and datasheets and work with analysis tools such as oscilloscopes and logic analyzers
- You know your way around gdb, SWD, and JTAG
- You have server-side exposure to technologies like Ruby on Rails, NodeJS, Docker, and Google Cloud Platform.
Send us a resume or a link to whatever showcases your skills the best. If a resume isn’t handy, a LinkedIn profile or GitHub account is fine. We can’t wait to meet you.
One more, very important thing: we are an equal opportunity employer and value diversity at our company. We’re strongly committed to providing equal employment opportunity for all employees and all applicants for employment. For us, this is the only acceptable way to do business.