
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.
