Future Projects Flight Software Engineer
Role details
Job location
Tech stack
Job description
We want you as a talented Flight Software Engineer to help us in our mission by developing and testing critical software responsible for the operation of our lunar lander projects. You will be part of the Future Projects team, reporting to the Principal Engineer of the project and working closely with the other engineering disciplines., In your capacity as a Future Projects Flight Software Engineer, your role will be continuously evolving, but day to day your duties will include:
- Taking ownership of the software architecture, components, and interfaces
- Owning the requirements for the software sub-system
- Being responsible for implementation of the Flight software modules (Sub-system)
- Being responsible for writing clean unit tests
- Collaborating with other teams (e.g. Avionics, GNC, Propulsion) to ensure seamless integration of the software into the test framework
- Being responsible for integrated tests (with Hardware and Simulated)
- Actively participating in system-level tests and provide support for troubleshooting and resolving integration issues
Requirements
Do you have experience in TCP/IP?, Do you have a Bachelor's degree?, * Bachelor's degree or higher in Computer Science, Electrical Engineering, Aerospace Engineering, or a related field.
- 3+ years of experience in developing software architectures for aerospace or similar complex systems.
- Proven experience in real-time distributed system design, implementation, and debugging, with a focus on timing constraints, synchronization, and deterministic behavior in safety-critical applications.
- Strong background in software development, with proficiency in programming languages such as C++, Python, or MATLAB/Simulink.
- Familiarity with hardware in the loop (HIL) and software in the loop (SIL) testing methodologies.
- Excellent problem-solving skills and the ability to work effectively in a fast-paced, collaborative environment.
- Strong communication skills with the ability to convey complex technical concepts to diverse audiences.
- Experience with NASA cFS is considered advantageous.
- Understanding of Communication protocols such as: TCP/IP, UART, CAN Bus and serialization.
- Familiarity with debuggers (GDB, LLDB).
Nice to have
- Knowledge of safety and real-time critical software and familiarity with RTOS
- Experience with RTEMS is considered advantageous