Job Description
DSP Software Engineer - Platform
As a DSP Software engineer, you will be part of a close-knit team within the Bose Automotive Software Center of Excellence. You will play a key role in developing high performance audio systems that go into premium cars around the world. You will help develop, integrate, and test cutting-edge audio processing algorithms and platform code on high-end automotive processors that lead to unique and exciting audio experiences. You will also work with audio engineers to create the best sound experiences based on these implementations
Specific responsibilities:
- Work on all aspects of software development starting from requirements analysis, design, development, testing, integration, and deployment
- Develop and integrate DSP platform software that can support different customer vehicles with a focus on reusability, ease-of-configuration, test coverage and traceability, and ease-of-deployment
- Build software for algorithms related to audio signal processing in MATLAB, Simulink, and C
- Develop interactions between signal processing features and the hardware platform
- Create high-level designs for software frameworks for these algorithm and platform features
- Build comprehensive unit and system tests in software to verify functionality of these algorithms
Requirements
- BS in Electrical or Computer Engineering with an emphasis on DSP or Communications
- 8+ years of experience building signal processing software for embedded real time systems
- Solid Programming experience using C/C++
- Expertise developing algorithms using Matlab & Simulink
- Strong understanding of core embedded/RTOS Concepts – DMA, Shared Memory, ICC, Task Scheduling, Priorities, Interrupts
- Experience using embedded troubleshooting tools such as Oscilloscopes, Logic Analyzers, Emulators, and hardware-based debuggers
- Adequate knowledge of reading schematics and data sheets for components
- Adequate knowledge of software development life cycle (waterfall/agile)
- Ability to work effectively with other team members including embedded application development, system and quality engineers
- Familiarity with various software engineering tools – Subversion, JIRA, Crucible/Code collaborator
- Quick Learner with good verbal and written technical communication skills
Preferred Skills
- Knowledge of Simulink modeling and libraries
- Experience developing software using any of the ADI SHARC family of processors is a plus
- Knowledge/experience in Audio Domain is a plus
- Ability to communicate with business English level competency a plus