Mission Software Engineer for Distributed Systems
The Exploration Company
Munich, Germany
We are looking for a Mission Software Engineer to help us in our mission by contributing to the development, building, and testing of our flight software on a distributed system.
Key Responsibilities
In your capacity as a Mission Software Engineer for Distributed Systems, your role will be continuously evolving, but day to day your duties will include:
- Flight Software development in C/C++:
- Linux and RTOS platforms on in-house designed OBC
- Design and build distributed system architectures
- Ensure safety and fault tolerance in distributed compute systems
- Build system automation
- Build and maintain custom Tooling around the Flight software based on Nasa cFS
- Software testing including but not limited to unit, interface, integration
- Static and dynamic analysis
What we would love to see from you
In the role of a Flight/Mission Software Engineer ideally, you will have the following:
- Passion for C/C++ Software Development
- Experience with real-time operating systems and how to write real-time compliant code
- Experience working with distributed systems
- Experience working with consensus and voting algorithms
- A good understanding of hardware (CPU, memories, FPGA)
- Experience with Python
- Building software with CMake/Meson
- Ability to debug complex software
- Knowledge of the Linux operating system and the Linux command line interface
- Proficiency with git version control
- Bachelors or Masters Degree in Electrical Engineering/Embedded Systems (Degree can be replaced by relevant work experience)
A plus would be:
- CI/CD with embedded systems
- Prior experience with safety critical software
- Experience with Clang AST and tooling
- Networking
- Experience with Yocto or Petalinux
- Knowledge of formal verification methods
Apply Now
Don't forget to mention Space-Careers when applying.