Collaborate with engineering teams to prototype new approaches and bring solutions into production. Strong understanding of the Software Development Life Cycle , including: Identifying common issues and risks at each phase.
Numbers & Facts
Location
Schaumburg, IL
Description
Key Responsibilities
Develop and integrate software solutions for semi autonomous and autonomous machine systems.
Collaborate with engineering teams to prototype new approaches and bring solutions into production.
Apply and integrate positioning, planning, perception, and control algorithms for heavy equipment.
Participate in all phases of development, including design, documentation, coding, validation, and quality assurance.
Develop production quality C++ software, including design documentation and validation artifacts.
Contribute to requirements generation and architecture discussions for autonomous systems.
Support functional safety software design and validation.
Analyze code, logs, and system behavior to perform advanced troubleshooting.
Record and communicate technical issues, root causes, and resolution approaches.
Collaborate with and mentor team members to achieve project and technical goals.
Required Education & Experience
Bachelor's degree in Engineering, Computer Science, or a related field.
5 7 years of experience supporting Robotics, Autonomy, or Automation technical projects.
Internship experience may count toward total years of experience.
On site role remote work not supported.
Associate degree is a disqualifier.
Top 3 Required Skills
Experience with robotics frameworks such as Robot Operating System (ROS).
Knowledge of one or more of the following domains:
Positioning
Planning
Perception
Plus familiarity with telematics messaging and machine communication protocols
Ability to research technical literature and translate research papers into product ready implementations.
Additional Technical Requirements
Experience in the Mining or Construction industry (preferred).
Exposure to heavy equipment platforms such as:
Track Type Tractors
Motor Graders
Wheel Loaders
Excavators
Mining Shovels
Tracked Loaders
Strong understanding of the Software Development Life Cycle, including:
Identifying common issues and risks at each phase.
Interpreting product development plans and functional documentation.
Programming Expertise (Required):
Strong proficiency in C++
Ability to interpret system designs and program specifications
Strong debugging and profiling skills
Applies structured programming practices in structured environments
Technical Troubleshooting:
Client, analyze, and resolve complex software/system issues
Perform advanced analysis using code, logs, and system diagnostics
Experience working on embedded electronic control systems and/or vision systems for autonomous machines.