Reality Labs at Meta is building first-of-a-kind products that make it easier for people to connect with the ones they love most and the environment in natural and innovative ways. We leverage cutting edge technologies and platforms to build rich features, ensure high performance, security and privacy with power/thermal constraint. We are a team of world-class experts developing and shipping products at the intersection of hardware, software and content.
As an Embedded Software Engineer on the Reality Labs team at Meta, you can help build new, innovative hardware and software that radically redefine the way people work, play and connect. What we build today could one day be the norm. So to be here today is to truly be at the heart of change and the frontier of what's to come. We're the people helping to define the metaverse and next generation computing. We may not have all the answers. But together, we're getting closer.
Responsibilities:
- Work as a Tech Lead to drive the team's engineering activities throughout the product development lifecycle, providing technical leadership and guidance to team members
- Plan, analyze, design, develop, and debug embedded SW/firmware (HLOS on AP, and Zephyr/RTOS on MCU, DSP, etc) in a wide range of areas such as bringup, bootloader, I/O, USB, PCIe, sensing and imaging systems, audio and display, and power management
- Debug complex, system-level, multi-component issues that typically span across multiple layers in the system, and between systems (Android, RTOS etc)
- Bring up new devices and lead debugging that spans multiple hardware and software teams
- Collaborate in a team environment across multiple engineering disciplines, making the architectural tradeoffs required to rapidly deliver base level software for the devices
- Support factory SW development, device calibration, factory line bring up and failure analysis
Requirements:
- B.S. or M.S. degree in Computer Science, Computer Engineering or Electrical Engineering
- 7+ years of experience in embedded software development
- 2+ years of experience working as a tech lead role driving all engineering activities of a team
- Experience with design and programming in C or C++ for development, debugging, testing and performance analysis
- Strong debugging and troubleshooting skills on complex issues involving multiple components in hardware, BSP/OS, and firmware
- Experience with peripherals such as USB, SPI, MIPI CSI/DSI, I2C, UART, GPIO etc. and their interrupt priorities
- Experience working collaboratively in cross-functional teams
- Fluent in English and Mandarin both verbal and written
Preferred Qualifications:
- Experience developing with SoC BSP/Android system level, or modern Real Time Operating Systems
- Experience with embedded micro-controllers such as ARM Cortex M0/M3/M4 architecture and their boot mechanisms
- Experience with lab instrumentation such as oscilloscopes, logic/protocol analyzers for debugging embedded systems at HW/BSP level
- Experience developing, debugging, and shipping software products on large code bases that span platforms and tools
- Experience leading complex features or projects across multiple teams
- Prior full life cycle base platform level software/firmware development experience to bring a high volume product from design to mass production
- Prior experience in supporting large volume device manufacturing