Software Engineer, Embedded Systems


Austin, Texas / Fremont & Menlo Park, California, United States

full time

04 Dec 2020


Facebook is seeking a Software Engineer to design, develop and implement hardware-near software for accelerators and other components used in our infrastructure. This person will be an integral member of the team, responsible for embedded software design and optimization for these platforms. This person will also be involved in domain specific design and implementation both around hardware management and control, as well as application specific areas such as video processing and machine learning, working with diverse teams within the company. This role requires strong communication skills, as well as comprehensive troubleshooting and analytical skills. This position is full-time and located in our Menlo Park office.

Software Engineer, Embedded Systems Responsibilities

  • Create and maintain system software components including device drivers, firmware and tools to manage the hardware
  • Work with security teams on implementing best practices for platform components
  • Work with emulators and prototype/FPGA hardware on software development and hardware validation
  • Work with HW and application teams to bring up hardware, test functionality, debug and performance tuning
  • Work with production teams on qualification and validation suites and trouble shooting

Minimum Qualifications

  • BS in Computer Science or Computer Engineering
  • Knowledge with hardware architecture, bring up and debug
  • Experience with Linux kernel or RTOS driver models and frameworks around media, networking, or storage
  • C/C++ coding experience
  • Knowledge with embedded environments, JTAG, trace, schematics and board-level debug

Preferred Qualifications

  • Familiarity with design and implementation of hardware-software interfaces
  • Familiarity with hardware bring up, and debug of i2c, SPI, PCI-e, Ethernet and other peripherals
  • Familiarity with design and implementation of kernel/user space interfaces and frameworks
  • Experience with offload engines in video, crypto, networking or machine learning
  • Familiarity with modern video formats, codecs, ML algorithms and related frameworks

Do you want to get jobs like this one sent to your email every week?

Then subscribe to the C++ JOBS newsletter!