> Markdown version of [/jobs/ext/4167044-software-engineer-ii](https://www.wearedevelopers.com/jobs/ext/4167044-software-engineer-ii). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Software Engineer II - **Company:** CNH INDUSTRIAL - **Location:** Sioux Falls, SD, United States - **Salary:** $74,625.0 - $114,425.0 - **Contract:** Permanent contract - **Skills:** Java (Programming Language), Agile Methodology, Algorithm Design, Software Applications, Unit Testing, C++ (Programming Language), Code Review, Computer Engineering, Software Debugging, Software Design Patterns, Linux, Dynamical Systems, Hardware-In-The-Loop Simulation, MATLAB, Object-Oriented Software Development, Software Engineering, Software Systems, Test Execution Engine, Java Application Server, Git, Integration Tests, Solid Principles, Information Technology, Build Tools, Software Coding, C++14, Software Version Control, GNSS - **Published:** October 31, 2026 - **Apply:** https://www.indeed.com/viewjob?jk=f51c8c738e974eed ## About the Role * 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., * Exposure to Linux-based development environments and build systems is preferred. * Experience or familiarity with Matlab/Simulink is preferred to support future modeling, simulation, controls, and algorithm development needs. * 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. * Bonus: Farming background ## Description As a Software Engineer II, you will design, develop, and implement solutions that control dynamic systems., * 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.