Job Description
We are looking for a skilled DSP Software Engineer to join a high-performance embedded software team developing software frameworks for advanced processing platforms. The ideal candidate should have strong expertise in embedded software development, Digital Signal Processing (DSP), Linux kernel concepts, and real-time embedded systems. This role involves developing, debugging, and optimizing software that interacts with DSP processors, firmware, and hardware components.
Key Responsibilities
- Develop software frameworks for multi-threaded embedded environments.
- Design and develop software interacting with DSP processors and firmware.
- Debug, analyze, and optimize embedded software for performance and reliability.
- Develop software for real-time embedded systems.
- Work closely with firmware, hardware, and platform engineering teams.
- Optimize memory utilization, processing latency, and overall software performance.
- Support software integration, testing, and product validation.
- Participate in software design reviews and continuous product improvements.
Required Skills
- Strong programming skills in C and C++.
- Good understanding of Computer Architecture and Operating Systems.
- Hands-on experience with Embedded Linux development.
- Experience developing or supporting Linux Kernel Device Drivers.
- Good understanding of Linux Kernel concepts, including DMA and SMMU.
- Experience developing software that interacts with DSP processors, firmware, or hardware accelerators.
- Experience developing, debugging, and optimizing software for real-time embedded environments.
- Strong analytical, debugging, and problem-solving skills.
- Good communication and collaboration skills.
Preferred Skills
- Experience with virtualization technologies.
- Knowledge of KVM and QEMU.
- Experience with performance optimization and embedded software frameworks.
Education
Bachelor's or Master's degree in Electronics, Computer Science, Electrical Engineering, or a related discipline.