I've been on the Flight Software team at SpaceX for a little over three years. It feels a lot like a startup. The team is still relatively small and people are pretty passionate about what they are working on. The project variety is wide as well. Personally, I've gotten to work on low-level drivers and OS stuff, application code that runs on the vehicles and ground systems, Dragon's fault-tolerant platform, internal web-based tools, and operations in Mission Control during the Dragon missions. Can't really give details about any of this stuff but I do love working here.
There was an AMA with several of the software teams a little while back:
There are several openings right now for software engineers, including people with web experience (people usually don't think we're looking for those skills):
Hey! Can you spare some career advice for an aspiring aero engineer that wants to work on the software side of the rocket? If you could share what you would consider is a good path to follow to get to where you are right now, I would really appreciate it. I am a programmer at heart but even that could not pull me away from my love of space ;) so I decided to study aerospace engineering first.
It's hard to say what works best since we have so many different backgrounds on the team. I think having an interesting portfolio of projects (professional or side / hobby type stuff) is important - make sure you've done some awesome stuff that you can map onto what you might do here. Also, hone your communication skills. A big part of success at SpaceX is being able to work with others in a team and quickly get ideas across. Getting an internship is definitely a good way to go - we usually give interns pretty meaty projects that are a good taste of what full-time work might be like. Good luck!
Thanks! I am already working on some robotics projects for both personal and university research purposes. I am trying to build a strong portfolio, just like you advice, and trying to figure out exactly what fits me best. Once again, thanks for your advice!
My recommendation would be to consider adding CS as minor or double major. Then try and get some internship and/or on campus lab experience doing software or robotics work (robotics software is pretty close to flight software). Another great way to get experience is to get involved with extra-curricular group doing some kind of robotic or aerospace challenge. Think DARPA grand challenge, NASA Sample Return Robot challenge, or one of AUVSI's robotics competitions.
Would you guys consider remote work? I would love to work for SpaceX but I can't really justify uprooting my family and moving to the other side of the world for it :-\