Job Title
Principal Software Engineer, Edge Signal Processing: A Complex Challenge in Real-Time Embedded Systems
-----------------------------------
Job Description
As a Principal Software Engineer in our Edge Signal Processing team, you will be responsible for developing and implementing highly optimized edge signal processing algorithms in constrained embedded systems. You will work closely with key stakeholders to define and understand product requirements, and collaborate with system architects, algorithm engineers, digital and analog designers to define the optimal partitioning of algorithm implementation across hardware and software.
Key Responsibilities
* Develop and implement edge signal processing algorithms in C/C++ language
* Collaborate with cross-functional teams to design and develop embedded applications using RTOS such as Zephyr, ThreadX, FreeRTOS
* Work on optimization techniques for algorithm implementation using novel approaches in hardware and software
* Develop and verify signal processing algorithm performance in simulation environments
* Lead implementation of edge processing algorithms, including definition of Jira tickets, analysis of risk, planning of risk mitigation, and estimation of timelines for project deliverables
Requirements and Qualifications
* Electronics, Electrical or computer science graduate
* Master's or PhD is preferred
* Minimum 15 years' experience in designing and developing embedded software in C/C++ Language
* Experience in partitioning complex algorithms across hardware and software
* Experience in optimizing algorithm implementation using novel approaches in hardware and software
* Experience in developing and working in simulation environments to verify signal processing algorithm performance
Benefits and Others
* Opportunity to work on complex and challenging projects in real-time embedded systems
* Collaborative and dynamic work environment
* Professional development and growth opportunities
* Travel required: Yes, 10% of the time