Firmware engineer IV
Location: Redmond WA (Onsite)
Duration: 12 months contract with possibility of extension.
Start: Targeting December 2024
Pay Range: $98.00 to $102.00/hr on W2
Benefits: Medical, dental, vision, sick time based on state laws
About the Role:
We are seeking an experienced Embedded Software/Firmware Engineer (Contract) to join our Audio - Reality Labs Research team. As an Embedded Software Engineer (Contract), you will be responsible for designing, developing, and deploying Software and Firmware solutions for our audio research platform devices. You will work closely with our hardware engineers, research scientists, and program managers to ensure seamless integration of software and hardware components.
Responsibilities will include:
Analyze, design, develop, and debug software and firmware for a wide variety of audio prototypes and research platforms for the development of audio solutions.
Collaborate with hardware engineers to ensure software and firmware compatibility with hardware components
Work with research scientists to integrate new audio technologies into the research platform devices.
Requirements:
- Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field
- 3+ years of experience in embedded software development
- Strong programming skills in C/C++ and Python
- Knowledge of microcontroller architectures, serial communication protocols like I2C/I2S/SPI, sensor interfacing.
- Experience using oscilloscopes to analyze and debug audio and sensor signals
- Experience with version control systems (e.g., Git)
- Excellent critical thinking and problem-solving skills and attention to detail
- Strong communication and collaboration skills with the team and excellent documentation skills.
- Experience with Linux operating system and knowledge of real-time operating systems (RTOS)
Nice to Have:
- Experience with audio-specific software frameworks (e.g., Audio Weaver, Audio TDM bus, audio codecs)
- Familiarity with digital signal processors (DSPs)
- Experience developing low level device drivers and user space applications in Linux
- Experience with cloud-based software deployment systems.