I'm currently trying to enter the space industry and gather as much information as possible about the required skills needed to be useful in that sector.

I was able to contact an ESA (European Space Agency) employee and ask some questions about the industry as a whole and opportunities for software engineers with different backgrounds. I also explored multiple career sites from companies that work in the space sector and reviewed the required and desirable skills for software-related roles.

From what I found, Java is mostly used for Space Ground Systems, and C and C++ are used for onboard software. I also saw Python, Ada, Fortran and C# for some positions.

As one might expect, there are also expectations regarding scripting languages, databases, operating systems, version control systems, etc. Requirements differ depending on seniority and project type, but during this research, I also kept encountering "ECSS" repeatedly.

After some digging, I found that ECSS stands for the European Cooperation for Space Standardization. According to the official website, this is "an initiative established to develop a coherent, single set of user-friendly standards for use in all European space activities."

There are MANY standards there, but the good news is that I probably do not need to know them all and that I can access them for free.

Right now, I plan to get familiar with the following:

  • E-10 (system engineering)
  • E-40 (software engineering)
  • Q-80 (software product assurance)

There are slides and recorded training sessions available on the official website. I might need to watch them all at some point.

ECSS training material