About the role
This role is designed for a versatile robotics engineer who can work across our entire software stack and make it better.
This is a deliberately broad role. One week, you might be standing up a new piece of middleware infrastructure; the next, porting a perception component onto an accelerated runtime; the next, automating a calibration workflow that used to consume a day of manual effort.
The unifying thread is not a single domain, but range: the ability to drop into an unfamiliar corner of the system, understand it quickly, and leave it better than you found it.
Robotics software cannot be written well in isolation from the machine it runs on. We expect you to be comfortable working hands-on with real hardware, bringing up, instrumenting, testing, and debugging your software against the physical system rather than only in simulation.
Much of that happens in the field. This role carries real ownership of work at our flight tests, where software meets reality at full speed and the most stubborn problems surface. You do not need to be a mechanical or electrical designer, but you do need the practical fluency to work through problems that span the hardware and software boundary, where the toughest robotics bugs tend to live.
Just as important is perspective. We want someone who will look critically at how our systems are built, software and hardware alike, and surface the improvements we have not thought to make ourselves. A sharp, motivated engineer with fresh eyes often sees what a team too close to its own work has stopped noticing, and we want to hear it.
This is a generalist role by design. Depth in a robotics specialty such as state estimation, controls, or perception is a welcome bonus, but it is not what we are screening for. We are looking for breadth, sound engineering judgment, and the drive to make a complex robotic system work better wherever you are pointed.
What you'll do
You will work across the full robotics software stack, taking on whatever most needs doing and seeing it through on real hardware. The work is deliberately broad and will put you in contact with nearly every major area of the system.
You will focus on problems in all of the following areas:
- Build Across the Stack: Develop and extend software throughout the system, from the middleware and infrastructure beneath it to the autonomy, perception, controls, and estimation subsystems that bring it to life. Over time, you will work in nearly every major robotics domain, standing up new capabilities and strengthening existing ones.
- Optimize for Real-Time Performance: Profile and tune performance-critical software so it keeps pace on our onboard compute, improving ROS 2/DDS middleware, inter-process communication, threading, and concurrency so the system runs reliably in real time.
- Own Integrations with the Wider Ecosystem: As our system matures, it has to operate alongside a growing set of external commanders, peers, and platforms. Own integrations with command-and-control, autonomy, and hardware systems, including ground control stations, so our robots can be commanded and coordinated within a larger ecosystem.
- Automate the Manual: Find the workflows that quietly cost the team time, such as calibration, setup, and test procedures, and turn them into automated, repeatable systems that let everyone move faster.
- Bring Up and Debug on Hardware: Develop and validate your software against the physical system, instrumenting, testing, and debugging across the hardware and software boundary, in the lab and increasingly in the field.
- Take the Work to the Field: Play a hands-on role in our flight-test campaigns, where you will see your software run on real vehicles, debug the issues that only appear at full dynamics, and feed what you learn straight back into the system.
- Make the System Better: Look critically at how our software and hardware are built, spot the weaknesses and opportunities others have missed, and drive the improvements that make the platform more capable and robust.
Basic Qualifications
- Education: MS in Robotics, Computer Science, Electrical Engineering, Mechanical Engineering, or a related technical field, or equivalent practical experience. We are looking for a few years of experience but will consider candidates across a range of levels.
- Robotics Software Breadth: Demonstrated ability to develop robotics software across multiple parts of a system, picking up unfamiliar subsystems quickly and improving them.
- ROS 2: Hands-on experience building and debugging robotics software in ROS 2.
- Real-Time & Concurrency: Solid understanding of concurrent and real-time software performance, including threading and synchronization, inter-process communication, and the performance characteristics of ROS 2/DDS middleware, with the ability to profile and tune it.
- Hardware Fluency: Significant hands-on experience working with real robotic or hardware systems, bringing up, instrumenting, testing, and debugging software against physical hardware rather than only in simulation.
- Software Skills: Strong proficiency in C++ and Python for robotics development.
- Field Work: Willingness and ability to travel for and work hands-on at field and flight-test campaigns.
Preferred Qualifications
Experience in any of the following areas is a plus:
- Robotics Domain Knowledge: Working knowledge of one or more robotics specialties such as state estimation, controls, or perception. Depth is not required, but familiarity helps you move faster across the stack.
- Performance & Embedded Systems: Experience with GPU-accelerated compute and transport for onboard ML or perception, including CUDA, NITROS, TensorRT, or related tools.
- Embedded & Real-Time Systems: Experience with embedded or real-time systems, such as microcontrollers, RTOS, or real-time Linux.
- Systems Integration: Experience integrating robotic systems with command-and-control, ground control stations, or multi-vehicle command, including MAVLink or similar protocols.
- Simulation & Validation: Experience with robotics simulation environments, including Gazebo, Isaac Sim, or related tools, for development and validation.
- CI/CD & Automated Testing: Experience building and maintaining CI/CD and automated testing pipelines, including against simulation or hardware where applicable.
- Full-Subsystem Ownership: Ability to take a subsystem from requirements through prototype to working reality, including comfort reaching into mechanical or electrical design when a problem calls for it.
This position may involve access to technology, material, technical data, defense articles, or information subject to U.S. export-control laws, including the International Traffic in Arms Regulations (ITAR), the Export Administration Regulations (EAR), and applicable contract requirements. Assignment to covered work is contingent upon the company’s ability to verify that the candidate is authorized to receive access to such items or information, including by qualifying as a “U.S. person” as defined in 22 C.F.R. § 120.62, or through any required export-control authorization, notice, approval, or access-control process.