About this role
Job Summary:
This applied technology position creates software that is sold as an integral part of Cummins’ products. People in these positions have involvement in identification and understanding of stakeholder requirements and developing specifications, and responsibility for design, implementation, testing and/or release of software that controls the operation of Cummins’ products in a variety of customer applications.
Key Responsibilities:
Investigates product software problems, understands causal mechanisms, recommends appropriate action, owns problem resolution, and documents results. Applies and improves the improvement of product software development processes and tools. Processes include coding, compiling and test. Tools include code editors, integration tools, static analysis tools, compilers and hardware in the loop test tools. Details specific to this role may be found at the end of this document. Obtains input and negotiates with product and software development teams and delivers verified software features, components, builds to product teams. Uses systems knowledge and expertise to make decisions in the areas of software requirements, architecture, design, and test that impact the quality and performance of software builds, product lines (platforms) and management of cross-BU integration and coordination. Responsible for review of less-experienced developers/testers’ work to ensure robust, reusable, and efficient designs. Responsibile for interacting and collaborating with cross-functional teams. Provides independent leadership of smaller business impact projects or ownership of complex components, products, systems or services with greater elements of ambiguity over the senior or lead engineer level and with full accountability to the project team. Delivers independent execution of established and emerging work processes and systems, while still developing technology or product knowledge. Leads the development and improvement of work processes and systems across function(s) within a global business unit or managing improvement across business units. Coordinates and directs work amongst technicians and temporary student employees, assists in the transfer of knowledge to lesser experienced engineers through either indirect (scope of influence) or direct management of a small, local group of engineers. Provides support and guidance to influence technical direction within a project team and continues to develop proficiency in the competency areas critical to success in the role. Operates as a recognized specialist in a discipline or product area within the immediate team.
Key Responsibilities
Software Development & Delivery
- Independently design, develop, implement, and debug embedded software features and components.
- Own software engineering activities across requirements analysis, design, coding, unit testing, integration, and verification for assigned technical scope.
- Develop robust and maintainable software solutions in accordance with software architecture, coding standards, and development processes.
- Support and coordinate software integration, build generation, configuration, and release activities.
- Manage software configuration and variants across multiple product platforms and programs.
- Identify technical risks and dependencies within assigned software scope and drive issues to timely resolution.
Feature Development
- Develop a solid understanding of engine and powertrain systems, control strategies, and their interaction with ECU software.
- Independently analyze feature requirements and translate them into software requirements, designs, and implementation solutions.
- Own the development and maintenance of assigned features across multiple platforms and product programs.
- Work closely with Systems, Calibration, BSW, and Validation teams to ensure end-to-end feature implementation and verification.
- Analyze interactions and dependencies between features, software components, interfaces, and ECU architecture.
- Support technical reviews and provide engineering recommendations for feature implementation and product application.
Quality & Problem Solving
- Lead investigation of software defects and complex technical issues within assigned scope, including root cause identification and corrective actions.
- Apply structured problem-solving methodologies such as 7-Step, RCA, 5 Why, and other appropriate engineering methods.
- Perform and contribute to software requirements reviews, design reviews, code reviews, and test reviews.
- Ensure software development deliverables meet applicable engineering process and quality requirements.
- Identify recurring or systemic issues and develop solutions to improve software quality, robustness, and development efficiency.
- Contribute to continuous improvement of engineering practices, development processes, tools, and technical standards.
Technical Ownership & Collaboration
- Serve as a technical owner for assigned software features, components, or defined project scope.
- Coordinate technical activities and resolve cross-functional issues involving Systems, Validation, Calibration, BSW, and other software teams.
- Provide technical guidance and support to less experienced engineers when needed.
- Communicate technical issues, risks, trade-offs, and proposed solutions clearly to project and engineering stakeholders.
- Collaborate effectively with global engineering teams across different products, platforms, and programs.
- Share technical knowledge, lessons learned, and engineering best practices within the team.
- Deliver assigned technical scope with high quality and according to committed project schedules.
Qualifications
Education
- Bachelor's degree or above in Computer Science, Software Engineering, Electrical Engineering, Automotive Engineering, Automation, or related fields.
Experience
- Typically 4–7 years of embedded software development experience , preferably in automotive, engine, powertrain, or other embedded control systems.
- Demonstrated experience independently developing and delivering embedded software features or components.
- Experience working thr
- ough multiple phases of the software development lifecycle, including requirements, design, implementation, testing, integration, and release.
- Experience with AUTOSAR-based ECU software development is preferred.