Firmware Engineer - Product Development
- 10855 S River Front Pkwy, South Jordan, UT 84095, USA
Cricut® is the global leader in the connected DIY technology space, and let’s face it, if it’s going to be done right, you have to do it yourself! Cricut® is recognized as one of the craft industry’s forerunners in innovation and design and for good reason. The “Cricut®” is an electronic cutting machine – like a printer that cuts – that empowers our talented users to design their own projects by cutting intricate patterns with over 100 different materials ranging from paper and card stock to iron-on and adhesive vinyl and even thicker materials like chipboard and leather.
Using our cloud-based Design Space® software, our customers weld, slice, and finagle shapes and images of all sizes using digital content from our library or uploaded from the web to make personalized cards, posters, custom t-shirts, home décor, even quilting and sewing projects. Science projects that win ribbons and get A’s, check! Valentine Cards that make your lover melt? You bet. Quilts? You mean you don’t have to be a grandma to sew a quilt? The possibilities are endless. If anyone is telling themselves, creativity is not my forte—well, we’ve got that covered too. Our customers can select from over 3,000 Make-it-Now projects which make DIY easier than ever before. We sell the machines, the materials, and the digital content that makes it all possible
We are looking for a Firmware Engineer to facilitate the rapid development, prototyping, and debugging of firmware for embedded electromechanical systems, software test tools, and manufacturing support software. Additional responsibilities include code architecture definition, revision control and bug tracking. The creation and review of documentation are additional key responsibilities. Contributions to product definition and development methodology are also required.
Cricut® is an equal opportunity employer. We celebrate diversity and are committed to creating an inclusive environment for all employees.
- Embedded firmware code development, testing, and optimization
- In-Depth microcontroller programming including development of bootloader code and board bring up.
- Develop and tune motor control system related to PID motor control
- Analyzing and developing firmware, along with integrating existing products with each other
- Provide tools and support for engineering prototyping efforts
- Support firmware update testing and deployment
- Debugging low level hardware interfaces (USB, UART, PWM, GPIO, etc).
- Integration with software team for multi-platform development
- Development of internal software tools to support testing
- Customer technical support
- Multi-platform code development
- Creation and review of documentation
- Bachelor’s or Master’s Degree in Electrical or Computer Engineering. Computer Science degrees only with significant embedded software experience
- At least 2+ years experience with embedded software development
- Ability to read and interpret circuit schematic diagrams
- Ability to design electrical control circuits a plus
- Strong hardware and software/firmware development skills
- Experience with Device Drivers (Linux, Windows, Mac OS)
- Proficient in C/C++, exposure to Python
- Experience with mechanical actuators (motors, solenoids, etc.)
- Knowledge of techniques required to produce robust, fast, and secure code
- Experience with SW security and encryption techniques
- Proficiency at solving problems in a timely manner
- Strong numerical analytic skills
What to Do Next: Please send a resume and a cover letter describing why you are the best person for this position. You can be sure Cricut is an employer who values individuality and variety. Write to us in your real voice and tell us what you’re all about. Please submit any online presence you may have (Twitter, Facebook, Instagram, Pinterest, Fan pages made because of you), and if you are a DIY enthusiast, that means a lot to us, and we would love to hear about it when you send us your information!