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.