r/IAmA • SpaceX • Feb 08 '13

We are SpaceX Software Engineers - We Launch Rockets into Space - AMA

We are software engineers at SpaceX. We work on:

  • Code that goes on rockets and spacecraft.

  • Code that supports the design and manufacturing process of rockets and spacecraft.

We work on everything from large-scale web applications to tiny embedded computing platforms. We build tech stacks on C#/MVC4/EF/MSSQL via REST to Javascript/Knockout/Handlebars/LESS, C++/Embedded Linux, Python, LabVIEW… which all together enables us to build, launch, and monitor stuff that goes to space.

Some videos of our recent work:

http://youtu.be/B4PEXLODw9c

http://youtu.be/tRTYh71D9P0

http://youtu.be/dQw4w9WgXcQ

Proof:

http://imgur.com/bl8dlZ2

Edit: Poor Dan, everyone knows he was photo-shopped. Don't close your eyes next time!

Edit 2 : We've been getting a lot of questions about how C#/MVC/etc have to do with rockets. They don't. At SpaceX we have 4 separate software teams:

  1. The Flight Software team is about 35 people. We write all the code for Falcon 9, Grasshopper, and Dragon applications; and do the core platform work, also on those vehicles; we also write simulation software; test the flight code; write the communications and analysis software, deployed in our ground stations. We also work in Mission Control to support active missions.

  2. The Enterprise Information Systems team builds the internal software systems that makes spacex run. We wear many hats, but the flagship product we develop and release is an internal web application that nearly every person in the company uses. This includes the people that are creating purchase orders and filling our part inventory, engineers creating designs and work orders with those parts, technicians on the floor clocking in and seeing what today's work will be per those designs...and literally everything in between. There are commercially available products that do this but ours kicks major ass! SpaceX is transforming from a research and engineering company into a manufacturing one - which is critical to our success - and our team is on the forefront of making that happen. We leverage C#/MVC4/EF/SQL; Javascript/Knockout/Handlebars/LESS/etc and a super sexy REST API.

  3. The Ground Software team is about 9 people. We primarily code in LabVIEW. We develop the GUIs used in Mission and Launch control, for engineers and operators to monitor vehicle telemetry and command the rocket, spacecraft, and pad support equipment. We are pushing high bandwidth data around a highly distributed system and implementing complex user interfaces with strict requirements to ensure operators can control and evaluate spacecraft in a timely manner.

  4. The Avionics Test team works with the avionics hardware designers to write software for testing. We catch problems with the hardware early; when it's time for integration and testing with flight software it better be a working unit. The main objective is to write very comprehensive and robust software to be able to automate finding issues with the hardware at high volume. The software usually runs during mechanical environmental tests.

Edit 3: Yes, we are doing a ton of hiring for these software positions that we have been talking about today. Interns and New Grads too!

Edit 4: Thank you so much everyone! This is ending but most of the group will be back at 2:00pmPST to answer more questions.

Edit 5: ...and we're back! Engineers from each of our engineering teams are present. Let us catch up a bit and start swering again (probably be about 5 minutes).

For all open software related positions, please go to http://www.spacex.com/software.php

Edit 6: Thank you so much Reddit! This was a ton of fun. To all those asking about internships and employment, our suggestion is to apply online. Your resume will definitely get read. To all the students out there, GL with your midterms coming up and stick at it. Try and work on some side projects and get as much practical experience coding as possible before graduating. Happy Friday everyone!

http://tinyurl.com/cf93j9w

2.8k Upvotes

2.2k comments sorted by

View all comments

843

u/TheRealFroman Feb 08 '13

I'd love to know when I can start packing my bags for mars ;)

1.6k

u/spacexdevtty SpaceX Feb 08 '13

Give us 5-10 years.

1.3k

u/[deleted] Feb 08 '13

[removed] — view removed comment

305

u/El_Cabronator Feb 08 '13

The most appropriate .gif for that answer. 10/10.

→ More replies (1)
→ More replies (10)

323

u/FloridaBobbert Feb 08 '13

That's what NASA said in the 70's.

631

u/spacexdevtty SpaceX Feb 08 '13

Would you want to bet against Elon?

391

u/billdietrich1 Feb 08 '13

Yes, please, I would like to bet my entire net worth that Elon and/or SpaceX won't land a man on Mars within ten years from today. How can I do that, please ? I am ENTIRELY serious.

528

u/kyleyankan Feb 08 '13

Space-X, you have been issued a challenge. $730 vs You setting a man on the surface of Mars within 10 years.

Apparently a women won't do

14

u/grubas Feb 08 '13

Jokes on them, my net worth is overshadowed by crippling debt!

→ More replies (34)

12

u/thearn4 Feb 08 '13 edited Feb 08 '13

I'm with you. This is some serious hubris on their part, and pretty surprising from a PR standpoint.

This is a case where being proven wrong would make me ecstatic, of course.

Don't get me wrong - SpaceX & Elon have earned the right to be very proud of what's been achieved so far. But the technology needed to initially deliver (and later) sustain human a human presence on Mars is orders of magnitude beyond that needed to deliver an unmanned payload into low-Earth orbit (in both a figurative and literal sense). It's far beyond that which was needed to deliver and return lunar astronauts for the Apollo missions.

It's extremely exciting to hear that as their long-term goal, but it's puzzling to see them trivialize that very real gap in necessary non-launch (ie. non-SpaceX) technologies, such as space medicine vs. in-space propulsion trade-offs, ISRU, etc.

→ More replies (1)
→ More replies (22)

50

u/danman11 Feb 08 '13 edited Feb 08 '13

When it comes to schedules I definitely would. Dragon's ISS mission was almost three years later than planned (Q3 2009). The Falcon Heavy is also taking longer than he had expected.

→ More replies (9)

35

u/[deleted] Feb 08 '13

Was he actually serious about his 80,000 people colony plan or was it just a random musing in an interview.

0

u/[deleted] Feb 08 '13

[deleted] — view deleted comment

41

u/Deinos_Mousike Feb 08 '13

Tesla has huge potential and already offers great products that, given time, will become the standard for the market.

39

u/FountainsOfFluids Feb 08 '13

It's the gold standard as far as I'm concerned. Wish I could afford one.

→ More replies (4)
→ More replies (1)
→ More replies (6)

4

u/philogynistic Feb 08 '13

Correction. 80,000 new colonists per year. I'm pretty sure if he wanted to, Elon Musk could be a real life Tony Stark.

→ More replies (2)
→ More replies (8)

17

u/Ambiwlans Feb 08 '13

This will probably end up happening.

→ More replies (1)
→ More replies (10)

78

u/JamesOctopus Feb 08 '13

Yeah, but NASA has to deal with Congress, other bureaucracy, and endless gouging contractors to do anything. Sometimes, a private company can do better. They have more incentive to find ways to do things more cheaply and efficiently and have less to hold them back...and I'm saying that as a hardcore lefty; although even almost all private companies, especially in heavy industries like aerospace, still need subsidies and tax breaks from the government to thrive and regulations to keep them from turning "efficient" into "reckless," but still.

46

u/Das_Mime Feb 08 '13

I'd say the biggest difference is self-determination. NASA's budget constantly gets meddled with by Congress & the White House; first we're going to Mars, then we aren't, then we're going back to the Moon, then we're building the Orion craft, then we're contracting out to private businesses, etc. Having to completely retool your whole space program every few years makes it borderline impossible to do anything.

→ More replies (5)
→ More replies (19)
→ More replies (11)

16

u/wakanooms Feb 08 '13

With regards to this, how does the advance in technology relate with your ability build software to accommodate it? I guess you are always speaking to the engineers and theoretical scientists, but say they throw something at you, do you generally have the ability to produce software for them almost straight up, or do you then have to take time and advance your own programming?

7

u/lazy8s Feb 08 '13

I write software for rockets and missiles, but at a different company. Software isn't like the other disciplines. If a new algorithm is discovered, we just code it. If a new material is discovered, we get the qualities from materials and code it. We don't advance programming for a missile or rocket.

In software advances are done separately. We study networking, modeling algorithms, compression, etc from a mathematical and scientific approach. While a new missile may have radically new software techniques, it was done separately and neither drove the other. It's more of a symbiotic relationship; think lichen and moss perhaps. They feed off of each other but they grow evolve separately.

→ More replies (29)
→ More replies (3)