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
- Understand and implement power-management, boot loaders, scheduling, inter-processor communication, computer vision, and firmware/system interfaces on RTOS and/or bare-metal environments
- Design, develop, and architect models and infrastructure building blocks of Virtual Platforms, integrating internal models and vendor IP models
Minimum Qualifications
- 2+ years of software development experience in industry settings, or PhD degree +9 months of experience
- Experience in large-scale C/C++ code base
- Embedded software engineering 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. Degree must be completed prior to joining Meta
Preferred Qualifications
- Experience in understanding hardware and how embedded systems work
- Knowledge of the silicon development cycle
- 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
$122,000/year to $181,000/year + bonus + equity + benefits
Learn more about this Employer on their Career Site
