Software Engineer II
Designs, develops, and maintains C++ and Java applications for real-time embedded systems on agricultural machinery at CNH Industrial, implementing precision farming features such as guidance and GNSS, integrating with machine controllers and displays, and validating via unit, integration, HIL, and field testing.
- Compensation
- $74.6K–$114.4K / yr
- Location
- Not listed
- Work setup
- Not specified
- Seniority
- Middle
- Employment
- Not specified
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Must have
- Bachelor's degree in Computer Science, Software Engineering, Electrical Engineering, Computer Engineering, or 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
Nice to have
- Exposure to Linux-based development environments and build systems
- Experience or familiarity with Matlab/Simulink for 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 work collaboratively within cross-functional engineering teams and communicate technical concepts effectively
- Farming background
Full description
About Us
At CNH, we're driven by a clear purpose: we serve and advance the people who feed and build a growing world.
As a global leader in agriculture and construction, we create the equipment, technology, and solutions that help our customers work more productively and sustainably. Our success starts with our people, and we foster a collaborative culture where innovation thrives and every employee has the opportunity to grow.
Grow a Career. Build a Future.
If you're ready to make an impact and build a career with purpose, there's a place for you at CNH.
Job Purpose
As a Software Engineer II, you will design, develop, and implement solutions that control dynamic systems.
Key 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 functionalities, including Guidance and GNSS.
- Integrate software with machine controllers, sensors, GNSS receivers, ISOBUS systems, onboard displays, machine ECUs, and related precision agriculture hardware.
- Support robust communication between onboard displays, machine ECUs, and cloud/offboard platforms where applicable.
- Apply modern C++ and Java best practices, object-oriented design, design patterns, and coding standards.
- Optimize software for real-time performance, low memory footprint, reliability, and demanding field operating conditions.
- Troubleshoot and resolve software issues found through development, validation, HIL testing, field testing, and field escalations.
- Develop unit tests, integration tests, and participate in Hardware-in-the-Loop and field-test execution.
- Collaborate with QA, validation, embedded engineering, systems, product, and cross-functional teams to ensure robust and accurate precision farming features.
Experience Required
- Bachelor’s degree in Computer Science, Software Engineering, Electrical Engineering, Computer Engineering, or 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.