About this Senior/Staff Software Engineer, Core Connectivity role at Zoox
Zoox is building the world's most advanced self-driving hardware and software solution. Inside the vehicle, dozens of processes across several compute hosts exchange sensor data, perception output, planner decisions, and control commands many times a second. Every millisecond spent moving that data is a millisecond the vehicle doesn't have to react, so the transport has to be fast and predictable, and keep working when a process restarts or a host comes up late.
The Core Connectivity team owns how that data moves, and how fast: shared-memory IPC between processes, transport between hosts, serialization, the RPC and messaging patterns application teams build on, and time synchronization across hosts. Nearly every software team at Zoox builds on this layer, so you'll work closely with the teams that use it, and your work shows up directly in how the vehicle drives.
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.
Solid systems fundamentals: concurrency, memory management, process lifecycle, sockets and the Linux networking stack.
Bonus Qualifications
Hands-on experience with shared-memory IPC, pub/sub or RPC middleware such as DDS, ROS 2, or iceoryx, or serialization frameworks such as Protocol Buffers, nanopb, or FlatBuffers.
Experience with PTP (IEEE 1588) or other time synchronization across machines, or with UDP multicast, MTU and fragmentation behavior, or time-sensitive networking.
Robotics, automotive, aerospace, or another real-time or safety-relevant domain.