#3 Raphaรซl Ollando - Microgravity Software Engineer
๐๐๐๐๐ก๐ ๐ง๐๐ ๐๐ฅ๐๐๐๐ง๐๐ฅ๐ข๐จ๐๐
3 questions. One perspective. Zero gravity.
Raphaรซl's work is about making complex experiments run reliably and autonomously in space, from controlling processes and responding to changing conditions to enabling remote operations and turning Yuriโs hardware into scalable, repeatable research platforms.
๐ฌ ๐ฌ๐ญ | ๐ช๐ต๐ฎ๐ ๐ถ๐ ๐๐ต๐ฒ ๐ฑ๐ถ๐ณ๐ณ๐ฒ๐ฟ๐ฒ๐ป๐ฐ๐ฒ ๐ฏ๐ฒ๐๐๐ฒ๐ฒ๐ป ๐๐ฟ๐ถ๐๐ถ๐ป๐ด ๐๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ ๐ณ๐ผ๐ฟ ๐ฎ ๐ป๐ผ๐ฟ๐บ๐ฎ๐น ๐น๐ฎ๐ฏ๐ผ๐ฟ๐ฎ๐๐ผ๐ฟ๐ ๐ฑ๐ฒ๐๐ถ๐ฐ๐ฒ ๐ฎ๐ป๐ฑ ๐๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ ๐๐ต๐ฎ๐ ๐๐ถ๐น๐น ๐ผ๐ฝ๐ฒ๐ฟ๐ฎ๐๐ฒ ๐ฎ ๐น๐ฎ๐ฏ๐ผ๐ฟ๐ฎ๐๐ผ๐ฟ๐ ๐ถ๐ป ๐ผ๐ฟ๐ฏ๐ถ๐?
"Writing software for an in-orbit device is completely different from writing software for ground-based equipment. It is much more comparable to developing software for a car or an aircraft.
It is mission-critical because there is usually no possibility to simply restart the experiment, replace the hardware or easily apply a fix if something goes wrong.
Experiments can be worth hundreds of thousands or even millions of euros, and often there is only one opportunity to get them right. That is why we account for a wide range of possible failure scenarios, follow development practices designed for safety-critical applications, and perform extensive verification and validation."
๐ฌ ๐ฌ๐ฎ | ๐๐ผ๐ ๐ฑ๐ผ ๐๐ผ๐ ๐บ๐ฎ๐ธ๐ฒ ๐ฎ๐๐๐ผ๐บ๐ฎ๐๐ถ๐ผ๐ป ๐ณ๐น๐ฒ๐
๐ถ๐ฏ๐น๐ฒ ๐ฒ๐ป๐ผ๐๐ด๐ต ๐๐ผ ๐๐๐ฝ๐ฝ๐ผ๐ฟ๐ ๐๐ฒ๐ฟ๐ ๐ฑ๐ถ๐ณ๐ณ๐ฒ๐ฟ๐ฒ๐ป๐ ๐ฏ๐ถ๐ผ๐น๐ผ๐ด๐ถ๐ฐ๐ฎ๐น ๐ฒ๐
๐ฝ๐ฒ๐ฟ๐ถ๐บ๐ฒ๐ป๐ ๐ฝ๐ฟ๐ผ๐๐ผ๐ฐ๐ผ๐น๐?
"It starts with the hardware. We first make sure it is modular enough to accommodate different types of experiments, and then design the software around that architecture.
From a software perspective, it comes down to careful architecture and abstraction. Modular software components and minimal hardcoding mean that adapting the system to a new experiment can often be as simple as changing a configuration file and, where necessary, adding a few new modules without modifying the rest of the system."
๐ฌ ๐ฌ๐ฏ | ๐ช๐ต๐ถ๐ฐ๐ต ๐๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ ๐ฐ๐ฎ๐ฝ๐ฎ๐ฏ๐ถ๐น๐ถ๐๐ ๐ถ๐ ๐บ๐ผ๐๐ ๐ถ๐บ๐ฝ๐ผ๐ฟ๐๐ฎ๐ป๐ ๐ณ๐ผ๐ฟ ๐บ๐ฎ๐ธ๐ถ๐ป๐ด ๐ณ๐๐๐๐ฟ๐ฒ ๐บ๐ถ๐ฐ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐๐ถ๐๐ ๐ฒ๐
๐ฝ๐ฒ๐ฟ๐ถ๐บ๐ฒ๐ป๐๐ ๐๐ฐ๐ฎ๐น๐ฎ๐ฏ๐น๐ฒ ๐ฎ๐ป๐ฑ ๐ฟ๐ฒ๐ฝ๐ฒ๐ฎ๐๐ฎ๐ฏ๐น๐ฒ?
"For me, it comes down to making sure that our software is configurable, automated and traceable.
As explained earlier, configurability is key, but on top of it we need to automate the workflow itself. Running an experiment is rarely a simple A-B-C-D sequence, but rather a complex workflow with many possible scenarios. And that requires a dedicated "engine" that handles that complexity, so that a scientist's new idea for an experiment, or a change in a process, doesn't mean adding thousands of new lines of code.
Traceability is equally important. If one experiment fails while another succeeds, we need to understand exactly what happened by tracing the sequence of events, parameters and configurations that led to the result."