Facebook Reality Labs, or FRL, focuses on delivering Facebook's vision through Augmented Reality (AR). Compute power requirements of Augmented Reality require custom silicon. Facebook Silicon team is driving the state of the art forward with breakthrough work in computer vision, machine learning, mixed reality, graphics, displays, sensors, and new ways to map the human body. Our chips will enable AR devices where our real and virtual world will mix and match throughout the day. We believe the only way to achieve our goals is to look at the entire stack, from transistor, through architecture, to firmware, and algorithms.
We are seeking an Embedded Software (Firmware) Engineer to support development of ASICs custom-designed for computer vision and machine learning. The successful candidate will be part of a team that includes algorithm, user experience, software, firmware and silicon experts. The ideal candidate will understand low-level embedded software development for custom low-power SoC.
This is a full-time position based in either our Redmond, WA or Menlo Park, CA offices.
Embedded firmware architecture and design to orchestrate hardware accelerators
End-to-system firmware development to include power-management, boot loaders, scheduling, RTOS and/or bare-metal implementations
Develop OS custom kernel drivers and APIs for hardware accelerators and peripherals
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
B.S. degree in Computer Science or Electrical Engineering and 2+ years of experience in firmware development
Experience in software design and programming in C/C++ for development, debugging, testing and performance analysis
Experience in understanding hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.
5+ years of experience in embedded firmware design for low-power mobile SoC
Experience with lab instrumentation like oscilloscope, logic/protocol analyzers for debugging embedded systems at HW level
Familiarity with embedded micro-controllers' architecture
Hands-on coding experience with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB
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
Hands-on experience with FPGA and hardware evaluation boards, EDA design tools, and/or ISA simulators