Embedded Software Engineer
Glowforge is a beautiful device that sits on your desk. It uses a laser to carve and engrave products from raw materials like wood, leather, acrylic – even cardboard.
If you haven’t already, check out our video on glowforge.com. While you’re there, you’ll notice something amazing: Glowforge is the largest crowdfunding campaign in history. There is incredible demand for what we’re creating. It’s not a geeky tool for the tech elite or a garage workshop; we’re crafting an iconic product that is going to change the way people think about creativity. Our customers include consumers, digital designers, crafters, engineers, teachers, artists, and more.
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 datacenters we use. 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 make it 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 the very core of our customers’ Glowforge experience. You make our hardware sing.
Here’s what you’ll be doing
This is a full-time role in Seattle, and we are happy to help new employees relocate to this beautiful city.
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 real-time 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 and experience with an OO language and design patterns
- 5 or more years of embedded systems experience
- Development expertise in Linux, and/or multi-threaded RTOSes such as VxWorks, QNX, etc.
- Working knowledge of ARM-based processors and SoCs
- You have experience writing device drivers for communications and media peripherals.
- 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 digital image processing, computer vision, or motion control
- You can read a schematic and work with analysis tools such as o-scopes and logic analyzers
- You know your way around gdb and QEMU
- You have server-side exposure to technologies like NodeJS, Docker, and cloud providers.
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.
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.