This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
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. As an Embedded Software Engineer, you'll have the opportunity to design, develop, and optimize embedded firmware systems for our AR, VR, and wearable devices, working on low-level systems software, device drivers, and connectivity protocols such as Wi-Fi, Bluetooth, and Core Android networking. You'll collaborate with cross-functional teams to solve complex problems and drive innovation in areas such as computer vision, machine learning, and graphics, helping to shape the future of technology and create new experiences for augmented reality, virtual reality, and social/family products.
Job Responsibility:
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
Requirements:
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
Nice to have:
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
Demonstrated experience working collaboratively in cross-functional teams
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