Embedded Engineer
Efficient’s Embedded Engineer will design and implement applications to run on the world’s most energy-efficient programmable processor. They will work closely with Efficient’s compiler team to implement customer requirements and build libraries of optimized kernels (e.g. a custom TinyML software stack). This position is a unique opportunity to develop applications for cutting-edge hardware as part of a highly interdisciplinary team, helping to demonstrate the value of Efficient’s breakthrough technology. If you are an engineer who wants to be part of an intensely skilled team and wants to have an immediate impact building the next generation of energy-efficient embedded applications, this is for you!
Key Responsibilities
- Develop embedded applications working from customer requirements, existing specifications, and existing code
- Deploy applications to Efficient’s processor targets, in software simulation, FPGA emulation, and silicon implementation
- Build out a board support package (BSP) for Efficient’s processor and maintain a set of standard libraries
- Contribute to Efficient’s software ecosystem, including optimized libraries for embedded TinyML, standard DSP kernels, and other common operations
- Validate and measure performance and energy characteristics based on customer application requirements
- Work closely with compiler team to test and refine compiler feature set
Required Qualifications & Experience Requirements
- Must be an excellent embedded engineer with 7+ years of experience
- 7+ years of experience with C and/or C++
- Deep knowledge of at least one embedded platform, such as MSP430, STM32, Ambiq Apollo, PIC32, or similar
- Experience developing and deploying applications under resource constraints
- Experience using non-standard build environments and compiler toolchains, especially for embedded systems
- Experience using industry standard development and debugging tools for embedded development
- Strong attention to detail, good work ethic, ability to work on multiple projects simultaneously, and good communication skills
- Good problem solving skills
Desired Qualifications & Experience Requirements
- Experience building TinyML models and deploying models under severe resource constraints (e.g. limited memory)
- Experience writing optimized BLAS and DSP kernels
- Experience with compiler development, including LLVM and/or MLIR
- Experience with PCB board design using industry standard CAD tools like Altium or similar
- Knowledge of computer architecture
Efficient offers a competitive compensation and benefits package, including 401K match, company-paid benefits, equity program, paid parental leave, flexibility, and more! We are committed to personal and professional development and strive to grow together as people and as a company.