As an Embedded Software Engineer on the Reality Labs team at Meta, you can help build new, innovative VR products 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.
We may not have all the answers.
But together, we're getting closer.
Responsibilities:
Embedded Software Engineer Responsibilities:
Design and implement components at all layers of the system, e.g. kernel, synchronization primitives, resource allocators, memory management, security, I/O systems, persistence, etc
Design and implement drivers and services that operate efficiently in a constrained environment yet when pressed can efficiently deliver large volumes of data with low-latency and high-bandwidth
Own the definition of one or more work streams focused on hardware bring-up, peripheral drivers and communication, silicon integration and power and performance management and optimization
Debug complex, system-level, multi-component issues that typically span across multiple layers from kernel to application
Profile performance problems and drive optimizations that span the entire software stack
Bring up new devices and lead debugging and performance tuning exercises that span multiple hardware/firmware/software teams
Understand software components from multiple partner teams, lead the integration of those components into the unified product code base, and drive their continued development
Qualification and experience:
Minimum Qualifications:
Bachelor's or Master's Degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
5+ years Software Engineering experience in the following: device driver development, embedded systems, or operating systems
5+ years experience working on systems software in a large-scale C/C++ code base
Experience with Software Development processes including: source control, bug tracking, and design documentation
Experience in hardware bringup using interfaces like ADC, GPIO, SPI, I2C, etc
Experience in multiple of the following areas: BSP/Board Support Package, Operating Systems, Android OS, RTOS, Bootloader, Power Management, Linux, Graphics and Display Drivers, MCU (Microcontroller)
Experience developing, debugging, and shipping software products on large code bases that span platforms and tools
Preferred:
Preferred Qualifications:
Practical experience in bringing up Qualcomm mobile platform for complex consumer devices, involving BSP/Board Support Package, Android OS, device security and factory build support
Demonstrated experience working collaboratively in cross-functional teams