Senior Software Engineer, Distributed Simulation (C++)

Engg

Seattle (WA)

On-site

USD 150,000 - 210,000

Full time

14 days+
Application generator

Don’t send a generic resume — generate a resume and cover letter tailored to this exact role.

Get past ATS filters

Job summary

Anduril Industries is seeking a Senior Software Engineer to join the Software Integration Environment team in Seattle. You will design and implement the simulation layer for the SIE platform, building C++ services that let diverse simulators share a single world with a common clock and entity namespace.

You will own end-to-end development from design to production, work with Go and TypeScript components, and help onboard other teams.

Qualifications

  • 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++.
  • 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.
  • 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.

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 talk to each other
  • Make simulation runs deterministic and reproducible — time control, replay, and instrumentation that explains a divergence
  • Build and generalize the scenario and laydown authoring tooling used to describe runs
  • Build content and resource catalogs to save, tag, search, and reuse environment and scenario definitions
  • 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 Go services that provision compute, the gRPC/protobuf APIs, and the web UI
  • Set the technical direction for this area, write design docs, and mentor the team as it grows
  • Partner with Anduril business lines onboarding onto the platform — onboard simulators, models, and test workflows
  • Reduce onboarding cost by documenting integrations and providing SDKs for self-serve use
  • Work with internal teams and external customers to turn feedback into shipped capability

Skills

C++
Go
TypeScript
Multithreading
Linux
Networking
Performance profiling
Communication

Education

Computer Science degree or equivalent

Job description

ABOUT THE TEAM

Anduril Industries is a defense technology company with a mission to transform U.S. and allied military capabilities with advanced technology. By bringing the expertise, technology, and business model of the 21st century’s most innovative companies to the defense industry, Anduril is changing how military systems are designed, built and sold. Anduril’s family of systems is powered by Lattice OS, an AI-powered operating system that turns thousands of data streams into a realtime, 3D command and control center. As the world enters an era of strategic competition, Anduril is committed to bringing cutting-edge autonomy, AI, computer vision, sensor fusion, and networking technology to the military in months, not years.

The Software Integration Environment (SIE) team builds the platform Anduril uses to test software the way it will actually be flown, driven, and fought: real binaries, running on real services, under conditions we control. We provision isolated, reproducible environments for simulation and integration testing at scale, across AWS, Azure, and on-premise. The platform is used both internally by Anduril engineers and externally by our customers. Compute was the first half of that problem. The second half is the simulated world those binaries run inside — how it gets authored, how heterogeneous simulators agree on it, and how an engineer inspects and trusts what happened during a run. That is what this role owns.

ABOUT THE ROLE

We are looking for a Senior Software Engineer with deep C++ and real-time systems experience to build the simulation layer of the 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. This is a new area with a wide surface. You will be one of the first engineers on it, which means you will set the technical direction, make the architectural calls, and be accountable for them. Most of your time is spent building, but not all of it: you will periodically work alongside the teams adopting the platform, onboarding Anduril business lines and integrating their simulators with it. Expect ambiguity: the standards in this domain are decades old, the implementations in the wild vary wildly in quality, and the correct design for our constraints is not written down yet. We expect you to work end-to-end — design, implement, ship, operate, and iterate.

WHAT YOU’LL DO
  • 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
REQUIRED QUALIFICATIONS
  • 7+ years of professional software engineering experience
  • Deep, current production experience in modern C++ (C++17 or newer) — you are fluent in ownership and lifetime, move semantics, templates, and the standard library
  • 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
PREFERRED QUALIFICATIONS
  • You have a bias for action and taking ownership.
  • You have a track record of fixing a problem when you see one, including problems that are not formally yours.
  • Experience with distrib
Get your free, confidential resume review.

or drag and drop your file here.

Similar jobs

Similar jobs worth comparing

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

Triwill Group • Seattle (WA)

On-site
USD 191,000 - 253,000
Senior Software Engineer, Distributed Simulation (C++)
Senior Software Engineer, Distributed Simulation (C++)

Anduril-1 • Seattle (WA)

On-site
USD 191,000 - 253,000
Senior Software Engineer, Mission Simulation
Senior Software Engineer, Mission Simulation

Anduril Industries • Costa Mesa (CA)

On-site
USD 120,000 - 180,000
Senior Software Engineer, Distributed Simulation (C++)
Senior Software Engineer, Distributed Simulation (C++)

Anduril Industries • Seattle (WA)

On-site
USD 191,000 - 253,000
Competitive salary
Benefits package
Relocation assistance
Software Engineer, Distributed Simulation
Software Engineer, Distributed Simulation

AI Chopping Block • Seattle (WA), Northern (KY)

On-site
USD 166,000 - 220,000
Top-tier benefits
Equity grants
Senior C++ Systems Engineer — Distributed Simulation
Senior C++ Systems Engineer — Distributed Simulation

Anduril-1 • Seattle (WA)

On-site
USD 191,000 - 253,000
Senior C++ Distributed Simulation Engineer
Senior C++ Distributed Simulation Engineer

Anduril Industries • Seattle (WA)

On-site
USD 191,000 - 253,000
Competitive salary
Benefits package
Relocation assistance
Senior C++ Systems Engineer for Distributed Simulation Platform
Senior C++ Systems Engineer for Distributed Simulation Platform

Triwill Group • Seattle (WA)

On-site
USD 191,000 - 253,000
Software Engineer - Undersea Dominance
Software Engineer - Undersea Dominance

Anduril • Costa Mesa (CA)

On-site
USD 120,000 - 190,000
Software Engineer, Distributed Simulation
Software Engineer, Distributed Simulation

Anduril-1 • Seattle (WA)

On-site
USD 166,000 - 220,000