Software Engineer, Mission Simulation

About the role

Rain is building autonomous systems to combat catastrophic wildfires. Our platform integrates aircraft, perception systems, mission autonomy, and operator interfaces into a cohesive, safety-critical system designed to operate in complex, dynamic environments.

Simulation is the first proving ground for everything we build. Before an aircraft flies, before autonomy makes decisions in the field, and before operators rely on the system in dynamic wildfire conditions—those behaviors are developed, tested, and validated in simulation.

In this role, you will build the environments, infrastructure, and system integrations that allow Rain to safely scale autonomous firefighting. At the intersection of perception, autonomy, aircraft systems, and operator interfaces, your work will enable rapid iteration on mission-critical capabilities and expose how the full system behaves under real-world constraints. You will have opportunities to contribute directly to the product by developing safety-critical and mission-critical production modules that are deployed and run in-flight.

You will shape how multi-aircraft coordination strategies are developed, how edge cases and failure modes are tested, and how we build confidence in safety-critical autonomy before deployment. Your simulation systems will directly influence how we fight fires, protect communities, and scale operations.

We are looking for a Senior Software Engineer to lead development of mission simulation and system integration infrastructure—enabling rapid iteration, validation, and deployment of multi-aircraft autonomous operations.

What You’ll Do

  • Design and build a world simulation and sensor simulation stack that generates realistic EO/IR and environmental outputs, and integrates aircraft, autonomy, and external systems into a cohesive simulation environment.

  • Lead the end-to-end development of the simulation stack while acting as a force multiplier across the autonomy team—contributing to perception and mission behaviors as needed to accelerate system progress

  • Develop and maintain integration pipelines and infrastructure to continuously deploy software into simulation, run large-scale integrated tests, and evaluate system performance across mission scenarios.

  • Integrate multi-system components (perception, planning, controls, comms) into cohesive simulation and test frameworks.

  • Develop infrastructure to support multi-agent simulation (multiple aircraft, human-in-the-loop operators, and external systems).

  • Own critical parts of the simulation stack end-to-end—from architecture to deployment to validation.

  • Build tools to evaluate system performance, failure modes, and degraded conditions in safety-critical scenarios.

  • Collaborate closely with engineers on autonomy, perception, and flight software to ensure simulation reflects real-world system constraints and behaviors.

  • Enable real-time and faster-than-real-time simulation to support training, testing, and algorithm development.

  • Drive system-level thinking—ensuring that simulation meaningfully represents interactions across subsystems and impacts mission success.

What We’re Looking For

Core Technical Skills

  • Strong experience in modern C++ for performance critical and safety critical applications

  • Experience with Python for simulation and test tooling

  • Strong, practical experience with building, deploying, and debugging applications on Linux-based systems and environments (e.g. Docker Compose, CMake, Conan, gdb/Valgrind/memcheck)

  • Experience working with or building simulation environments

Systems & Simulation Thinking

  • Running and debugging a multi-host application and simulation environment

  • Experience with system integration across multiple software and hardware components

  • Solid understanding of networking fundamentals (IP/subnet, TCP/UDP)

  • Experience modeling or working with:

    • Distributed systems

    • Multi-agent systems

    • Real-time or near-real-time systems

  • Understanding tradeoffs such as fidelity vs performance across the product as well as simulation as a whole

Execution & Ownership

  • Proven ability to own a domain end-to-end in a fast-moving environment

  • Able to prioritize work based on product impact, maintaining deep ownership while contributing where it most accelerates mission progress

  • Strong bias for action—able to move from ambiguity to execution quickly

  • Ability to break down large problems into tractable, deliverable components

  • Treats engineering as a craft, continually refining skills and utilizing all available tools (code analysis, AI agents, etc) to design, own, and deliver high-quality, dependable systems

Nice to Have

  • Experience with aerospace, robotics, or autonomy systems

  • Comfortable working at the system boundary: networking (TCP/UDP, latency, packet loss), IPC, filesystems, and process orchestration

  • Experience with real-time rendering, game engines,or simulation frameworks (e.g. Unreal Engine, AirSim, AFSIM)

  • Understanding of geospatial reference systems (WGS84, ECEF, Local Tangent Plane, NAD83)

  • Familiarity with fire modeling, environmental simulation, or geospatial systems

  • Background in simulation for training or validation of AI/ML systems

  • Experience with hardware-in-the-loop (HIL) or software-in-the-loop (SIL) systems

Working at Rain

  • Fast-paced, mission-driven environment focused on real-world impact

  • High ownership and autonomy; each engineer drives meaningful parts of the system

  • Deeply technical, systems-oriented culture

  • Opportunity to work on one of the hardest and most meaningful autonomy problems: fighting wildfires at scale

Location

This is an on-site position. Our office is located in Alameda, California—just across the Bay from San Francisco. The office is easily accessible by ferry, bike and scooter, and there is ample parking. Some travel for validation testing is expected.

Legal Notice

This role involves access to information governed by U.S. export control laws. To comply, applicants must qualify as a “U.S. Person” (U.S. Citizen, lawful permanent resident, refugee, or asylee). Employment offers are contingent upon meeting these requirements.