Software Engineer, Autonomy

About the role

You are responsible for creating the core decision-making framework, algorithms, and models that guide multi-aircraft coordinated wildfire suppression. At the nexus of the perception pipeline, suppression execution engine, and operator command interface, your systems will rapidly develop and adapt strategies in a changing wildfire environment to achieve suppression goals. You will collaborate directly with firefighters, pilots, and your engineering colleagues to determine and validate system requirements.

What we do

Rain integrates with early wildfire detection to dispatch autonomous aircraft to suspected ignitions. Once dispatched, Rain’s Wildfire Mission Autonomy System perceives the fire, shares intelligence, develops a suppression strategy, and when approved, completes the water drop and evaluates its efficacy. Combining wildfire mission management, path planning, fire perception, suppression strategy, and suppressant targeting, Rain’s technology gives fire agencies the ability to stop wildfires in their earliest stages, before they grow out of control.

Responsibilities

  • Build and integrate mission-level autonomy frameworks for goal-oriented behavior, task assignment, and system-level coordination

  • Enable intuitive human command and supervision, communicating intent, and building operator confidence in mission-critical contexts

  • Develop algorithms for collaborative autonomy involving multiple aircraft

  • Ensure real-time performance and reliability of autonomy software, especially under compute-constrained and communications-limited conditions.

  • Design autonomy software with fault-tolerance, fail-safe behavior, and robustness to uncertain environments or degraded sensors.

  • Validate and test in simulation and in flight, ensuring mission success in challenging conditions faced by firefighting aircraft

  • Collaborate closely with other members of the engineering team to develop and test the algorithms that power the wildfire mission autonomy system

  • Contribute to simulation environments for training, testing, and validation

Qualifications

  • Deep expertise (6+ years of experience) in software engineering for UAS, robotics, or other safety-critical applications 

  • Strong proficiency in C++14 (or newer) development for resource-limited environments

  • Knowledge of planning, state machines, or behavior trees

  • Background in robotics, control systems, or aerospace autonomy

  • Familiarity with simulation tools (e.g., Unreal Engine, AirSim, AFSIM)

  • Understanding of communication protocols, real-time constraints, and embedded systems

What will make you a great fit

  • You’re excited about Rain’s mission to stop wildfires before they grow out of control

  • You thrive in small teams, where you can see the immediate impact of your knowledge and expertise

  • You have experience with reinforcement learning or adaptive autonomy

  • You’re familiar with STANAG/DoD autonomy standards and DO-178C

  • You’ve previously worked with uncrewed aerial systems, aviation, aerospace

  • You’ve served as a firefighter

  • You are willing to travel at least 15% of the year for validation testing

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.