Firmware Software Engineer

Duration:  03 Months

  • We are looking for a Firmware Engineer to join our team, whose mission is to design, build, and test prototype systems for future consumer VR and AR experiences. We are specifically looking for a candidate with a broad set of experiences, including deep embedded system knowledge, the ability to quickly solve problems, generate big ideas, work in new technology areas, and drive concepts into prototypes.

Job Responsibilities:

  • Lead efforts to analyze, design, develop, and debug firmware for a wide variety of AR and VR devices, including novel sensing and imaging systems, haptic devices, and audio prototypes
  • Understand and implement firmware on micro-controllers, leverage peripherals, manage power consumption, support boot loaders, and schedule real-time tasks (RTOS)
  • Collaborate in a team environment across multiple, research focused, and engineering disciplines, making the architectural tradeoffs required to rapidly deliver firmware solutions
  • Support all phases of custom hardware development - including early architecture requirements definition, firmware architecture, proof-of-concept implementation, selection of MCUs and tools, and board bring-up


  • Bachelor's degree in computer science, software engineering or relevant field required.

Required Qualifications:

  • B.S./M.S. degree in Computer Science, Electrical Engineering, or related field
  • 3+ years of experience in embedded firmware design or equivalent experience
  • Experience in programming embedded systems with C
  • Experience with peripherals such as USB, SPI, MIPI CSI/DSI, I2C, UART, GPIO etc.
  • Experience with wireless or wired communication protocols such as USB, TCP/IP, Ethernet, Bluetooth and 802.11

Preferred Qualifications:

  • Experience with embedded Linux, Kernel, YOCTO, BUILDROOT, etc.
  • Experience maximizing performance of resource constrained systems
  • Experience with either an RTOS-based or bare metal system
  • Experience with high compute /throughput systems and using sim/modeling to estimate performance and power