Location:
Cary, NC (Onsite preferred)
Job Type:
Contract
Experience Required:
Mid-Career (No Recent Graduates)
Job Summary
We are seeking a
Mid-Level Embedded Software Engineer
to join the Turf & Compact Utility engineering team in Cary, NC. In this role, you will collaborate with software developers, testers, and cross-functional stakeholders to design, develop, integrate, and validate embedded software solutions for vehicle control systems. The ideal candidate has strong experience in embedded C/C++ development, MATLAB/Simulink, embedded operating systems, CAN/J1939 communication, and software testing.
Required Skills (Priority Order)
-
Strong experience in
Embedded Software Development
using
C/C++
-
Experience with
MATLAB, Simulink, Stateflow, and Model-Based Design
-
Knowledge of
Embedded Operating Systems
and device drivers
-
Experience with
CAN/J1939
communication protocols
-
Experience with
Unit Testing
and
Functional Testing
-
Experience writing and reviewing software requirements
-
Knowledge of Agile software development methodologies
-
Strong technical problem-solving and debugging skills
-
Excellent written and verbal communication skills
-
Understanding of software development lifecycle and delivery processes
Preferred Qualifications
-
Experience with control systems design and analysis
-
Experience with model-based software development tools
-
Knowledge of mechanical, electrical, or hydraulic systems
-
Ability to read electrical schematics and component datasheets
-
Experience with Continuous Integration (CI) and automated build tools
-
Experience using embedded development tools such as emulators, compilers, and simulators
-
Familiarity with automotive communication protocols including
CAN, LIN, and Ethernet
-
Experience using laboratory equipment such as Logic Analyzers and Oscilloscopes
-
Passion for embedded engineering and learning new technologies
Key Responsibilities
-
Analyze software requirements and develop embedded software solutions.
-
Design software architecture and integrate software components.
-
Develop embedded applications using
C/C++
and
MATLAB/Simulink
.
-
Implement new features and resolve software defects.
-
Participate in code reviews, software integration, and testing activities.
-
Perform unit, integration, functional, and vehicle-level testing.
-
Support software validation, tuning, and troubleshooting.
-
Maintain software architecture across multiple vehicle models and configurations.
-
Investigate and resolve complex software issues.
-
Collaborate with cross-functional engineering teams throughout the development lifecycle.
Education
Bachelor's degree in one of the following:
-
Electrical Engineering
-
Computer Engineering
-
Mechanical Engineering
Equivalent relevant work experience may also be considered.
Interview Process
-
Round 1:
30-minute Microsoft Teams screening
-
Round 2:
1-hour Microsoft Teams technical interview
-
Onsite interview preferred