Embedded Software Engineer, BSP/Kernel - Reality Labs

Facebook Inc.
Sunnyvale, United States of America
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Intermediate

Job location

Sunnyvale, United States of America

Tech stack

Board Bringup
Artificial Intelligence
Android
Computing Platforms
Computer Vision
Augmented Reality
Big Data
Bluetooth
Booting (BIOS)
Bug Tracking Systems
C++
Computer Engineering
Software Debugging
Linux
Device Drivers
Memory Management
Embedded Software
Firmware
Imaging Technology
Machine Learning
Real-Time Operating Systems
Software Engineering
System Programming
Systems Integration
Wi-Fi Technology
Serial Peripheral Interface
PIC Microcontroller
Virtual Reality
Information Technology
Bare Metal
Codebase
Coreos
Wearables
Software Version Control

Job description

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 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., * 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

  • 3+ years embedded software development experience in industry settings
  • 5+ years of software development experience in embedded systems, systems programming, or a related technical field, or PhD with 2+ years of experience
  • Demonstrated experience working across disciplines to drive optimal solutions
  • Experience in large-scale C/C++ code base
  • Bachelor's degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience

Preferred Qualifications:

  • Experience in hardware bring up using interfaces like Analog-to-Digital (ADC), General Purpose Input/Output (GPIO), Serial Peripheral Interface (SPI), Inter-Integrated Circuit (I2C), etc
  • Device driver development, embedded systems, or operating systems
  • Demonstrated ongoing AI skill development (e.g., prompt/context engineering, agent orchestration) and staying current with emerging AI technologies
  • Experience in one or more of the following areas: Board Support Package (BSP), Operating Systems, Android OS, Real-Time Operating System (RTOS), Bootloader, Power Management, Linux, Graphics and Display Drivers, Microcontroller Unit (MCU)
  • Demonstrate specialized experience in two or more of the following areas: BSP/Board Support Package, Operating Systems, CoreOS, Kernel, Android Kernel, Bootloader, Power Management, RTOS, Linux, Graphics and Display Drivers, Microcontroller Unit (MCU)
  • Demonstrated experience working collaboratively in cross-functional teams
  • Experience with Software Development processes including: source control, bug tracking, and design documentation
  • Experience adhering to and implementing responsible, ethical AI practices (e.g., risk assessment, bias mitigation, quality and accuracy reviews)
  • Demonstrated ability to integrate AI tools to optimize/redesign workflows and drive measurable impact (e.g., efficiency gains, quality improvements)
  • Experience developing, debugging, and shipping software products on large code bases that span platforms and tools

About the company

Meta builds technologies that help people connect, find communities, and grow businesses. When Facebook launched in 2004, it changed the way people connect. Apps like Messenger, Instagram and WhatsApp further empowered billions around the world. Now, Meta is moving beyond 2D screens toward immersive experiences like augmented and virtual reality to help build the next evolution in social technology. People who choose to build their careers by building with us at Meta help shape a future that will take us beyond what digital connection makes possible today-beyond the constraints of screens, the limits of distance, and even the rules of physics.

Apply for this position