Former Amazon CEO Jeff Bezos launching himself into space aboard a self-funded rocket generated an enormous number of headlines. Having spent billions of dollars to get to that point, Bezos made it clear he’s willing to spend billions more through his space company, Blue Origin, to launch more rockets.
Meanwhile, SpaceX CEO Elon Musk has made a sizable business out of launching rockets loaded with satellites and astronauts into space. Musk has publicly stated his intention to eventually land humans on Mars.
The competition between Musk and Bezos (and, to a lesser extent, Richard Branson, who’s planning on launching tourists into space aboard his Virgin Galactic “space plane”) is rapidly becoming a tech-billionaire version of the 1960s Space Race, with each side willing to commit enormous resources to win in a new race for space.
Given all that high-profile pressure, you’d assume that software engineers at Blue Origin and SpaceX would pull down sizable average salaries, and you’d be right, according to crowdsourced salary data on Glassdoor. But if these salaries are any indication, these engineers aren’t pulling down noticeably more than their professional colleagues at tech giants such as Google.
If you’re interested in working on spaceflight software, you’re no doubt already aware that the consequences of bad code are potentially catastrophic—either in launch delays or, worse, some kind of vehicle malfunction. An illuminating interview on Stack Overflow with Steven Gerding, the software development lead for SpaceX’s Dragon spacecraft, suggests that this very mission-specific software is built with such failures in mind.
“We try to design the software in a way that if it were to fail, the impact of that failure is minimal,” Gerding told Stack Overflow. “We’re always checking error codes and return values… We also have the ability for operators or the crew to override different aspects of the algorithm.” (The whole interview is well worth reading for his advice about generalized software development, including the need to build verification and validation into the development process.)
According to Burning Glass, which collects and analyzes millions of job postings from across the country, SpaceX is on the lookout for software engineers with mastery of Python, C++, software engineering and development, and Linux. Those technologies, in turn, are incorporated into some very bespoke systems. No doubt Blue Origin asks for similar skills. If you want to land the job (and the rocket), you’ll really need to know your stuff.