Associate, Embedded Software Engineer, DSP
Magic Leap is seeking an embedded software engineer with experience bringing up software on embedded platforms. We’re building the next generation spatial computing platform, and need engineers who are willing to dive in and help us create the best product. You will get to work on a system that requires strict timing tolerances under heavy loads, novel software approaches and much more. You will gain the opportunity to work with a team of cross functional embedded hardware and software experts. You will also get to make tough technical decisions that help shape the direction of our product.
This role is required to be onsite in either our HQ Plantation, FL or Austin, TX offices.
- Work on cutting edge real time processors and use new software tools to develop real-time software.
- Design and develop real-time operating systems and interprocessor communication
- Design and develop software to efficiently interact with hardware accelerators
- Optimize embedded memory and cache management, DMAs
- Develop cross-core interaction primitives between DSPs and non-DSP cores
- Test and debug embedded DSP systems
- Participate in software architecture reviews and code reviews
- Evaluate software performance and robustness by performing rigorous testing on evaluation and hardware platforms
- Work with hardware engineers to integrate DSP systems with hardware platforms
- Document API and implementation details
- Strong analytical and problem-solving skills
- Fluent in the C language, proficient in C++
- Familiarity with embedded system development and practices
- Knowledge of computer architecture
- Experience in designing and implementing multithreaded software
- Understand common protocols for communication with hardware and other software modules, such as SPI, I2C, PCIE, ring buffers, and cross-core interrupts
- Good communicator and self-motivated to complete projects, and enjoys embedded debugging
- Familiarity with ARM and DSPs
- Experience with On-chip and multi-core debugging
- Experience with RTOS
- Experience with using jtag debuggers, logic analyzers, and other debuggers
- Ability to work effectively in a distributed team environment
- Knowledge of python and shell scripting is a plus
- Experience with MATLAB or python or another numerical computing software
- MS in EE/CS or equivalent preferred
- All your information will be kept confidential according to Equal Employment Opportunities guidelines.