About the role
Zoox is building the world's most advanced self-driving hardware and software solution, and nearly every part of it depends on moving data reliably. Sensor frames to perception, planner decisions to vehicle controls, telemetry to the cloud, and remote operator video back down again. All of it crosses process, host, and network boundaries under hard latency and reliability budgets, on a vehicle that has to keep working when a link degrades or a network gets congested. The Software Core Connectivity team owns that data path end to end: in-vehicle messaging (pub/sub, RPC, inter-process and inter-host transport), the vehicle's internal network, and vehicle-to-cloud connectivity. It also owns the transport and serialization abstractions the rest of the software organization builds on. Every one of those paths crosses a team boundary, so the work happens alongside firmware, product security, simulation, manufacturing, and IT, and those partners rely on this team for transport and networking depth to achieve their goals. As the team leader you will own the roadmap and the release commitments, and you will spend a real share of your time in those partnerships.
In this role, you will
- Design and build low-latency inter-process and inter-host transport in C++: zero-copy data paths, shared-memory buffers, and lock-free queues. Measure and drive down end-to-end latency and jitter as message volume grows.
- Make the transport hold up when processes crash or restart, hosts start out of order, and networks drop or delay packets. Chase fleet and simulation issues to root cause and fix them in the design.
- Build the pub/sub and RPC messaging APIs application teams build on, so they get the delivery, ordering, and latency guarantees they need without having to understand the transport underneath.
- Evolve message schemas and the Protocol Buffers based serialization layer: schema evolution, compact encodings, and moving existing users onto new formats without breaking anyone.
- Set technical direction for a part of the stack and lead designs that span several teams.
Qualifications
- Bachelor's or Master's degree in computer science, electrical / computer engineering, or equivalent experience, and 7+ years of experience in software development.
- Strong modern C++ on Linux, in large codebases with performance-critical paths.
- A background in transport or networking software, such as messaging systems, network protocols, or communication between distributed systems.
- Experience building low-latency systems, and a track record of measuring and reducing tail latency, using techniques such as zero-copy, shared memory, lock-free data structures, and cache-aware data layout.