# Senior Software Engineer, Distributed Simulation (C++)

**Company**: Anduril Industries
**Location**: Seattle, Washington
**Experience**: senior
**Job type**: full-time
**Salary**: $191,000-$253,000 USD
**Category**: Engineering
**Industry**: Technology

**Apply**: https://job-boards.greenhouse.io/andurilindustries/jobs/5231054007?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply
**Canonical**: https://yubhub.co/jobs/job_2a502110-abe

## Description

Anduril Industries is a defense technology company with a mission to transform U.S. and allied military capabilities with advanced technology.

We are looking for a Senior Software Engineer with deep C++ and real-time systems experience to build the simulation layer of the Software Integration Environment (SIE) platform.

This is a systems software role: you will design and write the services that let independent simulators share one world , a common clock, a common entity namespace, and a clear model of who owns what , and the tooling that lets users author, reuse, and debug the scenarios they run.

**Responsibilities**

- Design and build the C++ services that federate independent simulators into a single simulated world , time management, entity registry and ownership, join/resign lifecycle, and state distribution

- Own the wire layer: protocol encoding and decoding, multicast and unicast transport, and the interoperability work required to make simulators built by different teams and vendors talk to each other

- Make simulation runs deterministic and reproducible enough that a result is evidence, not a demo , including time control, replay, and the instrumentation that explains a divergence

- Build and generalize the scenario and laydown authoring tooling that engineers and operators use to describe what they want to run

- Build the content and resource catalogs that let users save, tag, search, and reuse environment and scenario definitions instead of rebuilding them each time

- Chase down performance: profile hot paths, control allocation and copying, and hold latency and throughput budgets under load with hundreds to thousands of entities

- Integrate with the rest of the platform , the Go services that provision and schedule compute, the gRPC/protobuf APIs that expose it, and the web UI the team owns

- Set the technical direction for this area, write the design docs that make it reviewable, and raise the bar through code review and mentorship as the team grows

- Partner with Anduril business lines when they onboard onto the platform , work alongside their engineers to get their simulators, models, and test workflows integrated, and stay with them until it works in their hands and not just yours

- Reduce the cost of that onboarding over time by turning the integration work you do by hand into documentation, reference integrations, and SDKs, so the next team can self-serve

- Work directly with the internal teams and external customers who need this, and convert what they tell you into shipped capability

**Requirements**

- 7+ years of professional software engineering experience

- Deep, current production experience in modern C++ (C++17 or newer)

- Experience building networked, concurrent, or real-time systems in C++, including multithreading, synchronization, and the failure modes that come with them

- Strong systems fundamentals: memory layout and allocation behavior, cache effects, sockets and UDP/TCP, serialization, and Linux

- Demonstrated ability to profile and optimize a real system, and to reason about latency and throughput with numbers rather than intuition

- Experience owning an ambiguous, cross-cutting project end-to-end and driving it to production

- Experience working directly with the engineering teams who consume what you build , integrating them, unblocking them, and taking their feedback into the next version

- Comfortable working in at least one other language alongside C++ , the surrounding platform is Go and TypeScript, and you will touch both

- Strong written and verbal communication , you can write a design document that a skeptical reader can evaluate

- Computer Science degree or equivalent industry experience

- Eligible to obtain and maintain an active U.S. Secret security clearance

**Benefits** At Anduril, we invest in our people. Our comprehensive, competitive benefits package (available at little to no cost to employees) ensures you’re supported in health, recovery, and whatever comes next.

## Skills

### Required
- C++
- real-time systems
- networked systems
- multithreading
- synchronization
- Linux
- Go
- TypeScript
- gRPC
- protobuf

### Nice to have
- distributed simulation
- interoperability standards
- simulation engines
- physics or flight dynamics models
- game engines
- discrete-event and time-stepped simulation frameworks
- software-in-the-loop or hardware-in-the-loop test systems
- robotics simulation
- synthetic environments
- logical clocks
- lockstep execution
- record and replay
- GPU programming
- rendering
- geospatial and terrain data

---

Source: [Apply at job-boards.greenhouse.io](https://job-boards.greenhouse.io/andurilindustries/jobs/5231054007?utm_source=yubhub.co&utm_medium=jobs_feed&utm_campaign=apply)
