Embedded Software Engineer

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.
$117,000 - $173,000
Embedded
Mid-Level Software Engineer
Hybrid
5,000+ Employees
2+ years of experience
AR/VR
This job posting may no longer be active. You may be interested in these related jobs instead:
Network Hardware Engineer

Network Hardware Engineer role at Meta, developing ASIC-based network hardware solutions for hyper-scale data centers, offering competitive compensation and benefits.

ASIC Engineer, Infra Silicon Enablement (Pre/Post Silicon Validation)

ASIC Engineer position at Meta focusing on pre/post silicon validation and infrastructure silicon enablement, offering competitive compensation and benefits in Sunnyvale, CA.

ASIC, Design Verification Engineer

ASIC Design Verification Engineer role at Meta, focusing on developing and implementing verification plans for hardware designs using SystemVerilog and UVM methodology.

BSP/Embedded Software Engineer

BSP/Embedded Software Engineer role at Meta's Reality Labs, focusing on building innovative hardware and software for AR/VR technologies.

ASIC Engineer, Architecture

ASIC Engineer role at Meta focusing on building accelerators for machine learning and data center workloads.

Description For Embedded Software Engineer

As an Embedded Software Engineer at Meta, you can help build new, innovative hardware and software that radically redefine the way people work, play and connect. What we build today could one day be the norm. So to be here today is to truly be at the heart of change and the frontier of what's to come. We're the people helping to define the metaverse. We may not have all the answers. But together, we're getting closer.

Responsibilities:

  • Design and implement components at all layers of the system, e.g. kernel, synchronization primitives, resource allocators, memory management, security, I/O systems, persistence, etc.
  • Design and implement drivers and services that operate efficiently in a constrained environment yet when pressed can efficiently deliver large volumes of data with low-latency and high-bandwidth.
  • Debug complex, system-level, multi-component issues that typically span across multiple layers from kernel to application.
  • Profile performance problems and drive optimizations that span the entire software stack.
  • Bring up new devices and lead debugging and performance tuning exercises that span multiple hardware/firmware/software engineers.
  • Understand software components from multiple partner teams, lead the integration of those components into the unified product code base, and drive their continued development.

Minimum Qualifications:

  • Bachelor's or Master's Degree in Computer Science, Computer Engineering, relevant technical field, or equivalent practical experience
  • 2+ years' Software Engineering experience in device driver development, embedded systems, or operating systems.
  • 2+ years' experience working on systems software in a C/C++ code base.
  • Experience in BSP/Board Support Package, Operating Systems, Android OS, Graphics and Display Drivers.
  • Experience developing, debugging, and shipping software products on large code bases that span platforms and tools.
  • Experience with Software Development processes including: source control, bug tracking, and design documentation.

Preferred Qualifications:

  • Experience in hardware bring up using interfaces like ADC, GPIO, SPI, I2C, etc.
  • Demonstrated experience working collaboratively in cross-functional teams.
  • Deep specialized experience in two or more of the following areas: BSP/Board Support Package, Operating Systems, Android OS, Graphics and Display Drivers.

Meta is committed to providing reasonable accommodations for candidates with disabilities, long term conditions, mental health conditions or sincerely held religious beliefs, or who are neurodivergent or require pregnancy-related support.

Last updated 7 months ago

Responsibilities For Embedded Software Engineer

  • Design and implement system components
  • Design and implement efficient drivers and services
  • Debug complex, system-level issues
  • Profile and optimize performance
  • Bring up new devices and lead debugging exercises
  • Integrate software components from partner teams

Requirements For Embedded Software Engineer

  • Bachelor's or Master's Degree in Computer Science, Computer Engineering, or relevant field
  • 2+ years' Software Engineering experience in device driver development, embedded systems, or operating systems
  • 2+ years' experience working on systems software in a C/C++ code base
  • Experience in BSP/Board Support Package, Operating Systems, Android OS, Graphics and Display Drivers
  • Experience developing, debugging, and shipping software products on large code bases
  • Experience with Software Development processes

Benefits For Embedded Software Engineer

401k
Dental Insurance
Medical Insurance
Vision Insurance
  • 401k
  • Dental Insurance
  • Medical Insurance
  • Vision Insurance

Interested in this job?