Firmware Engineer

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 (FRL), our goal is to explore, innovate and design novel interfaces and hardware subsystems for the next generation of virtual, augmented, and mixed reality experiences. We are looking for a skilled and motivated Firmware Engineer to join our team, whose mission is to design, build, and test prototype systems for future consumer VR and AR experiences. We are specifically looking for a candidate with a broad set of experiences, including deep embedded system knowledge, the ability to quickly solve problems, generate big ideas, work in new technology areas, and drive concepts into prototypes. More broadly, the chosen candidate will work with a diverse and highly interdisciplinary team of researchers and engineers and will have access to cutting edge technology, resources, and testing facilities.

Responsibilities
  • 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
Minimum Qualification
  • B.S./M.S. degree in Computer Science or related field with 5+ years of experience in embedded firmware design or equivalent experience
  • Experience with embedded micro-controllers such as ARM Cortex M0/M3/M4 architecture and their boot mechanisms
  • Experience with peripherals such as USB, SPI, MIPI CSI/DSI, I2C, UART, GPIO etc. and their interrupt priorities
  • Experience with wireless or wired communication protocols such as USB, TCP/IP, Ethernet, Bluetooth and 802.11
  • Experience with design and programming in C or C++ for development, debugging, testing and performance analysis

Preferred Qualification
  • Experience with protocol implementations such as USB device classes (e.g. UVC, UAC, or HID)
  • Experience with embedded Linux, Kernel, Yocto, Buildroot, etc.
  • Experience maximizing performance of resource constrained systems
  • Experience integrating novel algorithms into either an RTOS-based or bare metal system
  • Experience with high-compute/throughput systems and using sim/modeling 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.