Senior Software Engineer, Distributed Systems (Rust)Active$254K
The opportunity
Lattice is the software platform behind Anduril's autonomous systems. The Data Distribution team owns how data moves through it: the Distributed Service Bus (DSB), a messaging layer that carries every track, sensor reading, command, and video stream between nodes.
What you'll do
Messaging semantics. DSB provides pub/sub, reliable request/response, and: ordered bidirectional streams with flow control. You'll design the delivery guarantees, retry and acknowledgement behavior, and backpressure that sit behind each one, and decide what each guarantee costs on a link that drops packets.
Routing across a changing mesh. Topology changes constantly, and a node may: have several paths to the same destination. You'll work on OSPF-style link-state routing, multi-path link selection, and prefix-based routing, and on keeping routing state convergent when the network splits and rejoins.
Gossip and state dissemination. Subscription tables, topology, and node: metadata have to propagate across the mesh without flooding it. You'll design and tune gossip protocols and reason about how and when they converge.
Operating under constrained bandwidth. Some links carry a few kilobits per: second. You'll build priority-based QoS scheduling, compression, and protocol-level optimizations so that the important traffic gets through first.
gRPC over the mesh. You'll extend our gRPC proxy layer so existing services: can talk to each other over DSB without changes, including service discovery, retries, and timeouts across unreliable links.
Correctness through simulation. The same production code runs under a: deterministic, manually clocked scheduler, so failures are reproducible. You'll build simulation harnesses and tests that find the bugs that only show up under partitions, reordering, and loss.
What they're looking for
- Production Rust
- Experience with gossip protocols, epidemic broadcast, or peer-to-peer overlay networks
- Familiarity with link-state routing (OSPF, IS-IS) or BGP
- Experience with deterministic simulation, fault injection, or property-based testing of distributed systems
- Experience with systems that run in resource-constrained or intermittently connected environments
- Ability to read packet captures and debug with tcpdump or Wireshark
- Familiarity with Kubernetes and container orchestration