Firmware Engineer

Facebook   •  

Redmond, WA

Industry: Technology


5 - 7 years

Posted 40 days ago

This job is no longer available.

Firmware for AR/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. In this role, you are expected to participate in the definition ofarchitecture and implementation of FW/middlewarearchitecture in the research arena, as well assupport rapid prototyping efforts led by a team of mixed-discipline researchers and engineers.RESPONSIBILITIES

  • Analyze, design, develop, and debug firmware for a wide variety of AR and VR devices, including novel sensing and imaging systems, haptic devices, input devices, and audio prototypes
  • Understand and implement power-management, boot loaders, scheduling, and RTOS
  • Collaborate in a team environment across multiple , product focused, research, and engineering disciplines, making the architectural tradeoffs required to rapidly deliver firmware solutions
  • Support custom silicon development on an as-needed basis, including early architecture requirements definition, FPGA/ASIC development, firmwarearchitecture, implementation, simulation, debug, and chip bring up, and provide support to systems and software teams
  • Understand and drive implementation of FW development “good practices” across teams and projects


  • B.S./M.S. degree in Computer Science or Electrical Engineering or equivalent experience
  • 5+ years of experience in embedded firmware design
  • Experience producing production quality, fail-safe firmware for low-power real-time system control
  • Experience with hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.
  • Experience implementing firmware for low-power SoC and MCU
  • Experience with wireless and wired communication protocols, including USB, TCP/IP, Ethernet, Bluetooth and 802.11
  • Experience with embedded micro-controllers like ARM Cortex M0/M3/M4 architecture and boot mechanism, interrupt priorities and experience with configuring peripherals
  • Experience analyzing hardware and power consumption
  • Experience with software design and programming in C/C++ for development, debugging, testing and performance analysis
  • Experience with device drivers/middleware, and an understanding of the entire HW/firmware/driver/OS/application stack
  • Experience with Linux/Unix
  • Experience with instrumentation like oscilloscopes, logic/protocol analyzers for debugging embedded systems at HW level
  • Experience with support software such as MATLAB, Python, Perl, and Lua
  • Experience with device documentation and translate that information into software 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


  • Experience with peripherals such as USB, SPI, MIPI CSI/DSI, I2C, UART, GPIO etc.
  • Experience with protocol implementations such as USB device classes (UVC, UAC, HID)
  • Experience with a variety of vendor specific hardware evaluation boards
  • Experience in real-time processing for user interaction tasks
  • Experience with embedded Linux distributions.