Job Title: - Senior Embedded Software Engineer / Developer
Location:- Jamestown, ND - Cedar Rapids, IA (Onsite)
Full time role
Job Summary
We are seeking a highly experienced Senior Embedded Software Engineer / Developer with strong expertise in C/C++ and Python, embedded software development, aerospace standards, software requirements, design, implementation, testing, and verification.
Key Responsibilities
- Design, develop, code, test, debug, and provide ongoing support for real-time embedded software.
- Develop software based on low-level software requirements and system/customer requirements.
- Analyze business and technical requirements and translate them into detailed software requirements and implementation designs.
- Gather requirements from stakeholders, prepare requirement documentation, obtain approvals, and support implementation.
- Develop embedded software primarily using C, with additional development using C++ and Python.
- Apply object-oriented design principles when designing new software systems.
- Ensure software solutions comply with aerospace architecture, development, security, accessibility, and industry best practices.
- Develop and maintain software in accordance with DO-178B/DO-178C standards.
- Apply knowledge of DO-330 and aerospace software verification practices.
- Build, test, integrate, and deliver embedded software to target environments.
- Participate in high-level requirements reviews, software design reviews, code reviews, and verification reviews.
- Perform design reviews and update software designs based on review findings.
- Create and maintain requirements traceability matrices linking requirements, implementation, and verification activities.
- Develop software test cases, test procedures, test scripts, and verification procedures based on requirements.
- Execute tests in target and test environments and generate detailed test results.
- Perform Requirement-Based Testing (RBT) and review RBT test artifacts.
- Support system-level testing and coordinate with cross-functional engineering teams.
- Analyze and support Change Requests (CRs), including development, correction, verification, and implementation activities.
- Investigate and resolve software problems and verify the disposition of Software Problem Reports (SPRs).
- Document problems, corrective actions, test results, and verification evidence.
- Coordinate with development, systems, verification, quality, and other cross-functional teams.
- Participate in Agile development environments and support sprint-based development activities.
- Provide technical leadership and collaborate effectively with internal organizations and external customers.
- Support customer commitments by delivering high-quality embedded software within program schedules.
Technical Requirements
- 10+ years of experience in embedded software development.
- Strong proficiency in C programming.
- Working knowledge of C++ and Python.
- Strong understanding of DO-178B / DO-178C.
- Basic/working knowledge of DO-330.
- Experience developing real-time embedded software.
- Experience with aerospace software development, reviews, testing, and verification.
- Experience with software requirements analysis and requirements-based development.
- Experience preparing software planning and development documentation.
- Experience with requirements traceability and verification activities.
- Experience with software design and object-oriented design principles.
- Experience with code, design, requirements, test case, test procedure, and test result reviews.
- Experience developing and executing automated/manual test scripts.
- Experience with software problem reports, change requests, corrections, and verification.
- Experience with IBM DOORS and/or Siemens Polarion.
- Experience using development environments such as Visual Studio Code and/or Microsoft Visual Studio.
- Knowledge of aircraft, avionics, or electronic systems.
- Knowledge of aerospace communication and data-link protocols, including:
- ARINC 429
- ARINC 618
- VDL Mode 2
- TCP/IP
- ATN/OSI
- Knowledge of air/ground messaging systems.
- Knowledge of aircrew Human-Machine Interface (HMI) design is a plus.