Job title: Embedded Software Engineer 3 Job Description: The Embedded Software Engineer will design, develop, test, and evaluate embedded software and systems for Caterpillar's electronic controls hardware. The role involves low-layer software development, including OS integration, I/O drivers, and boot processes, ensuring efficiency, stability, and scalability of system resources.
Key Responsibilities: - Design and implement embedded software solutions from requirements to production and commercial deployment.
- Develop and test low-layer software such as OS integration, I/O drivers, boot processes, and ECU/ECM interfacing.
- Analyze system efficiency, stability, and scalability, making necessary improvements.
- Write and code logical and physical database descriptions, collaborating with management or directing others in coding.
- Manage software lifecycle, including version control and configuration management.
- Research new technologies and development tools for embedded systems.
- Communicate technical information to customers, team members, suppliers, and other stakeholders.
- Support and advise engineers, managers, and marketing personnel on software-related matters.
- Perform product maintenance, requirements analysis, and feature enhancements.
- Troubleshoot issues and conduct unit/regression testing.
Required Qualifications: - Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
- 5-8 years of industry experience in embedded software development.
- Real-time embedded device driver development experience.
- Experience designing embedded electronics controls, display, or telematics software.
- Proficiency in ANSI C, Python, and Bash scripting.
- Hands-on experience with SPI/I2C peripheral interfacing, hardware diagnostics, OS configuration, and board initialization.
- Strong background in RTOS concepts, integration, and configuration.
- Proficiency in Git version management (Clearcase experience preferred).
- Experience with software development methodologies such as Agile.
- Debugging and troubleshooting experience using tools such as oscilloscopes.
Preferred Qualifications: - Master's degree in a relevant field with industry experience or relevant internship/projects.
- Experience in non-volatile memory interfacing and chip-level embedded systems.
- Strong understanding of software design patterns and anti-patterns.
Soft Skills: - Strong verbal and written communication skills.
- Excellent problem-solving skills and attention to detail.
- Ability to read schematics and data sheets for hardware components.
- Effective collaboration and teamwork abilities.
Work Environment & Expectations: - Hybrid role requiring a minimum of three days onsite per week.
- Work includes reading client requirements, researching ECU hardware interfacing, designing and coding solutions, version management, and testing.
- Interaction with peers, technical leads, and cross-functional teams.
Reason for Hiring: - Backfill position to support key embedded software development projects at Caterpillar.
This position provides an opportunity to work on advanced embedded systems, ensuring innovation and high-quality software solutions for Caterpillar's electronic controls hardware.