Software/Firmware Test Engineer Lead
Meta is the world leader in the design of virtual and augmented reality systems. Come work alongside expert engineers and research scientists to create the technology that makes AR and VR pervasive and universal. Join the adventure of a lifetime as we make science fiction real and change the world. As the Lead for the Software/Firmware Test Team, you will use your knowledge of software and embedded systems, a passion for working on new hardware, and strong technical leadership skills to deliver future products and prototypes. You should be comfortable working with a wide variety of hardware devices, working with a team to rapidly deliver reliable high-performance software and firmware. Firmware for AR/VR systems spans multiple target classes, requiring deep collaboration across engineering disciplines (electrical, mechanical, optical, firmware and software) and directly impacting user immersion. We’re looking for people who quickly solve problems, generate big ideas, work in new technology areas, drive concepts into prototypes, and envision how those prototypes scale and transition to high-volume consumer products. In this role, you are expected to participate in the definition of architecture and implementation of both prototypes and shipping consumer products as well as demonstrate good development practices and seamless collaboration.
Software/Firmware Test Engineer Lead Responsibilities:
- Lead testbed architecture definition in coordination with cross-functional teams in order to streamline system testing, bring-up, and integration activities.
- End-to-end software/firmware test infrastructure development to support testing of power-management, boot loaders, scheduling, RTOS and/or bare-metal implementations, and host tools.
- Lead team on testing approach and ensure test coverage across a wide range of technologies and areas - including unit testing, integration testing, system testing, and regression testing.
- Review software, firmware, hardware, and IP architectures to ensure testability and evaluate integration risk.
- Build roadmaps and plans to meet prototype and product testing requirements.
- Develop software and related tools to automate testing of a large variety of devices and interfaces from host side tools to low-level embedded systems.
- Support all phases of development – including early architecture requirements definition for custom silicon, firmware architecture, implementation, simulation, FPGA debug, chip bring-up and support systems and software teams.
- Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience.
- B.S. degree in Computer Science, Electrical Engineering, or equivalent
- 10+ years of software and test experience with at least 1 year related to embedded systems
- Proficiency with data acquisition systems and diagnostic equipment, such as oscilloscopes, bus analyzers, and power supplies
- Proficient with software testing methodologies
- Experience providing clear communications and work well with cross-functional teams
- Demonstrated history in hands-on technical leadership on a project with at least 2 other engineers
- Experience with integration and testing for a complex system
- Experience with low level operating systems, RTOS, UBOOT, or other bare-metal programming
- Experience in Windows and Linux internals
- Experience coding with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB, PCIE
- Experience in real-time processing for computer vision and user interaction tasks, high-compute/throughput systems
- Experience with FPGA and hardware evaluation boards, EDA design tools, and/or ISA simulators
- Experience in Python automation