Embedded Software Engineer with3D Audio Processing (DSP) Experience. 10yrs+ experience coding in C and C++and architecting software for consumer, audio, or wireless products. Key skillset is experience designing “3D” (Spatial Positioning) audio algorithms forAugmented Reality (AR) applications. Other desired audio processing experience includenoise cancelling, echo cancelling, filtering, and AGC. Ability to read and understand electrical schematics. Experience working closely with hardware engineers evaluating hardware/software tradeoffs, selecting microprocessors and peripheral components, and resurrecting early hardware prototypes. User andstrong advocate of structured software developmentincluding architecting, documenting, writing modular code,bug tracking, revision tracking, design reviews, validation and regression testing of the software written. Ability to work independently or as part of a team. Position provides opportunity for both new ground-up development, as well as maintainingand upgrading existing products.
- Planning and Architecting Software
- Designing 3D Spatial Audio Processing algorithms for Augmented Reality Applications
- Modeling and simulating audio processing algorithms using MatLab or similar tool
- Using publicly available HRTFs as well as customizing HRTFs to optimize spatial perception
- Designing audio processing algorithms including noise cancelling, echo cancelling, equalization filtering, AGCs, etc
- Coding audio processing algorithmsin C/C++
- Selecting Microprocessors – including memory size, speed, I/Os, cost, current draw, etc.
- Designing Device drivers and boot loaders
- Integrating, debugging, and testing embedded systems
- Designing interfaces to other devices using digital or wireless protocols
- Operating Basic electronics test equipment (oscilloscopes, DVMs, function generators, logic analyzer, etc.)
- Bringing up new SoCs, chipsets, sensors, and products
- Participating in selecting development tools, bug tracking tools, software revision management and archiving tools, etc
- Participating in new product Ideation and developing new IP.
- Designing and executing software test plans
- Updating or adding features to previously written software.
- Preparing and presenting regular reviews of the software architectures, test plans, test cases, and test results.
Skills and Requirements
- Embedded Software Engineering experience including architecting product platforms as well as hands-on coding in the area ofConsumer Electronic Product Development.
- Experience with 3D Spatial Audio DSP algorithm design, including simulation, coding, and testing.
- BSCS or BSEE – M.S. in computer science or electrical engineering is a plus
- Strong Embedded C and C++ skills, Knowledge of Java, or App Design is a plus
- Understanding of Electrical Hardware including ability to read schematics, evaluate hardware-software tradeoffs, and write minimal code to resurrect early hardware.
- Experience with ATMEL and Microchip Microprocessors and associated development tools
- Experience in all phases of software development/engineering, including requirements analysis, software development, installation, integration, evaluation, enhancement, maintenance, testing, and problem diagnosis/resolution
- Experience using Revision Control and Bug Tracking Tools
- Experience implementing Agile/Scrum software development cycles
- Experience designing Real Time Operating Systems (RTOS)
- Experience designingAudio Signal Processing Algorithms is a plus
- Experience implementing Bluetooth and other wireless protocols is a plus
- Strong collaboration and communication skills
- Ability to work independently as well as in a team environment.
- Excellent time management with track record for on-time delivery.
- Focus on quality and attention to detail
- Excellent resourcefulness and debugging skills