Position Title: Software Engineer
Location: Cary, NC
Assignment Length: 12 Months
Travel: Approximately 10%; local travel of 2 15 miles using a personal vehicle, including possible factory visits
Position Summary:
The Embedded Software Engineer will develop, integrate, validate, and tune software for Turf and Compact Utility tractors. As part of a collaborative software development team, you will work with developers, testers, and stakeholders to deliver optimized software features that provide value to customers.
Key Responsibilities:
- Analyze software requirements and develop operational concepts.
- Design and maintain software system architecture and feature-level architecture across multiple vehicle models and configurations.
- Develop embedded applications and implement features according to defined software requirements.
- Integrate software components and support vehicle-platform testing.
- Participate in design and code reviews.
- Perform unit and functional testing.
- Troubleshoot complex software issues and drive them to resolution.
- Collaborate with developers, testers, and stakeholders throughout the development lifecycle.
- Support software validation, tuning, and integration on the final product.
- Follow established software delivery processes and contribute to team planning and prioritization.
Required Qualifications:
- At least 3 years of relevant software engineering experience.
- Bachelor's degree in one of the following or equivalent related experience:
- Electrical Engineering
- Computer Engineering
- Mechanical Engineering
- Experience developing embedded applications using C and/or C++ and MATLAB Simulink.
- Knowledge of embedded operating systems, hardware concepts, drivers, and integration.
- Experience with software component unit testing and functional testing.
- Knowledge of embedded software development and delivery processes, such as Agile.
- Experience writing and reviewing software requirements.
- Strong technical problem-solving skills.
- Excellent written and verbal communication skills.
- Ability to work effectively in a collaborative team environment.
Preferred Qualifications:
- Experience with model-based software development, including MATLAB, Simulink, or Stateflow.
- Experience with CAN/J1939 networks.
- Experience with agricultural control-system design and analysis.
- Experience diagnosing mechanical, electrical, or hydraulic systems.
- Knowledge of electronic circuits and components, including the ability to read schematics and datasheets.
- Experience with continuous integration and automated build tools.
- Familiarity with embedded development tools, such as emulators, compilers, and simulators.
- Experience with communication protocols such as CAN, LIN, and Ethernet.
- Experience using laboratory equipment, including logic analyzers and oscilloscopes.
- Strong interest in embedded engineering and learning new technologies.