Mission Systems Software Engineer
Posted Updated
Description
You will define and maintain end-to-end software architecture for a real-time, mission-critical computing system. You will integrate mission-system capabilities, design for deterministic performance and resilience, establish engineering practices, execute verification across laboratory and flight environments, and guide technical decisions throughout the lifecycle.
Responsibilities
- Serve as a software mission systems engineer for a real-time mission-computing system
- Define and maintain software architecture, interfaces, networking, data distribution, component boundaries, and APIs
- Architect deterministic real-time performance and resource allocation
- Develop architecture views, interface definitions, deployment models, timing diagrams, resource budgets, and technical decision records
- Integrate sensors, effectors, communications, navigation, autonomy, mission management, command and control, and vehicle services
- Design for fault isolation, redundancy, recovery, health monitoring, cybersecurity, airworthiness, certification, and requirements traceability
- Establish practices for concurrency, synchronization, resource management, configuration management, and integration
- Define and execute verification strategies across laboratories, simulations, test benches, flight tests, and deployed systems
- Evaluate technologies and supplier designs, analyze performance, manage technical debt, and communicate architectural decisions
Requirements
- Bachelor’s degree in a related technical field
- Senior level: 5+ years of software-engineering experience including 1+ year in software or systems architecture or technical leadership
- Staff level: 8+ years of software-engineering experience including 3+ years in software or systems architecture or technical leadership
- Senior Staff level: 10+ years of software-engineering experience including 5+ years in software or systems architecture or technical leadership
- Experience developing embedded, distributed, real-time, safety-critical, or mission-critical software
- Proficiency in C, C++, Rust, or another strongly typed systems-programming language
- Knowledge of real-time software principles
- Experience with embedded operating systems or RTOSs, middleware, interprocess communication, networking, and data-distribution technologies
- Experience defining software architectures, APIs, interface-control documents, data flows, deployment models, and resource budgets
- Ability to obtain and maintain a U.S. Department of Defense security clearance
Benefits
- Bonus
- Equity
