Large numbers of people sift through data from satellite sensors or simulate rocket launches before they take place.
They, too, are doing rocket science.
But its less intuitive to think of them as such.

At the same time, these types of stories keep things simple enough.
Anyone can appreciate the fact that humanity has landed a few rovers on Mars.
Many people want to know about space.
They want to know what it looks like and what humanity is doing to explore it.
But without detailed knowledge, its hard to understand how space technology really works.
40% off TNW Conference!
A few stories are available from Elon Musks projects, though.
Considering that working at SpaceX or Starlink is many an engineers dream, these will be my focus here.
Similarly, satellite internet still sounds like a pipe dream to many people.
Spotty internet access is also a problem for moving objects like trains, jets, and ships.
Anyone who has tried to use WiFi while traveling can attest to that.
These problems might get resolved soon, however.
Starlink, a spinoff of private-sector rocket pioneer SpaceX, is laying the groundwork for more expansive internet access.
First announced in 2015, Starlink internetis already availablein many parts of the U.S. today.
To ensure that the internet isnt too slow, the satellites need to be quite close to Earth.
Because of that, they only remain overhead for a few minutes at a time.
So, the ground-based antennas that they communicate with need to change which satellite they speak to very often.
The internet consists of hundreds of satellites; new ones are constantly being added and old ones replaced.
Instead, every Starlink satellite navigates itself.
This process requires a huge computational effort.
First, the satellites dont only risk bumping into each other.
They can also collide with planes and other satellites in low orbit.
Second, the possibility of interference contributes to the massive computational requirements.
When the signals of two satellites overlap, they can distort or even cancel one another.
Avoiding interference requires putting the signals into slightly different frequency bands.
But this isnt as easy as it sounds, and a finite number of possible frequency bands.
Therefore, two satellites with bands that are too similar cant get too close to each other.
This requirement further complicates the satellites navigation.
You might wonder why the satellites positions need to be calculated on Earth and not directly onboard the satellites.
In addition, things go wrong much more often in outer space than on Earth.
Because the suns radiation is much stronger outside the Earths atmosphere,bits can flip more easily.
Software at Starlink is written in well-known programming languages.
The company also uses Python for some prototyping because its generally faster to build in.
This mirrors what developers use inautonomous vehicle technology.
Satellite internet is a very ambitious project, and it comes with many difficult challenges.
Starlink is undoubtedly the pioneer of this field, but other companies and space agencies are quick to follow.
In a decade or two, it might be just as standard as satellite TV is today.
Tests can fail, of course.
But in the final mission, nothing is allowed to go wrong.
All flight software for SpaceX rockets isbuilt around control cycles.
First, all the inputs are read, such as data from sensors or commands from the ground.
Different subsystems control different parts of the rocket.
so you can prevent big disasters, these need to be isolated from one another.
If one thing goes wrong, the show must still go on.
This setup differs from how many other tech companies operate.
In other words, Google lets failures happen and tries to learn from them afterward.
For Google, this approach works perfectly well.
If one process in Google fails, maybe a search query will return eerie results.
If a manned rocket steers in the wrong direction, though, human lives are in jeopardy.
Because of the high-stakes nature of the problems it tackles, SpaceX tries its best to never fail.
When the rocket starts for an actual mission, however, everything needs to work.
That means the rocket must remain intact even if a part of it fails.
Testing, testing, and testing code
Rocket software needs to be as reliable as possible.
That being said, none of SpaceXs tools related to testing are unheard of elsewhere in software development.
Before a developer can make a pull request, they need to meet a set of elaborate criteria.
Before merging, the code gets tested twice, and its tested again after the actual merge.
SpaceXs continuous integration environment is largely based on HTCondor, and its metadata is managed with PostgreSQL.
In addition, the company uses Python for backend test running, build orchestration, and web services.
For the front end of these web services, it uses Angular, JavaScript, and some TypeScript.
In terms of containerization, SpaceX uses Dockers, along with a little bit of Kubernetes.
Meeting the quality requirements and merging, however, is much more rigorous.
This scope of projects sets it apart even from NASA.
Its true that every rocket launch burns a horrendous amount of fuel.
In addition,the rise of private companies in spaceisnt necessarily a bad thing.
Sounds like a win-win-win-win to me.
This article is written by Ari Joury and originally published at Builtin.you’re free to read it here.