QuestRift SGoApps & GamesCommunitySupport

Firmware Engineer

Facebook Reality Labs | Redmond, WA

Facebook 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 AR and VR pervasive and universal. Join the adventure of a lifetime as we make science fiction real and change the world. You are a Firmware Engineer with deep embedded system knowledge, a passion for working on new hardware and strong technical leadership skills. You are comfortable working with a wide variety of hardware devices, working with a team to rapidly deliver reliable high performance firmware. At Facebook Reality Labs, you will design, build and test firmware systems for future Augmented Reality (AR), Virtual Reality (VR), and Mixed Reality (MR) experiences. You will join a world-class team of experts exploring new AR/VR concepts through rapid prototyping. Firmware for AR/VR systems spans multiple target devices, 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 advanced development teams. In this role, you are expected to participate in the definition of system architecture and implementation of firmware for cutting edge prototype devices as well as demonstrate good development practices and seamless collaboration.


  • Lead efforts to analyze, design, develop, and debug firmware for a wide variety of AR and VR devices, including novel sensing and imaging systems, haptic devices, and audio prototypes.
  • Understand and implement firmware on micro-controllers, leverage peripherals, manage power consumption, support boot loaders, and schedule real-time tasks (RTOS).
  • Collaborate in a team environment across multiple, research focused, and engineering disciplines, making the architectural tradeoffs required to rapidly deliver firmware solutions.
  • Support all phases of custom hardware development - including early architecture requirements definition, firmware architecture, proof-of-concept implementation, selection of MCUs and tools, and board bring-up.
  • Support software teams on data collection efforts that help drive algorithm development.
  • Understand and drive implementation of FW development good practices across teams and projects.

Minimum Qualifications

  • B.S./M.S. degree in Computer Science or Electrical Engineering or equivalent experience
  • 10+ years of experience in embedded firmware design or related experience
  • Experience producing quality, fail-safe firmware for low-power real-time system control
  • Experience with embedded micro-controllers like ARM Cortex M0/M3/M4 architecture
  • Experience with peripherals such as USB, SPI, MIPI CSI/DSI, I2C, UART, GPIO etc.
  • Experience with wireless and wired communication protocols, including USB, TCP/IP, Ethernet, Bluetooth and 802.11
  • Experience with micro-controller boot mechanisms, interrupt priorities and experience with configuring peripherals
  • Experience with design and programming in C or C++ for development, debugging, testing and performance analysis
  • Experience with instrumentation - oscilloscopes, logic/protocol analyzers for debugging embedded systems at HW level
  • Experience with crafting design documentation and translate that information into firmware solutions
  • Experience with methods of designing experiments to diagnose embedded hardware and firmware problems
  • Experience with cross multi-disciplinary boundaries to drive system solutions
  • Experience with working independently and managing priorities

Preferred Qualifications

  • Experience with 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
  • Experience in real-time processing for computer vision and user interaction tasks
  • Experience with hardware bring-up, e.g. i/o and clock config, interrupts, reset/brown-out detect, boot sequence
  • Experience with high-compute/throughput systems and using sim/modeling 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.

Oculus is committed to providing reasonable accommodations for candidates with disabilities in our recruiting process. If you need any assistance or accommodations due to a disability, please let us know at