Flight Software Systems Engineer for Space Missions 80%-100%, Zurich, fixed-term 23.09.2026 | ETH Zürich | Space
Ready to Apply?
Click below to visit the application page
Job Description
This position is for a Flight Software Systems Engineer to support ETH Zurich's space projects, focusing on developing and integrating flight software for diverse small spacecraft. Key responsibilities include software architecture design, embedded C/C++ development, integration, verification, and operations support. A Master's degree in a related field and at least 5 years of professional experience in flight/embedded software, with strong C/C++ skills and systems-level software engineering expertise, are required.
Ready to Apply?
Click below to visit the application page
Key Responsibilities
- Take technical ownership of assigned flight software developments and act as the primary software interface to systems engineering, avionics, payload teams, mission operations, and external platform providers.
- Translate mission concept of operations into spacecraft behaviors and define flight software architectures and functional decompositions
- Allocate hardware-software functions, and define associated software requirements and interfaces.
- Translate mission and system requirements into software specifications, interface control documents, operational concepts, and verification plans.
- Develop embedded flight software in C and C++ and supporting tools and test scripts (e.g., Python), including device drivers, telemetry and telecommand handling, onboard data management, application software, and fault-management functions.
- Integrate flight software with onboard computers, sensors, actuators, payload electronics, communication interfaces, ground systems, and externally supplied spacecraft platforms.
- Set up and maintain flat-sat flight software testbeds
- Perform software-related trade studies covering processing capacity, memory, timing, bandwidth, autonomy, reliability, and fault tolerance.
- Develop real-time, event-driven, autonomous, synchronization, and GNC-related software functions where required.
- Establish and maintain software baselines, configuration control, versioning, build automation, continuous integration, release management, and requirements traceability.
- Develop and execute flight software unit tests, conduct integration, software-in-the-loop, processor-in-the-loop, hardware-in-the-loop, and system-level verification and validation activities.
- Support software risk management, anomaly investigation, non-conformance handling, and technical review boards.
- Support spacecraft and payload assembly, integration, and test activities, commissioning, in-flight software updates, telemetry analysis, and mission operations.
- Contribute to technical reviews, early-stage mission concepts, proposals, and software feasibility studies.
- Provide technical guidance to junior engineers, researchers, and student teams.
- You have a strong background in embedded and real-time software development combined with systems-level experience in software architecture, requirements engineering, interface definition, integration, and functional verification.
- You are comfortable working across mission, spacecraft, avionics, payload, software, and operations domains.
Requirements
- Master’s degree in computer science, electrical engineering, computer engineering, aerospace engineering, robotics, or a related field.
- 5+ years of professional experience in flight software, embedded software, or mission-critical software systems.
- Strong programming skills in C and C++ for resource-constrained embedded targets.
- Experience with real-time operating systems, embedded Linux, or bare-metal development.
- Experience in software systems engineering, including architecture definition, functional decomposition, hardware-software allocation, requirements management, and interface control.
- Ability to translate mission and spacecraft requirements into software specifications, operational concepts, and verification strategies.
- Experience integrating flight software with avionics hardware, sensors, actuators, communication buses, payloads, or ground systems.
- Understanding of telemetry and telecommand, onboard data handling, timing, autonomy, fault management, and spacecraft operations.
- Hands-on experience with software integration, debugging, automated testing, and hardware-in-the-loop environments.
- Experience with configuration management, version control, release processes, technical baselines, and requirements traceability.
- Ability to assess software-related technical resources, including processing capacity, memory, timing, bandwidth, and reliability margins.
- Strong analytical, organizational, and communication skills, with the ability to work effectively in multidisciplinary and multicultural teams.
- Knowledge of radiation effects, redundancy, memory protection, watchdogs, and FDIR.
- Excellent command of English, both written and spoken
- German is an advantage but not required
About This Position
Where is this position based?
The position is based at ETH Zurich (Swiss Federal Institute of Technology), in Zurich, CH. Check the job description above for flexible or hybrid arrangements.
How do I apply for this job?
Click the Apply button on this page — it takes you to ETH Zurich (Swiss Federal Institute of Technology)'s official application portal, where you submit your application directly to the university. Tenurify only aggregates the listing and never handles applications or charges candidates.
Ready to Apply?
Click below to visit the application page
More Engineering roles you may be interested in