Software Engineer – Embedded Systems
Location: Cary, NC
Schedule: 1st Shift, 8:00 AM–5:00 PM, with some flexibility
Compensation: $45–$50/hr + benefits
Travel: Approximately 10% for local factory visits
Experience: 3+ years required
Work Authorization: Must be authorized to work in the U.S. without current or future visa sponsorship
Position Overview
We are seeking a mid-career Software Engineer to develop, integrate, test, and validate embedded software for Turf and Compact Utility equipment. This position combines hands-on embedded software development with model-based design, vehicle communication networks, controls, and system-level testing.
The engineer will work closely with software developers, testers, and engineering stakeholders to deliver reliable embedded features from requirements through vehicle-level validation.
Responsibilities
- Develop and integrate embedded software for vehicle control systems.
- Develop embedded applications using C/C++ and MATLAB/Simulink.
- Perform requirements analysis and contribute to software system design and architecture.
- Write and review software requirements.
- Develop and maintain model-based software using MATLAB, Simulink, and Stateflow.
- Participate in code reviews, software integration, and design reviews.
- Perform unit, functional, integration, and vehicle-level testing.
- Implement new features and resolve software defects.
- Troubleshoot complex software, controls, electrical, and system-level issues.
- Support embedded hardware, operating system, and driver integration.
- Maintain feature-level software architecture across multiple vehicle models and configurations.
- Collaborate with cross-functional engineering and testing teams throughout the software delivery lifecycle.
Required Qualifications
- Bachelor’s degree in Electrical Engineering, Computer Engineering, Mechanical Engineering, or a related discipline.
- 3+ years of relevant professional experience.
- Embedded software development experience.
- Experience developing embedded applications using C and/or C++.
- Hands-on experience with MATLAB/Simulink.
- Experience with Model-Based Design.
- Knowledge of embedded operating systems and drivers.
- Experience with CAN/J1939 communication networks.
- Experience with unit and functional software testing.
- Experience writing and reviewing software requirements.
- Understanding of software development and delivery processes, including Agile methodologies.
- Strong technical troubleshooting and problem-solving skills.
- Strong written and verbal communication skills.
Preferred Qualifications
- MATLAB Stateflow experience.
- Control systems design and analysis experience.
- Agricultural, automotive, off-highway, or mobile equipment experience.
- Experience troubleshooting mechanical, electrical, or hydraulic systems.
- Ability to read electrical schematics, technical drawings, and component data sheets.
- Experience with continuous integration and automated build tools.
- Experience with embedded development tools such as compilers, emulators, debuggers, and simulators.
- Experience with CAN, LIN, Ethernet, and J1939 communication protocols.
- Experience using laboratory equipment such as oscilloscopes and logic analyzers.
- Experience taking embedded software from requirements through integration, testing, and final product validation.
Interview Process
Round 1: 30-minute Microsoft Teams screening
Round 2: 1-hour technical/team interview via Teams, with onsite participation preferred where possible.
#LI-DO1
#INDOEM
