Senior Software Engineer - 3D Perception
About the Role
Your work shapes the world at Caterpillar Inc. When you join Caterpillar, you're joining a global team who cares not just about the work we do – but also about each other. We are the makers, problem solvers, and future world builders who are creating stronger, more sustainable communities. Technology is a competitive differentiator, and we collaborate with partners across the enterprise to advance technologies including autonomy and automation, enhancing site safety, productivity, and efficiency across customer operations worldwide.
As a Senior Autonomy Engineer, your responsibilities in software development will focus on positioning and localization. You’ll collaborate with team members to prototype and bring to production algorithms that enable autonomous and semi-autonomous systems to localize robustly within their environment. This includes estimating position and altitude absolutely and relatively to terrain features, static or mobile equipment, and implementing filters using perception-based, inertial, and GNSS inputs.
Responsibilities
- Research and design of localization algorithms and software
- Develop production-quality C++ software, including design, documentation, coding, product quality, and validation
- Contribute to requirements generation and architecture design considerations for the localization architecture
- Support functional safety software design and validation process
- Collaborate and mentor localization team members to execute on goals
- Solve real-world problems by selecting the right approach, developing quick prototypes, and bringing them to production
Problem Solving
- Identifies and documents specific problems and resolution alternatives
- Analyzes risks and benefits of alternative approaches and obtains decisions on resolution
- Uses fact-finding techniques and diagnostic tools to identify problems
Software Development Life Cycle
- Identifies common issues, problems, and considerations for each phase of the life cycle
- Interprets product development plans and functional documentation
Technical Skills
- Excellence in C++ and fluency in Python
- Strong engineering practices, debugging, and profiling skills
- Applies structured programming techniques to structured environments
- Interprets application system designs and program specifications
- Technical troubleshooting: discovers, analyzes, and resolves software or application problems
- Analyzes code, logs, and current systems as part of advanced troubleshooting
- Records and reports specific technical problems, solving processes, and tools used
Qualifications
- Bachelor’s degree, Master’s degree, or PhD in Robotics, Electrical or Computer Engineering, or Computer Science
- 4+ years of Robotics/Autonomous solution experience illustrating deep technical domain expertise
- Proven experience implementing filtering solutions including Error State, Kalman, and Extended Kalman filters
- In-depth knowledge of Inertial Measurement technology and Inertial-Based Navigation and/or Guidance Systems
- Ability to survey literature for ideas and convert research papers into production implementation
- Knowledge of robotics and frameworks such as Robot Operating System (ROS)
- Strong foundation in mathematics and fundamentals (3D geometry, linear algebra, statistical error modeling including Gauss Markov Processes)
- Ability to work in various coordinate system references and perform transformations between them
- Understanding of physics-based modeling, vehicle modeling, and dynamics
Pay
Pay Range: $112,710.00 - $183,140.00. Compensation and benefits may vary depending on job level, market location, job-related knowledge, skills, individual performance, and experience.
Benefits
- Medical, dental, and vision benefits
- Paid time off (Vacation, Holidays, Volunteer, etc.)
- 401(k) savings plans
- Health Savings Account (HSA)
- Flexible Spending Accounts (FSAs)
- Health Lifestyle Programs
- Employee Assistance Program
- Voluntary Benefits and Employee Discounts
- Career Development
- Incentive bonus
- Disability benefits
- Life Insurance
- Parental leave
- Adoption benefits
- Tuition Reimbursement
Schedule
This position requires working onsite five days a week. Relocation is available for this position. Visa sponsorship is available for eligible applicants.