Senior Embedded SW Engineer
Endura Technologies is a San Diego-based fabless semiconductor company providing power management, smart audio and Artificial Intelligence HW IP solutions. We intend to transform power management in SoC and implement highly scalable smart edge audio platforms through constant disruptive innovation. We have assembled, and will continue to augment, a world class team with deep technical expertise in power management and AI platforms for mobile, wearable, and IoT sensor SoCs.
We are looking for a motivated, self-starter engineer to be a core member of our software and firmware team. As a senior embedded SW Engineer, you will have the opportunity to contribute to and work on design & implementation of embedded SW, mainly for our custom designed AI HW blocks.
Job specific tasks include implementation of new product features as part of the development of AI HW & SW IP blocks and bring up of HW IP blocks and work closely with other SW developers and analyze test results to resolve any issues arising as part of the HW bring up process. Other responsibilities include support of HW design team, assistance with internal SW/HW integration and testing efforts and implement AI models using common AI frameworks (Tensorflow, PyTorch etc.).
- Design, develop and implement the different components AI SW stack.
- Work closely with the Systems and HW team to co-design the AI HW & SW IP blocks and thereby define HW/SW boundary.
- Analyze software requirements, determine the feasibility of design within the given constraints, consult with Systems and HW engineers, and come up with software solutions best suited for Endura AI HW IPs.
- Develop and execute benchmark and test scenarios for different AI models and optimize software stack along with the compiler team to extract maximum performance from HW blocks.
- Analyze and identify system level integration issues, interface with the HW, software & integration and test teams.
Skills and Qualifications
- Embedded experience on bare metal ARM/x86 and peripherals. Deep knowledge of tools and workflow (J-Link, On Chip Debuggers, Logic analyzers etc.)
- Low level Linux experience, including device trees, drivers, uboot etc.
- Experience in machine learning frameworks such as Tensorflow, PyTorch, MxNet, Torch etc.is highly desired
- Expert-level programming skills in C++, C and assembly languages
- Comfortable reading schematics / datasheets, comfortable with HW debugging tools (oscilloscope, logic analyzer etc.)
- Experience with SW development processes: project planning, version control, bug tracking
- Excellent teamwork and communication skills
- BSCS/MSCS with a Minimum of 4+ years of related experience