Firmware Engineer

Oculus | Menlo Park, CA - Redmond, WA

Oculus is the world leader in the design of virtual and augmented reality systems. Come work alongside expert engineers and research scientists to create the technology that makes VR and AR pervasive and universal. Join the adventure of a lifetime as we make science fiction real and change the world. We are seeking a Firmware Engineer to support development of state-of-the-art SoC with dedicated hardware accelerators (HWA) designed for computer vision and machine learning. The successful candidate will be part of a team that includes algorithm, user experience, software, firmware and ASIC experts. The ideal candidate will understand low-level embedded firmware development for custom low-power HWA. This is a full-time position based in either our Redmond, WA or Menlo Park, CA offices.


  • Low-level embedded firmware architecture and design to orchestrate HWA operations in system pipeline
  • Implement C/C++ code to manipulate bits in HWA control registers
  • Aid RTL developers with simulation and debug with DV engineer for co-verification of hardware and firmware before chip tapeout
  • Develop low-level OS drivers for hardware accelerators and peripherals
  • End-to-system firmware development to include power-management, boot loaders, scheduling, RTOS and/or bare-metal implementations
  • Support all phases of SoC development – including early architecture requirements definition for custom silicon, firmware architecture, implementation, simulation, FPGA debug, chip bring up and support systems and software teams on algorithm development on validated systems

Minimum Qualifications

  • B.S. degree in Computer Science or Electrical Engineering
  • 5+ years of experience in embedded firmware design
  • Experience in firmware development for mobile SoC low-power design
  • Knowledge of how hardware works, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.
  • Experience implementing firmware for low-power SoC and tapeout of chips in the past
  • Knowledge of embedded micro-controllers like ARM Cortex M0/M3/M4 architecture and boot mechanism, interrupt priorities and experience with configuring peripherals
  • Experience working with DRAM-based systems and issues related to DRAM bandwidth, power and throughput
  • Software design and programming experience in C/C++ for development, debugging, testing and performance analysis
  • Experience using instrumentation like oscilloscopes, logic/protocol analyzers for debugging embedded systems at HW level
  • Experience in cross multi-disciplinary boundaries to drive system solutions

Preferred Qualifications

  • Hands-on coding experience with peripherals such as USB, SPI, CSI-2, i2c, GPIO etc.
  • Protocol implementations such as USB device classes (UVC, UAC, HID)
  • Experience with embedded DSP and CPU architectures
  • Experience with EDA design tools and instruction set simulators
  • Hands-on experience with FPGA and vendor specific hardware evaluation boards
  • Experience in real-time processing for computer vision and user interaction tasks, high-compute/throughput systems and using simulation and modeling technique to estimate performance and power

Ready to Join?

Apply Now

Oculus is proud to be an Equal Opportunity and Affirmative Action employer. We do not discriminate based upon race, religion, color, national origin, sex (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender, gender identity, gender expression, transgender status, sexual stereotypes, age, status as a protected veteran, status as an individual with a disability, genetic information, or other applicable legally protected characteristics. We also consider qualified applicants with criminal histories, consistent with applicable federal, state and local law.

If you need assistance or an accommodation due to a disability, you may contact us at or you may call us at +1 650-308-7837.