Firmware Engineer, Facebook Reality Labs

Employer

Job Description

Facebook's mission is to give people the power to build community and bring the world closer together. Through our family of apps and services, we're building a different kind of company that connects billions of people around the world, gives them ways to share what matters most to them, and helps bring people closer together. Whether we're creating new products or helping a small business expand its reach, people at Facebook are builders at heart. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build community and connect in meaningful ways. Together, we can help people build stronger communities - we're just getting started.

At Facebook Reality Labs we aim to bring together the brightest cross-disciplinary minds in one place to deliver on our mission: build tools that help people feel connected, anytime, anywhere. As a Firmware Engineer, you will architect, design, build and test firmware systems for future AR, VR, Portal, or New Technology Teams. You will join a world-class team of experts exploring new concepts through rapid prototyping. Firmware Engineering for FRL’s device systems spans multiple target classes, requiring deep collaboration across engineering disciplines (electrical, mechanical, optical, firmware and software) and directly impacting user immersion. Our ideal candidate wants to 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 of architecture and implementation of architecture in both prototype and shipping consumer products as well as demonstrate good development practices and seamless collaboration.

Responsibilities
  • Analyze, design, develop, and debug firmware for a wide variety of AR and VR consumer devices, including novel sensing and imaging systems, haptic 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 all phases of SoC/ASIC 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
  • Understand and drive implementation of FW development good practices across teams and projects
Minimum Qualification
  • B.S. degree in Computer Science or Electrical Engineering or equivalent experience
  • Experience with software design and programming in C/C++ for development, debugging, testing and performance analysis
  • Experience producing production quality, fail-safe firmware for low-power real-time system control
  • Experience with embedded processors like ARM Cortex M0/M3/M4 architecture and boot mechanism, interrupt priorities and experience with configuring peripherals
  • Experience with peripherals such as USB, SPI, MIPI CSI/DSI, I2C, UART, GPIO etc.
  • Experience analyzing hardware and power consumption
  • Experience with hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.
  • Experience with instrumentation like oscilloscopes, logic/protocol analyzers for debugging embedded systems at HW level
  • 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
Preferred Qualification
  • Experience with wireless and wired communication protocols, including USB, TCP/IP, Ethernet, Bluetooth and 802.11
  • Experience working with DRAM-based systems and issues related to DRAM bandwidth, power and throughput
  • Experience implementing firmware for low-power SoC and tape-out of chips in the past
  • 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 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
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. Facebook 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 accommodations-ext@fb.com.