As a Software Design Engineer you will be responsible for the embedded software development within the framework of a satellite equipment or a scientific instrument. You will start by designing the software and the code according to the requirements and specifications of the project. This should be done in close cooperation with Electronic Engineers, the Software Architect, and your fellow Software Design Engineers. Documentation of your code (in-line and in separate reports) is crucial for ensuring traceability and quality.
You will ensure that the flight software code adheres to MISRA coding rules and that the proper performance is met on all cases by means of unit, integration, and validation tests. You will be responsible for verifying your design in a simulation environment (assisted by Continuous Integration tools) as well as on the actual hardware.
Finally, you will participate in the equipment/instrument level functional and performance test campaigns before handing over the developed software (including proper documentation) to the client (internal/external).