Engineering Roles

Autonomy Software Engineer

You’ll turn autonomy research into code that runs on real platforms. A planner that works in simulation is a paper; a planner that closes the loop under operational timing constraints is a capability. You’ll build the real-time control software, the C2 integration, and the simulation-to-reality path that gets an algorithm from a researcher’s laptop into the field.

The Work
You’ll implement autonomy algorithms as software that meets hard timing guarantees. Model-predictive controllers, reinforcement-learning policies, and hybrid neuro-symbolic architectures arrive from researchers as prototypes; you turn them into C++ that runs inside a real time control loop. You’ll integrate with C2 systems and open-architecture standards so autonomy composes with the rest of the mission rather than standing apart from it, and you’ll build the message plumbing; protocols, ROS interfaces, and the coordination layers that enable multiple platforms to behave as a swarm rather than a collection.
The simulation-to-reality gap is where much of the work lives. You’ll build and maintain the simulation environments the algorithms are developed against, then discover what the simulation got wrong when the code encounters reality: sensor noise the model didn’t have, latency the loop didn’t budget for, a failure mode nobody wrote a case for. You’ll instrument extensively, use static analysis to catch what testing on hardware is too expensive to catch, and iterate between sim and flight. Some of your code runs on embedded processors on the platform; some runs on the ground in the mission planning stack.
Who You Work With
You’ll work with the autonomy researchers in planning and optimization whose algorithms you implement, and you’ll be the one who tells them when an approach cannot meet a timing or memory budget. You’ll collaborate with the systems engineers who integrate swarms into missions, the integration and test engineers who take your code to the range, and the analysts who evaluate how coordinated systems behave under threat. You’ll fly real hardware, not only simulate it, and you’ll be at the range when it happens.
What We Look For
Strong C++ for real-time and embedded software, experience implementing control, planning, or learning algorithms against hard timing constraints, and familiarity with ROS, open-architecture C2 interfaces, and simulation environments; reinforcement learning, model-predictive control, swarm coordination, and CI-driven test for robotics or vehicle software are valued.

Open Positions

Ready to find your place?

Browse every open position for this role across all capability areas and all U.S. locations.