Role description:
• Develop software systems that enable autonomous operation, perception, planning, and control for underwater vehicles.
• Design and implement systems software that interfaces directly with vehicle hardware, sensors, and embedded compute platforms.
• Work closely with mechanical and electrical engineers to integrate software with real robotic systems and validate performance through lab testing and field deployments.
• Develop software infrastructure for autonomy, communications, and system monitoring using modern systems programming languages.
• Participate in system bring-up, debugging, and iterative testing on physical hardware platforms.
• Contribute to the architecture, reliability, and performance of the vehicle software stack.
Desired qualifications:
• B.S. or M.S. in Computer Science, Computer Engineering, Robotics, or related technical field.
• 1-7 years of experience developing software for robotics, embedded systems, or autonomous platforms.
• Proficiency with Linux and the Linux command line.
• Experience developing software with ROS (Robot Operating System).
• Hands-on experience building perception, planning, or control systems for autonomous robots.
• Experience writing systems software in low-level languages such as C, C++, Rust, Zig, or similar.
• Proficiency with Python and C++.
• Experience integrating software with sensors, hardware interfaces, and embedded compute systems.
• Strong debugging and troubleshooting skills across software and hardware interfaces.
• U.S. work authorization and ability to obtain a security clearance.