Principal Data Scientist
The Principal Data Scientist (Computer Vision and Robotics) will develop machine learning, deep learning, perception, and autonomous-system solutions that address customer needs such as topside and subsea inspection, navigation, and intervention. The role is responsible for machine vision, sensor-fusion, localization, path-planning, decision-making, and data-analytics algorithms for Oceaneering’s next-generation robotic and autonomous systems.
- Lead and guide engineers on product and prototype design and development assignments across software, computer vision, robotics, machine learning, deep learning, and autonomous systems
- Architect perception and autonomy solutions through appropriate selection of cameras, sonar, LiDAR, inertial sensors, compute platforms, middleware, and algorithms
- Lead advanced research and development in computer vision, robotic perception, multi-sensor fusion, visual/sonar SLAM, localization, mapping, and autonomous navigation
Work with third parties to utilize off the shelf industrial solutions
Iteratively develop proof-of-concept implementations, prototypes and demos to fine-tune technologies to practical, state of the art systems
- Innovate and develop algorithms for object detection, tracking and classification, pose estimation, obstacle avoidance, trajectory prediction, motion planning, and closed-loop robotic decision-making
- Develop and evaluate path-planning, task-planning, behavior-planning, and control approaches for robots operating in dynamic, uncertain, and GPS-denied environments
- Apply reinforcement learning (RL), imitation learning, offline RL, and human-feedback approaches, including RLHF where appropriate, to improve autonomous decision-making while maintaining safety, explainability, and operational constraints
- Build simulation, synthetic-data, hardware-in-the-loop, and field-validation workflows; define autonomy metrics and verify robustness, fail-safe behavior, and sim-to-real performance
Algorithm development on key research areas based on client’s technical problem. This requires constant paper reading, and staying ahead of the game by knowing what is and will be state of the art in this field.
Ability to work hands-on in cross-functional teams with a strong sense of self-direction
Develop an awareness of programming and design alternatives
Cultivate and disseminate knowledge of application development best practices
Gather statistics and prepare and write reports on the status of the programming process for discussion with management and/or team members
Direct research on emerging application development software products, languages, and standards in support of procurement and development efforts
Train, manage and provide guidance to junior staff
Perform all other duties as requested, directed or assigned
REQUIRED
Bachelor’s degree in computer science, Robotics, Artificial Intelligence, Electrical/Electronics Engineering, Software Engineering, or a related field, with eight or more years of experience delivering computer vision, deep learning, robotics, or autonomous-system projects
OR
Master’s degree in computer science, Robotics, Artificial Intelligence, Electrical/Electronics Engineering, Software Engineering, or a related field, with six or more years of experience delivering computer vision, deep learning, robotics, or autonomous-system projects
DESIRED
Knowledge of inner working of any vision software (such as OpenCV, PCL, CNN, Visual Transformers)
- Experience with robotics frameworks and simulators such as ROS/ROS 2, Gazebo, Isaac Sim, MATLAB/Simulink, or equivalent platforms
- Strong understanding of autonomous navigation, kinematics and dynamics, state estimation, sensor calibration and fusion, SLAM, path and trajectory planning, motion control, and safety-aware autonomy
- Hands-on experience with reinforcement learning libraries and techniques, including policy optimization, reward design, imitation learning, offline RL, human-in-the-loop learning, and RLHF concepts
- Experience deploying real-time perception and autonomy workloads on edge accelerators, with working knowledge of deterministic performance, latency optimization, telemetry, MLOps, and field diagnostics
Technically fluent in programming languages, including Python, C, C++, Java, C# and other object-oriented paradigms
Competent and proficient understanding of platforms such as UNIX (Solaris and Linux) and Windows
Hands-on software troubleshooting experience
Must be able to learn, understand, and apply new technologies
Strong coding skills.
Edge based and/or cloud-based AI/ML Code deployment experience (DevOps)
Experience with Azure Cloud based ML services
Experience in computer vision, image processing and other related applied engineering fields.
Strong background in mathematics and/or statistics is highly desirable.
Knowledge of git and version control
Familiarity with NVIDIA's Jetson Board & Deep Stream Framework on Linux/Ubuntu machines
Knowledge, Skills, Abilities, and Other Characteristics
Ability to analyze situations accurately, utilizing a variety of analytical techniques in order to make well informed decisions
Ability to effectively prioritize and execute tasks in a high-pressure environment
Skill to gather, analyze and interpret data
Ability to determine and meet customer needs
Ensures that others involved in a project or effort are kept informed about developments and plans
Knowledge of communication styles and techniques
Ability to establish and maintain cooperative working relationships
Skill to prioritize workflow in a changing work environment
Knowledge of applicable data privacy practices and laws
Strong analytical and problem-solving skills.
