Senior Autonomy Engineer
Caterpillar Inc. · Mossville, IL · 1 wk ago
Engineering$113k–$183k/yrFull-time
About the role
This Senior Autonomy Development Engineer position is with the Integrated Technology Solutions division of Cat Technology. This is a development role working with machine collision mitigation and avoidance systems. You'll be defining software and system requirements to develop new features, installing and calibrating perception sensors on machines, interacting with hardware component and supplier teams, troubleshooting issues across software and hardware, and coordinating validation from the bench through proving ground testing.
Responsibilities
- Participating in design and development of application software in C++ on embedded Linux, including camera and radar processing pipelines.
- Defining and managing software and system requirements, interface specifications, and architecture tradeoffs across sensing, compute, and machine integration.
- Installing, commissioning, and calibrating cameras, radar, compute, and data acquisition hardware on machines; planning and executing data collection at proving grounds and customer sites.
- Building and operating HIL benches and developing automated validation tooling in Python to turn collected data into repeatable pass/fail results.
- Documenting architecture specifications, software design descriptions, verification plans, test cases, operating procedures, and safety procedures.
- Utilizing appropriate tools to debug, test, and maintain software and hardware systems; leading the verification and validation process and applying functional safety (FuSa) and SOTIF practices.
- Providing technical direction and mentorship to junior engineers, and coordinating with hardware components, suppliers, and testing teams.
Requirements
- Programming: Knowledge of relevant programming languages and tools; ability to test, write, design, debug, troubleshoot and maintain source codes and computer programs using C++ and Python.
- Software Development Life Cycle: Knowledge of software development life cycle; ability to use a structured methodology for delivering and managing new or enhanced software products to the marketplace.