At Meta, we're building innovative products that make it easier for people to connect with each other and enjoy immersive experiences. Our team of world-class experts is developing and shipping products at the intersection of hardware, software, and content, pushing the future of computing platforms and redefining the way people work, play, and connect.
Requirements
- Experience in large-scale C/C++ code base
- Embedded software engineering experience
- Hands-on experience with peripherals such as UART, SPI, CSI-2, i2c, GPIO, and USB
- Experience with FPGA and hardware evaluation boards
- Experience in software design and programming in C/C++ or Python for development, debugging, testing and system integration
- Experience in understanding hardware and how embedded systems work
- Knowledge of the silicon development cycle
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
- Collaborate closely with cross-functional teams, including silicon architects, hardware designers, OS team, and algorithm and model development teams
Other
- 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. Degree must be completed prior to joining Meta
- 2+ years of software development experience in industry settings, or PhD degree +9 months of experience