Embedded Software Engineer

Employer

Job Description

Meta Reality Labs focuses on delivering Meta's vision through Augmented Reality (AR) and Virtual Reality (VR). The compute performance and power efficiency requirements of Virtual and Augmented Reality require custom silicon. The Meta 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 and VR 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 Embedded Software Engineers to support development of ASICs custom-designed for Meta Reality Labs products. The successful candidate will be part of a team that includes algorithm, user experience, software, firmware and silicon experts. The ideal candidate will understand OS internals and low-level embedded software development for custom low-power SoCs. This is a full-time position.


Embedded Software Engineer Responsibilities:


  • Lead firmware design, architecture, and implementation for key components of Meta Reality Labs custom silicon SoCs
  • Collaborate closely with silicon architects, hardware designers, the OS team, and algorithm and model development teams
  • 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
  • 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


Minimum Qualifications:


  • Experience partnering and/or collaborating across multiple teams
  • Experience with embedded software design and programming in C/C++ for development, debugging, testing and performance analysis
  • 4+ years of experience in embedded software development
  • Experience in understanding hardware, clock-level issues, bridges, delays, interrupts, clock gating, polling etc.
  • B.S. degree in Computer Science or Electrical Engineering or equivalent experience
  • Experience building software for complex embedded systems or custom SoCs


Preferred Qualifications:


  • Experience with compression, camera and video pipelines, or encoding technologies such as H.264
  • Hands-on coding experience with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB
  • Technical knowledge across topics including computer graphics, computer vision, or machine learning
  • Experience with silicon and device manufacturing
  • Experience with prototyping or pre-silicon environments (FPGAs, simulation, or emulation)
  • Experience with lab instrumentation like oscilloscope, logic/protocol analyzers for debugging embedded systems at HW level
  • Experience with embedded DSP, CPU, and GPU architectures


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.