Software Engineer - Sensor Systems, Robot Software

Wayve Wayve · Robotics · Sunnyvale, CA · Vehicle SW Engineering

Software Engineer role focused on building and delivering high-quality, reliable C++ software for edge devices on a fleet of autonomous vehicles. Responsibilities include sensor integration, data capture, real-time system management, fault tolerance, diagnostics, and performance monitoring. The role involves close collaboration with Embodied AI and Science teams to support model training and experimentation, and requires ensuring software runs reliably at scale with limited connectivity. Experience with embedded Linux, automotive sensors, IPC middleware, and distributed systems is essential.

What you'd actually do

  1. Build and deliver software in C++ with high quality and reliability.
  2. Create software which is observable and debuggable when running on a device 2000 km away and with limited connectivity.
  3. Build software to enable full sensor integration and data capture and streaming at the scale and quality necessary for a fully autonomous vehicle.
  4. Deliver and maintain soft-real-time Linux-based applications to a fleet of embedded devices on automobiles, including data collection and storage, as well as machine learning inference on the edge.
  5. Create robust, fault-tolerant software solutions with comprehensive system diagnostics to enable us to quickly and efficiently resolve any issues preventing our deployed fleet from operating at maximum capacity.

Skills

Required

  • Proficiency developing high-performance embedded Linux systems software in C++
  • Demonstrated ability to manage the complete software development lifecycle from ideation through delivery & optimization
  • Experience working with automotive sensors and technologies like camera, LiDAR, radar, or localization systems (IMU, GNSS)
  • Familiarity with embedded Linux, build systems, and/or user space applications
  • Strong understanding of how to optimally use and configure IPC middleware for high data throughput robotics applications on frameworks such as ROS or other automotive middleware
  • Knowledge of how distributed systems operate, either in cloud or robotics systems, and how to make these types of systems more scalable and performant
  • Ability to delve deep into performance issues, stack traces, core dumps, slow disk writes, high system load, memory bottlenecks, external device bottlenecks, and threading issues

Nice to have

  • Experience with robotics, autonomous systems, or other real-world sensing applications
  • Experience with developing software for embedded Linux systems, real-time operating systems such as QNX, and/or other automotive SoCs
  • Knowledge of networking fundamentals, including UDP/TCP, ethernet-based communications and debugging network bottlenecks in high-data-rate systems
  • 5+ years of experience
  • Bachelor’s degree in Computer Science, Electrical Engineering, or a related field
  • Advanced degrees are a plus

What the JD emphasized

  • runs reliably at scale
  • observable and debuggable
  • limited connectivity
  • high quality and reliability
  • fault-tolerant software solutions
  • machine learning inference on the edge

Other signals

  • Deliver software for edge devices to provide data and enable autonomy on a large fleet of vehicles.
  • Ensure that the software you deliver runs reliably at scale.
  • Work closely with our Embodied AI and Science organisations to ensure they have the data and interfaces they need to train models, run experiments and get feedback on driving performance.
  • Build software to enable full sensor integration and data capture and streaming at the scale and quality necessary for a fully autonomous vehicle.
  • Deliver and maintain soft-real-time Linux-based applications to a fleet of embedded devices on automobiles, including data collection and storage, as well as machine learning inference on the edge.