SpaceX successfully launched two NASA astronauts into orbit for the first time on May 30 – and in doing so, CEO Elon Musk reached a milestone in human spaceflight and is one step closer to achieving his Mars ambitions.
Six of the SpaceX software team members who helped "develop and deploy software that flew Dragon," aka the Crew Dragon capsule used to launch the astronauts, held a Reddit "Ask Me Anything" session on June 6.
"We are here to answer any questions you might have about Dragon, software and working at SpaceX," the team wrote on Reddit.
The job of each team member varied – from managing software development for the Crew Dragon Demo-2 launch to running flight software and cybersecurity – and each shared a bit of advice on how to get a job at SpaceX.
Here are the team's best tips on getting a software job at SpaceX.
Get a degree in computer science 'or something similar'
During the AMA, a Reddit user who identified as a high school student asked, "What can I do if I want to get a software job at SpaceX sometime in the future?"
"Get your CS [computer science] degree or something similar" to "really make sure you know how things work," Jeff Dexter, who runs flight software and cybersecurity at SpaceX, said.
"[E]ngineers who do well at SpaceX are meticulous in their understanding of how their code works, how the network works, how Linux works, how the hardware works, etc.," he explained.
Plus, many of the open engineering and software job listings at SpaceX include a bachelor's degree or higher education as a basic requirement.
Get experience via 'hobby projects or internships'
In addition to a degree, "get real world experience building things and solving hard problems, either through hobby projects or in internships (at SpaceX!)," Dexter advised.
For instance, SpaceX has "noticed particularly good crossover between video game development and what we do," John Dietrick, leader of the software development effort for Demo-2, said on Reddit. "There are a lot of similar math-heavy and performance-centric problems in the two spaces."
In fact, Musk has said his own love of video games inspired him to start programming — when he was 12, he coded a video game called "Blastar," which he later sold for $500 to trade publication PC and Office Technology magazine.
Don't let the lack of either of these things discourage you
While a degree or experience can help, neither is the end all, be all.
"Having different people with different backgrounds (education, experience, and culturally) is a big plus on the team," Matt Monson, who used to work on Dragon and now leads Starlink software, said. "Not much of the team, for example, comes from an aerospace background. Different points of view help us see problems from different angles, and that quite often helps us see solutions we wouldn't have otherwise seen."
When it comes down to it, "we're really looking for a couple things: talent (potential) and the right attitude (desire for self improvement, serving the team over being selfish)," Monson says. "These are more important than specific experience, and we expect to be investing in people to help them grow."
As Musk himself tweeted in February, in order to work at SpaceX, "A super hardcore work ethic, talent for building things, common sense & trustworthiness are required, the rest we can train."