You're an engineer with deep embedded system knowledge, a passion for working on new hardware and a passion for learning. You’re comfortable working with a wide variety of hardware devices, rapidly delivering reliable high performance firmware. At Oculus Research you will design, build and test firmware systems for future virtual reality (VR) and augmented reality (AR) experiences. You will join a world-class team of experts exploring new VR concepts through rapid prototyping. Firmware for VR systems spans multiple target classes, requiring deep collaboration across engineering disciplines (electrical, mechanical, optical, firmware and software) and directly impacting user immersion. We’re looking for people who quickly solve problems, generate big ideas, work in new technology areas, drive concepts into prototypes, and envision how those prototypes transition to high-volume consumer products.
Analyze, design, develop and debug embedded firmware for advanced VR and AR prototypes
Collaborate in a team environment across multiple research and engineering disciplines, making the architectural tradeoffs required to rapidly deliver firmware solutions
Develop firmware for a wide variety of consumer devices, including novel sensing and imaging systems, haptic devices and audio hardware
BS/MS degree in Electrical Engineering, Computer Engineering, or Computer Science
5+ years C programing experience
Experience producing production quality, fail-safe firmware for real-time system control
Deep knowledge of inter-chip communication such as SPI, I2C, UART, and CAN
Ability to understand low level device documentation and rapidly translate that information into software solutions
Proven skills debugging embedded systems where high level debuggers are often unavailable
Experience analyzing hardware and power consumption
Experience with wireless and wired communication protocols, including USB, TCP/IP, Ethernet, Bluetooth and 802.11
Familiarity with oscilloscopes, high speed digital test equipment, logic analyzers, and function generators
Methods of designing benchtop experiments to diagnose embedded hardware and firmware problems
Ability to work independently and manage competing priorities
Both bare metal and real time multithreading paradigms required, along with IO strategies using DMA controllers.