Job Title: Software Perception EngineerJob Description
The Software Perception Engineer designs, implements, and tests advanced perception algorithms for mobile off-road machines, with a focus on sensor fusion, object detection, tracking, and classification. The role collaborates closely with engineers and researchers to integrate perception solutions into a broader software stack and hardware platform, ensuring safe, reliable, and high-performing autonomous and operator-assist systems. This position combines hands-on software development, machine learning workflows, and rigorous documentation to deliver high-quality perception capabilities that address real-world customer needs.
Responsibilities
- Design, implement, and test perception algorithms for sensor fusion, object detection, tracking, and classification in mobile off-road robotic systems.
- Solve complex perception challenges for autonomy and advanced operator assist systems, with a focus on machine safety and productivity.
- Participate in the design and development of high-quality perception software and algorithms that meet customer requirements and performance targets.
- Collaborate with other engineers and researchers to integrate perception software into the overall software stack and hardware platform.
- Document architecture specifications, software designs, verification plans, test cases, operating procedures, and safety procedures in a clear and structured manner.
- Work with application teams to collect and analyze data from robotic and manned platforms, focusing on customer experience and system performance.
- Analyze and annotate data for machine learning training and participate in iterative ML training cycles to meet perception performance requirements.
- Use appropriate debugging, testing, and maintenance tools to ensure the reliability and robustness of perception software.
- Assist in verification and validation activities for perception and autonomy systems, ensuring they meet prioritized requirements and time frame constraints.
- Design, write, test, and review autonomy and advanced operator assist perception software following established development standards.
- Participate in efforts to develop, integrate, and test complex autonomy systems, coordinating across multiple subsystems.
- Apply strong problem-solving skills to diagnose and resolve complex issues that span multiple software and hardware subsystems.
- Collaborate effectively within an Agile development environment, contributing to planning, tracking, and continuous improvement activities.
- Communicate technical concepts clearly to team members and stakeholders and contribute actively to team discussions and design reviews.
Essential Skills
- Proficiency in C++ for development of perception and autonomy software.
- Working knowledge of mobile robotics perception for autonomy or advanced operator assist systems.
- Working knowledge of computer vision, machine learning, and deep learning techniques applied to perception.
- Familiarity with lidar, radar, and cameras as perception sensors and their integration into perception pipelines.
- Ability to design, write, test, and review autonomy and advanced operator assist perception software.
- Working knowledge of the Agile software development life cycle.
- Proficiency in Python for supporting tools, machine learning workflows, and perception-related development.
- Experience using ROS or Autonomous Infrastructure Software (AIS) for robotics and perception applications.
- Working knowledge of standard software development tools such as CMake, Git, SonarQube, Docker, GoogleTest, Artifactory, and Clang.
- Strong mathematics skills relevant to perception, computer vision, and machine learning.
- Ability to solve complex issues spanning multiple subsystems in autonomous or operator assist systems.
- Proven ability to work independently and as part of a collaborative engineering team.
- Excellent communication and teamwork skills, with the ability to contribute effectively in cross-functional environments.
- A degree in Engineering, Computer Science, Robotics, or a related field.
Additional Skills & Qualifications
- Experience with sensor fusion for lidar, radar, and camera-based perception systems.
- Familiarity with Eigen for linear algebra and numerical computations in perception algorithms.
- Experience using Azure DevOps or Jira for project management and work item tracking in an Agile environment.
- Knowledge of cloud compute and storage tools, including AWS EC2, S3, and Batch, for data processing and machine learning workflows.
- Experience with Op