Embedded Software Engineer
Caterpillar
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 NOT 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 location, job-related knowledge, skills, individual performance and experience. Please note that salary is only one component of total compensation at Caterpillar.
Benefits:
Subject to plan eligibility, terms, and guidelines. This is a summary list of benefits.
Medical, dental, and vision benefits*
Paid time off plan (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
* These benefits also apply to part-time employees
Posting Dates:
Any offer of employment is conditioned upon the successful completion of a drug screen.
Caterpillar is an Equal Opportunity Employer, Including Veterans and Individuals with Disabilities. Qualified applicants of any age are encouraged to apply.
Not ready to apply? Join our Talent Community.