We are seeking an Embedded Applications Engineer to join our growing team. Efficient’s Embedded Applications Engineer will design and implement applications to run on the world’s most energy-efficient programmable processor (the “Fabric”). They will work closely with Efficient’s compiler team to implement customer requirements and assure the quality of the compiler, assisting in debugging when necessary. This position is a unique opportunity to develop applications for cutting-edge hardware, while working as part of a highly interdisciplinary team and making an immediate impact in building the next generation of embedded applications.
Key responsibilities
- Develop a suite of embedded applications working from customer requirements, existing specifications, and existing code
- Build applications using Efficient’s compiler and software stack targeting Efficient’s Fabric
- Deploy applications on Efficient’s Fabric, in software simulation, and in FPGA emulation
- Validate and measure performance and energy characteristics based on customer application requirements
- Gather minimum-viable test cases to convey bugs and feature requests to the compiler team
- Work closely with compiler team to test, debug and refine the compiler feature set
- Contribute to optimized frameworks and libraries, targeting digital signal processing, machine learning, etc.
Required qualifications & experience
- Must be an excellent embedded engineer with 2+ years of work experience
- 2+ years of C/C++ experience
- 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
- Work performed for government contract customers requires U.S. Citizenship
Desired qualifications & experience
- Experience using LLVM, MLIR, GCC, or a similar compiler framework to develop compiler passes
- Experience building TinyML models and deploying models under severe resource constraints (e.g. limited memory)
- Experience writing optimized BLAS and DSP kernels
- Knowledge of computer architecture