Embedded Software Engineer, Firmware

MetaSunnyvale, CaliforniaOn-siteFull-timeJunior, 1–2 yearsListed 11 hours ago

Apply now

About this role

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 experienced engineers 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.

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

Qualifications

Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
5+ years software development experience in industry settings or PhD with 2+ years of experience
3+ years embedded software development experience in industry settings
Experience in large-scale C/C++ code base
Demonstrated experience working across disciplines to drive optimal solutions Hands-on coding experience with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB
Experience with silicon, device manufacturing, and low-power SoCs
Experience working with embedded hardware platforms and exposure to concepts such as clock-level issues, interrupts, and polling
Experience across topics including computer graphics, computer vision, or machine learning
Experience developing with modern Real Time Operating Systems
Experience with wireless and wired communication protocols,TCP/IP, Ethernet, Bluetooth and 802.11
Experience adhering to and implementing responsible, ethical AI practices (e.g., risk assessment, bias mitigation, quality and accuracy reviews)
Experience with prototyping or pre-silicon environments (FPGAs, simulation, or emulation)
Demonstrated ability to integrate AI tools to optimize/redesign workflows and drive measurable impact (e.g., efficiency gains, quality improvements)
Experience with lab instrumentation such as oscilloscopes, logic/protocol analyzers for debugging embedded systems at HW level
Demonstrated ongoing AI skill development (e.g., prompt/context engineering, agent orchestration) and staying current with emerging AI technologies
Experience with compression, camera and video pipelines, or encoding technologies such as H.264
Experience with embedded microcontrollers, DSP, CPU, and GPU architectures
Experience with time synchronization methods at protocol and electrical levels; e.g. PTP, NTP, IRIG-B, LTC/SMPTE
Experience with active power management or power optimizations