Embedded Software Engineer
Caterpillar Inc.About the role
Career Area:
EngineeringJob Description:
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. We don't just talk about progress and innovation here – we make it happen, with our customers, where we work and live. Together, we are building a better world, so we can all enjoy living in it.
Role Definition:
This job involves developing and using system requirements to design, develop, and test software components used in machine control platforms, engine control platforms, display, and telematics platforms. Specific responsibilities include requirements development and analysis, software design, software implementation, interface between software layers, and development/execution of test procedures. Additional responsibilities may include interfaces between hardware and software as well as evaluating operational performance of an overall system. The software components must comply with the software architecture standards and all work will be performed as part of the existing team following a common process. The software will include components for Data Link and Common Services (e.g., Data link protocol implementations, Diagnostics, Hardware Abstraction Layer and Information services)
What You Will Do:
Gathering and analyzing user/client requirements to create the software requirements specification (SRS) document.
Writing and implementing source codes of embedded systems and enhancing code samples of existing systems.
Testing and debugging embedded system software using different tools/methods available to improve code quality and optimize system performance.
Collaborating with other teams to provide post production support.
Requires a degree in an accredited Engineering, Computer Science, or Materials Science curriculum.
What You Will Have:
Analytical Thinking: Knowledge of techniques and tools that promote effective analysis; ability to determine the root cause of organizational problems and create alternative solutions that resolve these problems.
Effective Communications: Understanding of effective communication concepts, tools and techniques; ability to effectively transmit, receive, and accurately interpret ideas, information, and needs through the application of appropriate communication behaviors.
Teamwork: Knowledge of the necessity and value of teamwork; experience with; ability to work cooperatively towards shared goals and being supportive of others at all levels.
Technical Excellence: Knowledge of a given technology and various application methods; ability to develop and provide solutions to significant technical challenges.
Software Development: Knowledge of software development tools and activities; ability to produce software products or systems in line with product requirements.
Requirements Analysis: Knowledge of tools, methods, and techniques of requirement analysis; ability to elicit, analyze and record required business functionality and non-functionality requirements to ensure the success of a system or software development project.
System Testing: Knowledge of system and software testing; ability to design, plan and execute system testing strategies and tactics to ensure the quality of software at all stages of the system life cycle.
Technical Troubleshooting: Knowledge of technical troubleshooting approaches, tools and techniques; ability to anticipate, recognize, and resolve technical issues on hardware, software, application or operation.
Top Candidates Will Have:
- Experience in developing and testing embedded C code for RTOS .
- Experience with CAN/J1939 protocols and Ethernet, experience with industry-standard tools such as Git for version control
- Experience using real-time operating systems and object-oriented design patterns.
- Experience with unit testing and static code analysis tools.
- Experience using debugging tools for embedded systems (e.g. Lauterbach, GDB, Wireshark)
Additional Information:
- The location for this position is Mossville, IL.
- Domestic relocation assistance is available for this position.
- This position will require less than 10% travel.
- Visa sponsorship is available for this position.
#LI
Summary Pay Range:
$97,530.00 - $146,290.00Compensation and benefits offered may vary depending on multiple individualized factors, job level, market l
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s