Embedded Software Engineer, Firmware - Reality Labs at Meta
Sunnyvale, CA 94089, USA -
Full Time


Start Date

Immediate

Expiry Date

10 Oct, 25

Salary

208000.0

Posted On

10 Jul, 25

Experience

0 year(s) or above

Remote Job

Yes

Telecommute

Yes

Sponsor Visa

No

Skills

Computer Graphics, Machine Learning, Computer Science, Power Management, Interrupts, Communication Protocols, Bluetooth, Operating Systems, Computer Engineering, Silicon, H.264, Coding Experience, Embedded Systems, Computer Vision, Compression, Emulation, Gpio, Usb

Industry

Computer Software/Engineering

Description

MINIMUM 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

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
    For those who live in or expect to work from California if hired for this position.
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
Loading...