Efficient’s Lead Applications Engineer will manage the day-to-day responsibilities of our applications team, guiding application development for the world’s most energy-efficient programmable processor. They will collaborate across all teams, gathering requirements and information to successfully bring up new silicon. Further they will work closely with the compiler team to implement customer requirements and build optimized libraries and firmware. 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 play an integral role on 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
Manage the day-to-day responsibilities of the embedded engineering team, including:
Leading the planning of sprints
Creating, rescoping, and keeping track of tasks
Assisting in debugging to unblock engineers
Develop embedded applications using Efficient’s compiler and customer requirements, specifications, and existing code to target Efficient’s processor
Validating and measuring the performance and energy of the processor on internal and customer benchmarks
Optimizing code to efficiently target the processor
Contribute to an embedded TinyML software stack including a library of optimized common machine learning operators
Work closely with compiler team to test and refine compiler feature set
Required Qualifications & Experience
Must be an excellent embedded engineer with 7+ years of post-graduate experience OR similar experience with a PhD
Bachelor’s degree in CS, Engineering or related field required; Master’s degree or PhD preferred.
Prior experience bringing up new silicon or working on new silicon
Knowledge of computer architecture
Deep knowledge of at least one embedded platform, such as MSP430, STM32, Ambiq Apollo, PIC32, or similar
Ability to develop clean, efficient and reusable C/C++ code
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; ability to develop solutions and ideas when faced with problems or issues.
Desired Qualifications & Experience
Proficiency in Python
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