Responsibilities:

  • Embedded OS application development
  • Board bring-up
  • Providing time-synchronized sensor data to middle-ware
  • System configuration management 
  • Sensor integration e.g. LiDAR, cameras, IMUs
  • Software and firmware update strategies
  • System testing & validation
  • Work in team of engineers to develop, test, and deploy software
  • Coordination with hardware engineers for system design and debugging
  • Coordination with technicians to identify root causes of system issues, and deploy fixes

Required Skills:

  • Programming in C/C++, and at least one shell scripting language
  • Bare-metal software (firmware) development
  • Source control
  • Debugging software (gdb, lldb, or similar)
  • Command-line environment using ssh and/or serial terminal
  • Computer networking
  • Reading electronics schematics
  • Analysis using lab equipment such as multi-meters and oscilloscopes

Desired Skills:

  • Embedded Linux application development and kernel configuration
  • RTOS software (firmware) development
  • Bootloader(s)
  • Multi-threading and inter-process communication
  • Thorough knowledge of a build system such as GNU Make or CMake
  • Robot Operating System (ROS)

Education and Experience Requirements:

Bachelor's or Master's degree in computer science, electrical & computer engineering, robotics, or related field. We have positions for candidates with entry, mid, or senior-level experience.

Benefits

  • Compensation compatible with qualification
  • 401(k) plan
  • Health, dental, and vision benefits
  • Life insurance; long-term and short-term disability benefits