Facebook Firmware Engineer, SLAM in Redmond, Washington


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 our Redmond, WA office.

Required Skills:

  1. Low-level embedded firmware architecture and design to orchestrate HWA operations in system pipeline

  2. Implement C/C++ code to manipulate bits in HWA control registers

  3. Aid RTL developers with simulation and debug with DV engineer for co-verification of hardware and firmware before chip tapeout

  4. Develop low-level OS drivers for hardware accelerators and peripherals

  5. End-to-system firmware development to include power-management, boot loaders, scheduling, RTOS and/or bare-metal implementations

  6. Support all phases of SoC development – including early architecture requirements definition for custom silicon, firmware architecture, implementation, simulation, FPGA debug, chip bringup and support systems and software teams on algorithm development on validated systems

Minimum Qualifications:

  1. B.S. degree in Computer Science or Electrical Engineering

  2. 5+ years of experience in embedded firmware design

  3. Experience in firmware development for mobile SoC low-power design

  4. Knowledge of how hardware works, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.

  5. Experience implementing firmware for low-power SoC and tapeout of chips

  6. Knowledge of embedded micro-controllers like ARM Cortex M0/M3/M4 architecture and boot mechanism, interrupt priorities and experience with configuring peripherals

  7. Experience working with DRAM-based systems and issues related to DRAM bandwidth, power and throughput

  8. Software design and programming experience in C/C++ for development, debugging, testing and performance analysis

  9. Experience using instrumentation like oscilloscopes, logic/protocol analyzers for debugging embedded systems at HW level

  10. Experience in cross multi-disciplinary boundaries to drive system solutions

Preferred Qualifications:

  1. Hands-on coding experience with peripherals such as USB, SPI, CSI-2, i2c, GPIO etc.

  2. Experience in protocol implementations such as USB device classes (UVC, UAC, HID)

  3. Experience with embedded DSP and CPU architectures

  4. Experience with EDA design tools and instruction set simulators

  5. Hands-on experience with FPGA and vendor specific hardware evaluation boards

  6. Experience customizing Linux kernel, FSBL, UBOOT

  7. Experience developing custom Linux device drivers (kernel, user space- UIO or other)

  8. Experience in video and sensor drivers

  9. Experience in FPGA Firmware debug using protocol analyzers, logic analyzer, o-scope, and internal FPGA logic analyzer

  10. Experience in FW architecture for file transfer, DFU, multi-chip communication, and runtime configuration

Industry: Internet

Equal Opportunity: Facebook 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, 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 accommodations-ext@fb.com or you may call us at +1 650-308-7837.