Role:Embedded Software Engineer
Location: Mossville, IL (Onsite)
Duration: Long-Term Contract
Experience Required: 6+ years in Embedded Software Development (with strong experience in highlighted skills)
Interview Process:
- Second-round interview will be conducted in-person.
- Candidates must be able to work onsite in Mossville, IL.
Candidate Requirements:
- Submit only genuine consultants with a verified LinkedIn profile matching the resume.
- Local candidates preferred; non-local candidates will also be considered if they are willing to relocate/work onsite.
Required Education & Experience
Education Requirement:
- Bachelor's degree in Computer Science, Software Engineering, Mechatronic Engineering, or a related technical field.
- Associate (2-year) degrees will not be accepted.
Experience Requirement:
- 2-4 years of industry experience required (internships do not count).
- Candidate must have hands-on industry experience in embedded software development.
- A Master's degree does not waive the required industry experience requirement.
Top Required Skills1. Embedded Software Development
- Strong proficiency in MATLAB and Simulink.
- Experience designing, developing, testing, and deploying embedded software systems.
- Strong programming skills in C/C++.
Validation & Testing
- Hands-on experience with:
- Hardware-in-the-Loop (HIL) testing
- Software-in-the-Loop (SIL) testing
- Experience with embedded system validation and troubleshooting.
Communication Skills
- Strong written and verbal communication skills.
- Ability to collaborate effectively with engineering teams, technical stakeholders, and internal customers.
Additional Required Technical Skills
- Strong understanding of embedded software development lifecycle, including:
- Requirements analysis
- Design
- Development
- Testing
- Deployment and maintenance
- Experience reading and interpreting:
- Electrical schematics
- Component datasheets
- Familiarity with embedded development tools and software environments, including:
- MATLAB/Simulink
- C/C++
- SQL
- Visual Basic or similar development tools
- Ability to analyze, optimize, and improve software efficiency, stability, and scalability.
Required Soft Skills
- Strong analytical and problem-solving abilities.
- Excellent customer service and interpersonal skills.
- Ability to troubleshoot technical issues and implement system improvements.
- Ability to work effectively in a collaborative engineering environment.
Job Responsibilities
- Design, develop, and implement embedded software solutions from initial requirements through production deployment.
- Apply computer science principles and mathematical analysis to develop, test, and evaluate embedded systems software.
- Develop software strategies, documentation, and optimization solutions for Caterpillar engine and after-treatment systems.
- Collaborate with software developers, mechatronics engineers, and validation engineers to solve engine control challenges.
- Develop and document software control strategies to support internal engineering teams.
- Analyze system requirements and estimate development timelines and resources.
- Create and maintain software documentation, including design specifications and technical descriptions.
- Improve system performance, reliability, and scalability through software enhancements.
Team & Work Environment
Team Structure:
- Join a 15-member engineering team responsible for engine subsystem development.
- Work with assigned mentors during the onboarding and ramp-up period.
Work Environment:
- Approximately 90% office-based focused on embedded software development activities.
- Participate in:
- Engineering meetings
- Team discussions
- Development activities
- Engine lab testing
- Occasional work in:
- Software development labs
- Engine test facilities
Safety Requirements:
- Work in engine test labs may require personal protective equipment (PPE), including:
- Safety glasses
- Safety boots