Caterpillar Inc. is a global team committed to progress and innovation, seeking a Senior Software Engineer to enhance their Autonomy Performance Evaluation. The role involves engineering components, developing software, and optimizing performance across various systems to meet customer needs.
Responsibilities:
- Engineer components & systems for Caterpillar products to meet our customers’ needs. Deliver solutions by leading collaboration with cross functional teams throughout our value chain starting from the initial concept through production
- CFD - Computational Fluid Dynamics (ANSYS), FEA - Finite Element Analysis, 3D modelling, root cause investigation; system/subsystem/component design optimization, structural dynamics, development and optimization of Engine, Aftertreatment, Battery, Fuel Cell, Powertrain, and/or Machine System performance
- Apply strong mechanical engineering understanding in a test/validation (hands-on) environment, troubleshooting issues, and collaborating with others for optimal results
- Develop/Implement control system algorithms using Matlab/Simulink for various control systems including but not limited to engine controllers, machine implement controllers as well as powertrain controllers. Will be responsible for understanding the feature requirement, implementing it as well as testing it prior to a production roll out
- Will be responsible for designing and testing various electronic control modules as well as various electronic components. Will work with various internal Caterpillar clients to understand controller/component requirements, work with suppliers on design and validation of the components, as well as testing the components in various environments. Other duties may include design of Printed Circuit Board schematics as well as perform digital/analog/power circuit analysis and testing, and ensuring that FMEAs [Failure Mode and Effects Analysis] are conducted and documented to meet stringent Caterpillar quality requirements
- Develop embedded software in C, C# and/or C++ for various electronic control modules. Some examples of embedded software development applications include Datalink communications, Inputs and Outputs [Sensors and actuators], speed calculation, injection/spark timing, memory management, CPU optimization, multi core design and implementation etc. In addition, some areas of work include developing scripts in Python/Visual Basic for automation
- Verify functionality of a feature or control system algorithm on a HIL [Hardware in the Loop] simulator bench or a SIL [Software in the loop] system. Understand requirements of the feature and/or the schematics of the controller / control system, verify functionality and debug/report anomalies to the development team and help validate fixes
- Leverage ability to write and understand computer code, especially Python; apply knowledge of data analytics/data science, machine learning concepts/tools, and engineering and statistics fundamentals
- Apply mechanical, manufacturing, systems and/or industrial engineering knowledge to analyze and optimize an engineering process or processes. Will have the opportunity to leverage problem-solving and communication skills