At Meta, the business problem is to develop innovative products that make it easier for people to connect with each other and enjoy immersive experiences, by designing, developing, and optimizing embedded firmware systems for AR, VR, and wearable devices.
Requirements
- Experience in large-scale C/C++ code base
- Embedded software engineering experience
- Experience developing, debugging, and shipping software products on large code bases that span platforms and tools
- In-depth specialized experience in two or more of the following areas: Board Support Package (BSP), Operating Systems, Android OS, Graphics and Display Drivers
- Experience in hardware bring up using interfaces like Analog-to-Digital Converter (ADC), General Purpose Input/Output (GPIO), Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C), etc
- Experience with Software Development processes including: source control, bug tracking, and design documentation
Responsibilities
- Design and implement software components at all layers of the system, including kernel, synchronization primitives, resource allocators, memory management, security, I/O systems, persistence, etc
- Develop drivers and services that operate efficiently in constrained environments and deliver large volumes of data with low-latency and high-bandwidth
- Lead hardware bring-up, peripheral drivers and communication, silicon integration, and power and performance management and optimization efforts
- Debug complex, system-level, multi-component issues that span multiple layers from kernel to application
- Profile performance problems and drive optimizations across the entire software stack
- Analyze, design, develop, and debug firmware for a wide variety of devices, including novel sensing and imaging systems, haptic devices, and audio prototypes
- Understand and implement power-management, boot loaders, scheduling, inter-processor communication, computer vision, and firmware/system interfaces on RTOS and/or bare-metal environments
Other
- 2+ years of software development experience in industry settings, or PhD degree +9 months of experience
- Currently has, or is in the process of obtaining a Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
- Demonstrated experience working collaboratively in cross-functional teams
- Individual compensation is determined by skills, qualifications, experience, and location
- Meta is committed to providing reasonable accommodations for candidates with disabilities in our recruiting process