Autonomy Engineering Specialist

Caterpillar Caterpillar · Industrial · Mossville, IL +2

Develop and productionize advanced, semi-autonomous, and autonomous solutions for heavy equipment, focusing on positioning, planning, perception, and controls. This role involves leading the full software development lifecycle, from design to validation, and mentoring team members.

What you'd actually do

  1. Lead and develop production quality C++ software including design, documentation, coding, product quality, and validation
  2. Lead requirements generation and architecture design considerations for advanced technologies, semi-autonomous, and autonomous solutions
  3. Support functional safety software design and validation process
  4. Mentor team members to execute on goals

Skills

Required

  • Excellent C++
  • Strong engineering practices, debugging/profiling skills
  • Experience with Continuous Integration / Continuous Delivery tools (GitLab, GitHub Actions, or Jenkins)
  • Knowledge of robotics and frameworks such as Robot Operating System (ROS)
  • Knowledge of one or more areas of planning, positioning, and/or perception along with related sensing devices
  • Experience with embedded systems, Real-Time Controllers, or edge computing
  • Knowledge of telematics based messaging and machine protocols (network and CAN)

Nice to have

  • Experience in Mining or Construction
  • Ability to survey literature for ideas and convert research papers into production implementation

What the JD emphasized

  • production quality C++ software
  • high quality production code
  • advanced troubleshooting
  • proven experience in Robotics/Autonomous/Operator Assist solution experience illustrating deep technical domain expertise
  • convert research papers into production implementation

Other signals

  • developing advanced technologies, semi-autonomous, and autonomous solutions for heavy equipment
  • applying and integrating positioning, planning, perception, and controls for heavy equipment applications
  • work with your team to solve real world problems by selecting the right approach, developing quick prototypes & bringing them to production
  • lead various aspects of the development process including design, documentation, coding, product quality, and validation
  • write and test high quality production code