Senior Spacecraft Systems Engineer - Software
Job Description
The Senior Spacecraft Systems Engineer – Software is responsible for translating system-level operational concepts, customer requirements, and architecture into detailed software requirements, verification strategies, and integrated technical solutions for complex embedded systems. This role serves as a critical bridge between Systems Engineering and Software Engineering, ensuring requirements are properly decomposed, traceable, testable, and aligned to overall program objectives.
The position is organizationally aligned within the Systems Engineering function while working closely day-to-day with the Software Engineering team to support planning, development, integration, and verification activities. This role is instrumental in defining software verification approaches, required hardware/software configurations, and ensuring system functionality meets mission and performance objectives.
Requirements Decomposition & Flow Down
- Analyze customer, mission, and system-level requirements and decompose them into clear, verifiable software-level requirements.
- Ensure software requirements maintain traceability to higher-level system requirements, architecture, and Concept of Operations (CONOPS).
- Collaborate with systems, software, and hardware teams to refine requirements for completeness, feasibility, and technical accuracy.
- Support requirements management processes, baseline control, and change impact assessments.
- Identify requirement gaps, ambiguities, and risks early in the development lifecycle.
Verification Planning & Validation
- Develop software verification approach including verification descriptions, methods (test, analysis, demonstration, inspection), levels, and acceptance criteria aligned to system and program requirements.
- Identify required verification configurations, including hardware setups, software loads, firmware versions, and test environments.
- Support verification cross-reference matrices (VCRM), traceability matrices, and evidence packages.
- Partner with test and software teams to ensure efficient execution of planned verification activities.
Systems & Software Integration
- Serve as a technical liaison between Systems Engineering and Software Engineering teams.
- Support software integration planning, readiness reviews, and release coordination.
- Evaluate impacts of software changes to system behavior, interfaces, and verification scope.
- Participate in architecture, design, and interface reviews to ensure requirements alignment.
- Support issue resolution involving system functionality, interoperability, and software performance.
Embedded Systems & Interfaces
- Apply working knowledge of embedded systems architectures, constraints, and development environments.
- Understand hardware/software interfaces, communication protocols, and subsystem interactions.
- Support interface definition and validation between embedded devices, processors, sensors, payloads, and external systems.
- Assess integration and verification implications of firmware, software, and hardware revisions.
Program Execution & Technical Leadership
- Support Program Increment (PI) planning, staffing assessments, and execution readiness activities.
- Prioritize verification and requirements activities to meet schedule and milestone commitments.
- Mentor junior engineers on requirements quality, traceability, and verification planning.
- Drive continuous improvement in systems/software collaboration, process efficiency, and engineering rigor.
- Bachelor's degree in Systems Engineering, Software Engineering, Computer Engineering, Electrical Engineering, or related technical discipline with 5–8 years of experience in systems engineering, software engineering, embedded systems, or integration environments.
- Experience decomposing system requirements into software-level requirements.
- Experience creating verification plans, descriptions, procedures, or acceptance criteria.
- Strong understanding of embedded systems and software development lifecycles.
- Experience with hardware/software interfaces and communication protocols.
- Ability to interpret and apply system-level CONOPS to engineering execution.
- Programming Languages: Python, C++, C, Java, Bash, or similar.
- Development Tools: Git, IDEs, debuggers, CI/CD platforms.
- Operating Systems: Linux, Windows, Unix.
- Protocols/Interfaces: TCP/IP, UDP, Serial, USB, Ethernet, APIs.
- Other Tools: Requirements tools, issue tracking systems, automated test tools.
We may use artificial intelligence (AI) tools to support parts of the hiring process, such as reviewing applications, analyzing resumes, or assessing responses and identifying potential inconsistencies or verification signals in application materials based on available information. These tools assist our recruitment team but do not replace human judgment. Final hiring decisions are ultimately made by humans. If you would like more information about how your data is processed, please contact us.
