Role: Embedded Software Engineer
Location: Mossville, IL
Required Qualifications
- Bachelor's degree in Computer Science, Software Engineering, or a related field.
- Minimum 5 years of professional experience in software development (internships are not considered; co-op experience or Master's degree research lab experience is acceptable).
Must-Have Skills
- Strong C++ Programming Experience - Hands-on professional experience is mandatory; candidates without C++ expertise will not be considered.
- Automation Experience
- Robotics Experience
Additional Technical Skills
- Unit Testing
- Software-in-the-Loop (SIL) Testing
Preferred Skills
- CANape and/or CANalyzer
- Ethernet diagnostic tools (e.g., Wireshark)
- Experience working with construction equipment or off-highway vehicles
- Background in robotics and automation systems
Required Soft Skills
- Excellent verbal and written communication skills
- Strong analytical and problem-solving abilities
- Effective customer service and interpersonal skills
- Ability to collaborate within cross-functional teams
Technical Knowledge
- Ability to read and interpret electrical schematics and component datasheets
- Understanding of the complete Software Development Lifecycle (SDLC), including requirements gathering, design, development, testing, and deployment
- Experience troubleshooting software and system-level issues
- Knowledge of computer hardware and embedded software systems
- Familiarity with development tools and technologies related to embedded systems, including SQL and Visual Basic
Key Responsibilities
- Design, develop, and implement software for embedded devices and systems, from requirements definition through production deployment.
- Develop and maintain logical and physical database structures and related software components.
- Analyze and improve system performance, stability, scalability, and resource utilization.
- Evaluate project requirements and provide effort and cost estimates.
- Support field issues, feature enhancements, and product requests for Large Track Type Tractors (LTTT).
- Develop application-level C++ software for Remote Control (RC) and Autonomous systems on Dozers.
- Collaborate with Architects, Project Managers, Software Developers, and Systems Engineers to deliver high-quality software releases and resolve technical issues.