7+ years of hands-on C++ software development experience.
Experience in automation, robotics, and autonomous systems.
Proficiency in software development lifecycle and validation processes.
Knowledge of Unit Testing and Software-in-the-Loop (SIL) methodologies.
Familiarity with CAN tools like CANalyzer or CANape.
Experience with Ethernet diagnostic tools such as Wireshark.
Strong troubleshooting and root-cause analysis capabilities.
Responsibilities
Develop and maintain C++ software for Semi-Autonomous Tractor Systems and remote-control solutions.
Design, debug, and validate autonomous and remote-control software features.
Investigate and resolve software issues and implement enhancements.
Collaborate with engineers and project managers to deliver software releases.
Participate in software integration and testing activities, including unit and SIL tests.
Support ongoing autonomy and automation initiatives across machine platforms.
Analyze software performance and troubleshoot communication issues using diagnostic tools.
Benefits
Collaborative work environment with cross-disciplinary teams.
Opportunities for professional growth and skill development.
Involvement in groundbreaking autonomy and automation initiatives.
Chance to contribute to applications in construction and heavy machinery.
Visibility at proving grounds and validation events.
Full Job Description
Job Description
Duties & Responsibilities
Develop and maintain application-level C++ software supporting Semi-Autonomous Tractor Systems (SATS) and Command for Dozing (remote-control/autonomy) solutions for Large Track Type Tractors (LTTT).
Design, develop, debug, and validate software features supporting autonomous and remote-control machine operation.
Investigate and resolve field-reported software issues, implementing corrective actions and software enhancements.
Collaborate with Systems Engineers, Software Developers, Domain Architects, and Project Managers to deliver software releases and feature updates.
Participate in software integration, verification, and validation activities, including unit testing and Software-in-the-Loop (SIL) testing.
Support ongoing autonomy and automation initiatives, contributing to the expansion of autonomous capabilities across Caterpillar machine platforms.
Analyze software performance and troubleshoot communication issues using CAN and Ethernet diagnostic tools.
Develop and maintain technical documentation, test results, and software release artifacts.
Occasionally provide software support at proving grounds and machine validation events.
Required Skills Technical Skills
Strong hands-on experience with 7+ years of C++ software development in a professional environment.
Experience developing software for automation, robotics, autonomous systems, or machine control applications.
Knowledge of software development lifecycle, debugging, integration, and validation processes.
Experience with Unit Testing and Software-in-the-Loop (SIL) testing methodologies.
Familiarity with CAN communication tools such as CANalyzer or CANape.
Experience using Ethernet diagnostic tools such as Wireshark.
Strong troubleshooting and root-cause analysis skills.
Preferred Skills
Experience with construction equipment, off-highway vehicles, or mobile machinery.
Background in robotics, autonomy, automation, or remote-control systems.
Understanding of machine controls, vehicle communication networks, and embedded software systems.
Education & Experience
Bachelor's degree in Computer Science, Software Engineering, Computer Engineering, or a related technical field required.
Over 7+ years of professional software development experience.
Demonstrated professional experience developing software in C++ is required.
Co-op experience, graduate research, or advanced academic projects may be considered toward relevant experience.
Experience in automation, robotics, autonomous systems, or machine control software development is highly preferred.
Disqualifiers
No demonstrated professional C++ development experience.
Lack of experience supporting software development, integration, or testing activities.
Limited exposure to automation, robotics, machine controls, or autonomous systems.