Description: Our client is currently seeking a Engineer - Aerospace Software Apps III (100% REMOTE)
Come join a small, passionate, and accomplished team of specialists responsible for delivering the real-time embedded controller software that monitors and controls subsystems on human capable orbital spacecraft, as well as test software used to verify controller functionality! As a part of our team, you will be responsible for defining requirements, interfaces, processes, procedures, and ensuring consistent behavior between multiple software, firmware, and hardware subsystems for mission- and safety-critical spaceflight systems. You will collaborate with multidisciplinary teams and share in the team's impact on all aspects of re-usable, safety-critical, real-time embedded software development, including requirements, implementation, verification, validation, delivery, and operational support.
• Undergraduate degree in computer science, computer engineering, software engineering, or related technical field
• 5+ years of software development experience
• Experience across the full software development lifecycle: concept definition, architecture, requirements capture and development, software implementation and verification, system integration, qualification, and release
• Experience in reliability, maintainability and supportability analysis and execution
• Experience developing, verifying, certifying, and releasing mission and safety-critical software systems that align with DO-178, DO-278, ISO 26262, IEC 61508, or similar guidelines
• Strong software development skills, particularly in C/C++ and Python
• Experience with formal requirement definition
• Experience with process definition
• Highly organized teammate with excellent technical written and verbal communication skills
• Ability to earn trust, maintain positive and professional relationships, and contribute to a culture of inclusion
• Must be a U.S. citizen or national, U.S. permanent resident (current Green Card holder), or lawfully admitted into the U.S. as a refugee or granted asylum
• System Safety analysis experience including Failure Modes, Effects and Criticality Analysis, Fault Tree Analysis, and Functional Hazard Analysis
• Familiarity with industry standards (ARINC, STANAG, MISRA)
• Solid understanding of real-time operating systems and real-time embedded control systems (including APIs, interfaces, and device drivers)
• Working knowledge of communications protocols such as UDP/TCP, I2C, UART, etc.
• Experience with software development on embedded systems with I/O transducers: displacement, rate, and acceleration sensors; pressure and temperature sensors; servo and solenoid actuators; etc.
• Solid grasp of hardware components such as an MMU, MAC, DMA, Flash, etc.
• Experience with device driver, bootloader, or kernel development
• Strong debugging skills at the software/hardware boundary, and familiarity with software verification approaches
• Direct hands-on experience with GNU toolchain
• Experience with agile development methods
• Experience with tools such as
o Requirements Management Tools (DOORS, DNG, JAMA)
o Product Lifecycle Management Tools (Windchill)
o Version Control Systems (Git, GitLab, SVN)
o Continuous Integration Frameworks (GitLab CI, Jenkins)
o Containers and Environment Configuration Management (Docker, Kubernetes, Ansible)