Job Title: Software Engineer
Location: Grand Rapids, MI – Onsite
Duration: Long Term
Job Description
We are seeking a skilled and experienced Software Engineer to join our team in Grand Rapids, MI. The ideal candidate will have a strong background in embedded and real-time software development and be adept at working in environments that require high design assurance. This role demands expertise in various operating systems and tools relevant to safety-critical software development.
Responsibilities
- Embedded and Real-Time Software Development: Design, develop, and maintain software for embedded systems with high design assurance levels.
- Requirements Management: Utilize DOORS for capturing, managing, and tracing requirements.
- Software Verification and Validation: Perform rigorous verification and validation, including structural coverage analysis, DC/CC analysis, and worst-case execution time analysis.
- Operating System Expertise: Work with operating systems such as Wind River, LynxOS, Linux, and FreeRTOS.
- UML and Design Tools: Use UML and other design tools for software modeling; Cameo Model Based Design experience is a plus.
- Programming: Write, test, and debug code in C/C++.
- Compliance and Testing: Ensure compliance with CAST-32A and conduct thorough testing for verification.
- Analysis: Conduct memory usage analysis, stack and heap analysis, and model coverage analysis.
- Processor Experience: Work with ARM-based processors.
- Virtual Machine Development: Develop within a virtual machine environment.
Education And Experience Requirements
- Bachelor’s degree in Engineering from an accredited university or college.
- A minimum of 5 years in a relevant engineering role.
- Must be a U.S. Citizen or Green Card holder.
Required Skills
- Proven experience with projects requiring stringent safety and quality standards.
- Proficiency in using DOORS for requirement management.
- Experience with IBM RTC for project management and collaboration.
- Strong proficiency in C/C++ for embedded systems.
- Extensive experience in verification, validation, and coverage analysis.
- Hands-on experience with Wind River, LynxOS, Linux, and FreeRTOS.
- Familiarity with Cameo and UML-based design tools.
- Expertise in structural coverage, memory usage, stack and heap, and worst-case timing analysis.
Preferred Skills
- Experience in analyzing model coverage for software quality.
- Familiarity with CAST-32A guidelines and testing procedures.
- Competence in performing source-to-object code analysis.