Summary: The research team at Meta Reality Labs is looking for an experienced Embedded Software Engineer to develop firmware for a custom SoC. Job Responsibilities: Develop firmware to integrate display pipeline with off the shelf displays Develop firmware to interface with hardware acceleration blocks, including embedded DSPs Develop firmware to transfer data to/from a host PC over PCIe Develop PC-based test applications to demonstrate firmware functionality Test the developed firmware with the hardware Document designs and performance analysis Required 8+ years experience in Firmware or Embedded Software Development in C/C++ 2+ years experience developing firmware with multi-core SoCs or MCUs Experience with Zephyr OS, Embedded Linux or other RTOS Ability to work autonomously with little or no supervision Ability to work in a dynamic, high-paced environment where job duties may change frequently Experience with synchronization and IPC for multi-core embedded systems Desired Experience with lightweight multi-threaded RTOSes like Zephyr Familiarity with PCIe and Linux (on a PC) for high speed transfer to/from a SoC Familiarity with early stages of ASIC post-silicon validation Experience with Tensilica DSPs (P6, Vision 130) Experience with video/graphics systems Experience with embedded Pytorch models and Executorch Low power optimization of embedded systems Strong technical writing skills Education/Experience: Bachelor’s degree in computer science, software engineering or relevant field required. We are open to candidates who come from unconventional backgrounds if they bring unique skills and experience to our group. Pursuant to the California Fair Chance Act, Los Angeles County Fair Chance Ordinance for Employers, Los Angeles Fair Chance Initiative for Hiring Ordinance, and San Francisco Fair Chance Ordinance, qualified applicants will be considered for assignment with arrest and conviction records. Criminal history may have a direct, adverse, and negative relationship with some of the material job duties of this position. These include the duties and responsibilities listed above, as well as the abilities to adhere to company policies, exercise sound judgment, effectively manage stress and work safely and respectfully with others, exhibit trustworthiness, meet client expectations, standards, and accompanying requirements, and safeguard business operations and company reputation. |