Software Engineer II
Job Description
Software Engineer II at CNH Industrial focusing on the design, development, and deployment of software that controls dynamic systems, including real-time and embedded applications for precision farming on agricultural machinery. The position emphasizes C++ and Java development, Guidance and GNSS capabilities, and integration across onboard hardware and cloud or offboard platforms where applicable.
Role Purpose
Design, develop, and implement solutions that control dynamic systems.
Responsibilities
- Design, develop, and maintain high-performance C++ and Java applications for real-time and embedded systems onboard agricultural machinery.
- Implement algorithms and software capabilities for precision farming functionality, including Guidance and GNSS.
- Integrate software with machine controllers, sensors, GNSS receivers, ISOBUS systems, onboard displays, machine ECUs, and related precision agriculture hardware.
- Support dependable communication between onboard displays, machine ECUs, and cloud or offboard platforms where applicable.
- Apply modern C++ and Java best practices, including object-oriented design, design patterns, and established coding standards.
- Optimize software for real-time performance, low memory footprint, reliability, and operation under demanding field conditions.
- Troubleshoot and resolve software issues identified during development, validation, HIL testing, field testing, and field escalations.
- Develop unit tests and integration tests, and participate in Hardware-in-the-Loop and field-test execution.
- Partner with QA, validation, embedded engineering, systems, product, and cross-functional teams to deliver robust and accurate precision farming features.
Required Qualifications
- Bachelor’s degree in Computer Science, Software Engineering, Electrical Engineering, Computer Engineering, or a related field.
- Experience developing, maintaining, and debugging production-level software applications.
- Strong experience with C++ and Java development.
- Solid understanding of object-oriented programming, software design principles, and common design patterns.
- Experience with version control systems such as Git and collaborative development workflows.
Preferred Qualifications
- Exposure to Linux-based development environments and build systems is preferred.
- Experience or familiarity with Matlab/Simulink is preferred for future modeling, simulation, controls, and algorithm development.
- Experience with debugging, performance analysis, and troubleshooting in complex software systems.
- Knowledge of unit testing and integration testing frameworks.
- Familiarity with software development lifecycle practices, including code reviews, testing, and agile methodologies.
- Ability to collaborate in cross-functional engineering teams and communicate technical concepts effectively.
- Bonus: Farming background.
Technologies
- C++, Java, Git, Linux
- Matlab/Simulink, GNSS, ISOBUS
- Hardware-in-the-Loop, unit testing, integration testing
- Cloud/offboard platforms, ECUs, GNSS receivers
Benefits
- Flexible work arrangements
- Savings & Retirement benefits
- Tuition reimbursement
- Parental leave
- Adoption assistance
- Fertility & Family building support
- Employee Assistance Programs
- Charitable contribution matching and Volunteer Time Off
Compensation and Salary Transparency
The annual salary for this role is USD $74,625.00 - $114,425.00 plus any applicable bonus. Actual salaries vary based on skill, experience, and qualification. For roles open across multiple locations, the salary range listed refers to the primary location.
Job Details
- Category: Engineering and Technical
- Job Type: Full Time
- Working Mode: Hybrid
- Primary Location: Sioux Falls, SD, United States
- Additional Location Listed: Oak Brook - Illinois - United States
Education
Bachelor’s degree in Computer Science, Software Engineering, Electrical Engineering, Computer Engineering, or related field.