We are seeking an Experienced Software Developer – AI/ML Autonomous Driving & Navigation to join our software team to build out the suite of our Un-manned Surface Vessel (USV) autonomy and control software. You will develop USV control systems comprised of on-board vessel control components, ground-based user stations and network distributed components on the cutting edge of autonomous navigation.
This role focuses on machine learning, perception, navigation, path planning, sensor fusion, and real-time decision-making for autonomous platforms operating in dynamic environments.
You will bring strong experience in AI/ML-based autonomy, robotics software, maritime navigation systems implementing COLREGs and Contact Avoidance Behaviors, with the ability to move from algorithm design through deployment on embedded or real-time platforms. You will work across perception, controls, systems, simulation, and platform engineering teams to deliver robust, production-quality autonomous driving capability.
Key Responsibilities
- Design and develop software for autonomous navigation, including localization, mapping, perception, path planning, obstacle avoidance, and motion decision logic.
- Build and optimize AI/ML models for object detection, classification, tracking, scene understanding, and behavior prediction.
- Develop and integrate sensor fusion solutions using data from cameras, LiDAR, radar, GPS, IMU, and other onboard sensors.
- Implement navigation and autonomy algorithms for structured and unstructured environments.
- Collaborate with systems, controls, and platform teams to integrate autonomy functions into vehicle software architecture.
- Develop software in C++ for real-time or near-real-time autonomy applications.
- Create simulation and test pipelines for model training, algorithm validation, and system verification.
- Support field testing, debug performance issues, and refine autonomy behavior based on test results.
- Improve software reliability, safety, performance, and maintainability using sound engineering practices.
- Contribute to requirements definition, technical planning, architecture reviews, and code reviews.
- Mentor junior engineers and provide technical leadership in AI/ML and autonomy development.
- Support transition from prototype algorithms to production-ready implementations.
Required Qualifications
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, Robotics, Aerospace Engineering, or related field.
- 7+ years of software development experience, with significant work in AI/ML, robotics, autonomous systems, or navigation.
- Strong programming skills in C++
- Knowledge of AI LLM training and deployment
- Experience with ML frameworks.
- Experience developing perception or navigation algorithms for autonomous systems.
- Strong understanding of one or more of the following:
- Sensor fusion
- SLAM / localization / mapping
- Path planning / trajectory generation
- Computer vision
- Object tracking
- Reinforcement learning or behavior planning
- Experience with robotics middleware or autonomy frameworks such as ROS / ROS2 or equivalent.
- Experience with message bus and micro-service based architectures
- Experience working with real-world sensor data from LiDAR, radar, cameras, GPS, and IMU.
- Familiarity with simulation tools and data analysis workflows.
- Experience with Linux-based development environments, Git, CI/CD, and modern software engineering practices.
- Strong debugging, problem-solving, and system integration skills.
- Ability to work effectively in cross-functional teams.
Preferred Qualifications
- Strong Python coding skills
- Master’s or Ph.D. in a relevant field.
- Experience with autonomous driving, ADAS, mobile robotics, marine autonomy, UAV autonomy, or other safety-critical autonomous platforms.
- Experience deploying AI/ML models to embedded, edge, or GPU-accelerated systems.
- Knowledge of real-time operating systems or safety-critical software development.
- Experience with Kalman filters, probabilistic estimation, occupancy grids, route planning, and mission planning.
- Experience with synthetic data, digital twins, or simulation environments such as CARLA, Gazebo, AirSim, or similar.
- Familiarity with standards or processes related to safety, verification, and validation.
- Experience leading small technical teams or owning major autonomy subsystems.
Technical Skills
- Languages: C++, Python
- Frameworks/Libraries: PyTorch, TensorFlow, OpenCV, ROS/ROS2
- Concepts: Machine Learning, Deep Learning, Sensor Fusion, SLAM, Path Planning, Computer Vision, Navigation, Localization
- Tools: Linux, Git, Docker, CI/CD, simulation and test frameworks
- Nice to Have: CUDA, embedded GPU platforms, real-time systems, cloud-based model training pipelines
Success Criteria
In this role, success will include:
- Delivering reliable autonomy software that performs in simulation and field environments
- Improving perception, navigation, and decision-making accuracy and robustness
- Reducing integration risk through disciplined software architecture and testing
- Helping mature AI/ML autonomy capability from concept to deployable product
- Serving as a senior technical contributor and trusted leader within the autonomy team
Pay: $130,000.00 - $175,000.00 per year
Benefits:
- Dental insurance
- Health insurance
- Paid time off
- Vision insurance
Work Location: In person