As a Technical Lead on the Perception Team at Seegrid, you will lead a small team of Perception Engineers focused on algorithm development that will increase the spatial and situational awareness of our industrial autonomous vehicles. You should have a deep background in designing perception algorithms and integrating them with the vehicle control systems of autonomous mobile robots. We expect you to have the experience to know when existing library solutions to problems can be applied and when deeper, unique research is required. Per the former, your sensibilities for curating production-ready libraries and approaches are informed by your real-world experience in working with them. You should have a strong mastery of at least one modern programming language, ideally Python and/or C++. This role reports directly to the Director of Perception.
Core Responsibility for this role:
The Technical Lead on the Perception Team will be responsible for leading a team of Perception Engineers whose focus is on algorithm design and validating algorithm robustness for real-world deployment on autonomous vehicles operating in industrial settings.
The successful completion of your first year, looks like:
- You have a strong understanding of the algorithms underpinning all core perception pipelines running on our existing vehicle fleet
- You have established processes by which your team can hand-off algorithms to the core C++ perception software engineers for inclusion in our production vehicle stack to include a feedback loop with your team to ensure robustness once fielded
- You have the ability to jump in and triage perception-related service tickets that escalate to engineering and can help take them to resolution to ensure the highest levels of service for our customers
Responsibilities will consist of:
- Research, design, develop, maintain, and extend perception algorithms that will run in production on our vehicles. Subsystems may include: localization, mapping, state estimation, obstacle detection and avoidance, object detection and localization, semantic segmentation, classification, and tracking.
- Guide the development of algorithm design from prototype to production including training on large scale data sets and curating (to ground truth) back testing data sets to be integrated with our automated test infrastructure for the production software stack
- Development of executable implementations of your algorithms in C++ or Python and provide clear documentation on their usage and performance characteristics
- Provide elevated levels of support to assist with perception-related field issues
- Management of a small team of Perception Engineers
- PhD/MS in Robotics, Computer Science, or a related field
- 5+ years of relevant professional experience
- Mastery of at least one modern programming language such as C++ or Python
- The ability to implement perception algorithms expressed as tight, array-oriented code (e.g., vectorized NumPy or Eigen implementations)
- Strong grasp of fundamentals (linear algebra, probability, optimization, model-based geometric algorithms) and the ability to employ these skills to develop robust perception algorithms
- Experience in SLAM, computer vision, machine learning/deep learning
- Experience working with applicable sensor systems, to include monocular and stereo cameras, 2D/3D LiDAR, inertial sensors, etc.
- Experience in working on autonomous vehicles in any field (e.g., AGVs, automotive, agriculture, etc.)
- Experience with ROS, ROS2, DDS, or other data-centric middleware architectures
- Experience with modern data structures and libraries used in perception (e.g., NumPy, OpenCV, PCL, Eigen, Ceres, etc.)
- Proficiency in software development in a Linux environment
- Experience in managing teams of engineers working on deep technical challenges