JOBSEARCHER

Senior Autonomy Software Engineer

Develop the planning, coordination, decision-making, and degraded-communications behaviors that enable multiple unmanned aircraft to execute missions collaboratively. Department Software Location Annapolis, Maryland Region United StatesJob type Full-time Work arrangement On-site Base compensation $150,000–$210,000 per year Eligible for an annual performance bonus based on team or department success.
ABOUT THE ROLE: Vanthal Technologies is seeking a Senior Autonomy Software Engineer to develop the planning, coordination, and decision-making software used by collaborative unmanned-aircraft systems. This is a full-time, on-site position based at Vanthal's operations in Annapolis, Maryland. The role works directly with aircraft, edge-compute hardware, flight-control systems, simulation environments, operator interfaces, and live test platforms. The Senior Autonomy Software Engineer will develop software for mission decomposition, vehicle selection, task allocation, route generation, coverage planning, dynamic replanning, aircraft coordination, degraded-communications behavior, recovery logic, and human supervision. This is a hands-on robotics-software role. The successful candidate must be capable of designing autonomy algorithms, implementing production-quality software, testing behavior in simulation, integrating it with physical aircraft, and evaluating performance during field testing. This is not primarily a computer-vision, web-development, data-science, or research-only position. The role is responsible for translating autonomy concepts into reliable software that operates on real hardware under practical constraints. Vanthal develops autonomy intended to operate within defined mission constraints and human-supervision requirements.
RESPONSIBILITIES: Design and implement autonomous mission-planning and execution software
Develop mission decomposition and task-allocation logicDevelop vehicle-selection logic based on aircraft capability, location, status, configuration, and availability Develop multi-aircraft coordination and collaborative mission behaviors Develop coverage-planning and route-generation algorithms Develop dynamic mission-replanning behavior Develop collision-avoidance and operational deconfliction logicDevelop return, recovery, replacement, and relaunch decision logicDevelop behavior for lost-link, intermittent-link, and degraded-network conditions Define human-supervision, approval, override, and abort interfacesIntegrate autonomy software with aircraft telemetry and command interfacesIntegrate software with simulation, software-in-the-loop, hardware-in-the-loop, and live aircraft Develop reusable vehicle abstractions that support multiple aircraft configurations Implement health-aware mission behavior Incorporate aircraft state, battery condition, payload, communications status, and mission priority into autonomous decisions Develop deterministic startup, shutdown, recovery, and fault-handling behavior Create automated tests for autonomy decisions and mission-state transitions Build simulation scenarios for nominal, degraded, and failure conditions Analyze test results, flight logs, and autonomy-performance data Identify unsafe, unstable, or undesirable autonomous behavior Perform structured root-cause analysis for software and integration failures Improve autonomy reliability, predictability, and explainability Maintain clear architecture, interface, and software-design documentation Participate in code review and software-quality practices Support field testing, demonstrations, and aircraft-integration activity Work directly with embedded, perception, networking, mission-systems, flight-test, and aircraft personnel Contribute to technical planning and autonomy-system architectureREQUIRED QUALIFICATIONSAt least five years of professional software-engineering experience At least three years of experience developing software for robotics, autonomous systems, mission planning, industrial automation, real-time systems, or comparable physical systems Strong professional experience with modern C++Professional experience with Python Experience designing and implementing planning, decision-making, control, coordination, or state-management softwareExperience developing software that interacts with physical hardware Experience working in Linux-based development environmentsExperience with multithreaded, asynchronous, event-driven, or real-time softwareExperience creating automated software tests Experience debugging complex software and hardware-integration problems Experience analyzing logs, telemetry, and system behavior Experience with simulation-based development and testing Strong understanding of software architecture, interfaces, and modular system design Strong understanding of data structures, algorithms, and computational tradeoffs Ability to convert operational requirements into testable software behaviorAbility to document assumptions, interfaces, state transitions, and failure behaviorAbility to communicate technical decisions clearly Ability to work directly with hardware, aircraft, and test personnel Willingness to participate in hands-on integration and field testing Reliable attendance and professional follow-throughPROGRAMMING LANGUAGE REQUIREMENTSModern C++ is required. Python experience is required. EDUCATIONA bachelor's degree in computer science, robotics, electrical engineering, mechanical engineering, aerospace engineering, applied mathematics, or a related technical field is preferred. Directly relevant autonomy, robotics, and software-engineering experience may be considered in place of a degree.
PREFERRED QUALIFICATIONS: Seven or more years of professional software-engineering experience
Five or more years of robotics, autonomy, mission-planning, or real-time systems experience Experience with multi-agent systems or collaborative robotics Experience with decentralized task allocation or coordination Experience with coverage planning, route planning, graph search, or optimization Experience with behavior trees, hierarchical state machines, planners, or decision engines Experience with dynamic replanning under changing mission conditions Experience with collision avoidance or vehicle deconfliction Experience designing systems that operate under intermittent or degraded communications Experience with distributed robotic systemsExperience with unmanned aircraft, ground robots, maritime robotics, or industrial autonomous systemsExperience with ROS or ROS 2Experience with MAVLinkExperience with ArduPilot or PX4Experience with software-in-the-loop and hardware-in-the-loop testingExperience with Gazebo, Isaac Sim, AirSim, JSBSim, or comparable simulation environmentsExperience integrating autonomy software with flight controllers Experience with edge-compute platforms and resource-constrained systemsExperience with telemetry, command, and control interfaces Experience with geospatial data, coordinate systems, and map-based planning Experience with safety-critical, mission-critical, or high-reliability softwareExperience with formalized software-state and failure-mode analysis Experience building automated regression and scenario-test systemsExperience developing software for GPS-degraded, communications-degraded, or uncertain environmentsExperience supporting live robotic-system testingExperience in a startup or rapidly developing hardware organization Military UAS, aviation, robotics, autonomy, or mission-systems experienceWORKING CONDITIONSThis position includes software development, laboratory integration, and field testing with physical unmanned-aircraft systems.
BENEFITS: Three weeks of paid time off per year
Health, dental, and vision insurance Paid maternity and paternity leave Eligibility for an annual performance bonus based on team or department success