Software Engineer, Embedded Systems

    • Austin, TX

Facebook's mission is to give people the power to build community and bring the world closer together. Through our family of apps and services, we're building a different kind of company that connects billions of people around the world, gives them ways to share what matters most to them, and helps bring people closer together. Whether we're creating new products or helping a small business expand its reach, people at Facebook are builders at heart. Our global teams are constantly iterating, solving problems, and working together to empower people around the world to build community and connect in meaningful ways. Together, we can help people build stronger communities - we're just getting started.

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.

  • 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
  • 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
  • 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
Facebook is proud to be an Equal Opportunity and Affirmative Action employer. We do not discriminate based upon race, religion, color, national origin, sex (including pregnancy, childbirth, or related medical conditions), sexual orientation, gender, gender identity, gender expression, transgender status, sexual stereotypes, age, status as a protected veteran, status as an individual with a disability, or other applicable legally protected characteristics. We also consider qualified applicants with criminal histories, consistent with applicable federal, state and local law.Facebook is committed to providing reasonable accommodations for candidates with disabilities in our recruiting process. If you need any assistance or accommodations due to a disability, please let us know at

Back to top