Posted in

Embedded Software Engineer – Firmware – Reality Labs

Embedded Software Engineer – Firmware – Reality Labs

CompanyMeta
LocationBurlingame, CA, USA, Sunnyvale, CA, USA
Salary$147000 – $208000
TypeFull-Time
DegreesBachelor’s
Experience LevelSenior

Requirements

  • 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

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

Preferred Qualifications

  • Experience with embedded DSP, CPU, and GPU architectures
  • Hands-on coding experience with peripherals such as UART, SPI, CSI-2, i2c, GPIO, USB
  • Experience with compression, camera and video pipelines, or encoding technologies such as H.264
  • Experience with wireless and wired communication protocols,TCP/IP, Ethernet, Bluetooth and 802.11
  • Experience with silicon, device manufacturing, and low-power SoCs
  • Experience with lab instrumentation such as oscilloscopes, logic/protocol analyzers for debugging embedded systems at HW level
  • Experience with active power management or power optimizations
  • Experience with prototyping or pre-silicon environments (FPGAs, simulation, or emulation)
  • Experience developing with modern Real Time Operating Systems
  • 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