Embedded Software Engineer

Redmond, Washington


Employer: Meta
Industry: 
Salary: Competitive
Job type: Full-Time

At Reality Labs Research (RL-R), 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.

Embedded Software Engineer 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 other 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 Qualifications


  • 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 Qualifications


  • 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


Start preparing
Learn about how to prepare for your interview with our interview guide, tips, and interactive experiences.
Visit interview prep

Created: 2024-05-04
Reference: 440502815190527
Country: United States
State: Washington
City: Redmond


Similar jobs: