I've been an avionics intern at SpaceX for the past two years, and I can tell you for sure that if anyone is gonna take humans to Mars it will be SpaceX. The same goes for propulsive landing of a rocket for reusability: http://www.spacex.com/multimedia/videos.php?id=0&cat=rec...
Everything at SpaceX is designed with reusability in mind, and every system is highly redundant. And to top it off, they have some of the best, most talented, and most experienced engineers out there.
With all that said, the reason why SpaceX will succeed is their culture. Most of the company's employees are young and highly motivated (including myself I guess). When I started my work at SpaceX, one of the engineers told me to prepare to shed some blood and tears as well as prepare for the most stressful yet rewarding work of your life. He was right. There were times where I did not go home for 4 days straight (this was not recommended). They did not asked me to do this. I just wanted to do it. The thing that is cool about SpaceX is that you will do REAL work on you first day, and you will have a significant impact right away. Even if you are an intern.
I know a lot people on Hacker News are essentially web programmers (Me too actually. Django FTW). If you guys are looking for a job, they are always hiring. One way to get hired is to start out as an intern (if you are at an intern stage in your life). If you want to actually program the rocket, and got some ROCK SOLID C++ programming skills, then you are exactly what SpaceX wants. So please apply. Space exploration is hands down one of the important pursuits we can have as civilization, so the best need to work on this challenge in my view.
Let me tell you, there is no feeling to see something that you designed and built actually entered outer space. I can't describe it. You just have to experience it for yourself. So if you're bored on your current job, look into SpaceX. Plus having Elon Musk as a boss is pretty bad ass. The guys is simply defines legitness!
Now this is interesting. When I read about awesome brogrammers working on the next hip web app with a cutesy hipster name, my eyes glaze over. But you guys are really ENGINEERS, and doing something with massive value.
I am a bit surprised that coders can actually get a job at such a place, I would have thought you only hired like aerodynamic physics professors or whatever. Maybe you could go into more detail about what you do at work and what kind of people get hired? :)
Software has a huge presence in aerospace! But, programming an avionics system (or even less important support systems) is nothing like building a web application.
Maybe we can start a new meme. Whenever someone talks about their super-duper awesome social ajaxy photo-sharing app, we can snarkily respond "well, it isn't exactly rocket programming..." :)
Avionics software development is primarily concerned with software that is designed and developed to operate in an embedded system [1]. There is also a focus on real-time performance [2] with regard to the software's operation and integration in such an environment.
The target language may be C, C++ or assembly language, although other languages are used.
Depending on the application, an on-board front-end may or may not be utilized. For example, an unmanned rocket would not contain a front-end; rather, operating parameters would be monitored remotely.
On the other hand, a modern, manned aircraft or spacecraft instrument panel would provide electronic displays and controls necessary for communicating system status to the pilot(s), as well as for accepting input from the pilot(s) for operation and flight.
The software process that develops the applications are very different. An avionics system must be able to operate autonomously, must have robust fault detection and tolerance, and must interact directly with many hardware components.
Web apps tend to layer on top of other systems and can reuse a lot of code. When I worked on avionics software we had to develop everything, from the hardware drivers for memory modules to the drivers for the display and all of the controlling systems for each of them. A high-performance web app just needs to perform well enough - at some point you can add more hardware. In an avionics platform you have specific weight, cooling, and power requirements that limit your total hardware capability. They are really very different.
A good analogy would be the difference between being a brief writer for a law firm and being a fiction author - you have "writing" in common (hopefully "good writing" at that) but the intricacies of each domain make it appreciably different.
Web application programming relies on a plethora of "soft" technologies (xhtml/html5, css, javascript, sql/nosql, php/python/ruby/perl, frameworks for all of it, a lot of 3rd part libraries outside of the frameworks, etc...) - embedded programming is much more low level in comparison and comes with many different kinds of problems.
In my mind, it's not so much the knowledge or tools that separates the two groups as it is the process. Do you have a thorough assessment/validation system? Do you consciously know what the risks and possible failure modes in your systems are? What are the fallback systems, and have you formally thought of what should and will happen when those fail? Is your code reviewed by someone other than its author? Is your code maintainable and understandable for others? What records from construction and production are you keeping and why?
You can do engineering in basic VBScript and you can do hacks in horrible but algorithmically amazing C++.
A lot of this effort doesn't make sense in a casual web environment. If you're building an app with ads aiming to flip in a couple of years - or even to run it as lifestyle - you might not be very troubled when one of your features has a glitch and you don't necessarily have to have planned for HE.net going down or looked for Django exploits. There isn't anything necessarily wrong with that, it's just not engineering.
This is an amazing and inspirational pursuit, but someone has to come out and defend web development here. Yeah, it may not take an exorbitant amount of resources or talent to get started with web dev, but certainly amazing value has been created within companies like Google and within the aggregate of the web. This draws directly from this low barrier to entry. If it were as easy and lucrative to start a rocket business, we'd have lots of crappy rocket engineering but we'd also be a lot further towards colonizing other planets.
My words exactly. Would have a lot of pre-work to do.
As an odd coincidence, I have Von Braun's (Ley's and Bonestel's too) "The Exploration of Mars" right in front of me as I type. I have it since I was a kid.
I agree.. I'd love to work for SpaceX but even though I have my Canadian security clearances, and an eligible for a TN permit (mechanical/aerospace engineering) with 5 years experience I can't apply. Same for Scaled Composites...
And yet their competitor, the Atlas rocket - uses a Russian engine ?
So it's apparently OK for strategic US rockets used to launch military payloads, to use Russian engines but not for a private company to employ Canadians.
And prices are expected to rise significantly in the next few years, according to defense department officials. Why? Musk says a lot of the answer is in the government’s traditional “cost-plus” contracting system, which ensures that manufacturers make a profit even if they exceed their advertised prices. “If you were sitting at a n executive meeting at Boeing and Lockheed and you came up with some brilliant idea to reduce the cost of Atlas or Delta, you’d be fired,” he says. “Because you’ve got to go report to your shareholders why you made less money. So their incentive is to maximize the cost of a vehicle, right up to the threshold of cancellation.”
I can't help but think of all the other places where that kind of system operates and makes costs much higher than they should be... How much better would the world be if fewer resources were wasted thus?
My family has been involved in both mining and construction at various times past and present so I've seen a couple of areas where "cost plus" pricing is used.
Generally speaking, it's a recipe for the provider to stick their snout in the trough as far as it will go. There is absolutely no incentive to lower costs or improve efficiencies. It does indeed become a game of brinkmanship between maximizing costs (profits) and cancellation.
I have seen it used in construction to mitigate risk. One example springs to mind. A particularly wealthy but eccentric individual wanted to build a lavish home. He was notorious for changing his mind, adding to the project and so on. The only way the company in question would touch the construction contract was on a "cost plus" basis.
Whenever you do this you basically have to trust the provider to a certain extent and it only really works if they trade on reputation and a hit to their reputation actually matters (often it doesn't).
>There is absolutely no incentive to lower costs or improve efficiencies.
This is almost never true with cost-plus contracts. There are normally all sorts of incentives and written into the contract. For example, bonuses might be paid if particular milestones are achieved ahead of schedule, or if certain costs come in below estimates. Also, there are usually limits on reimbursement (typically at the level of components rather than the entire project).
If used properly, these incentives and restrictions make it in the contractor's best interest to control costs. I've never seen them used perfectly, but they're often used reasonably well. I've also seen incentives that were designed so poorly that the contractor just ignored them because they weren't worth the effort to try and earn.
I think the main problem is that cost-plus pricing is often used in circumstances where it is not appropriate. Cost-plus should generally be used only for high-risk projects.
It's not just hypothetical -- Robert Zubrin describes exactly that scenario when he was an engineer at Lockheed and had to watch his inventions shelved because they would have undercut the costs of the existing launch technology, which prompted him to quit and start his own company. (See his outstanding book "Entering Space: Creating a Spacefaring Civilization".)
If you were asked to bid on a contract to build the space shuttle, with conflicting and changing requirements from the NSA, Air Force and Nasa, with no guarantee on how many they will buy and no ability to sell to any other customer - you woudn't agree to a fixed price contract!
Especially when it would take years and billions of $ to even estimate what the cost to build it would be.
I don't know why this is getting downvoted. This is pretty much exactly why the government (mostly DOD) uses cost-plus in some cases.
The pendulum in government acquisitions tends to swing along multiple axis: sometimes the trend is towards the government do the integration itself, sometimes the trend is towards contracting out the integration to a prime contractor; sometimes the trend is towards cost-plus, sometimes the trend is towards firm-fixed price. Even though one way of doing things might be more popular at any given time, the other options are always considered and often used.
The choice of reimbursement structure (which is not just binary "cost-plus" or "fixed-price," but rather an entire continuum) is based on risk projections. If you insist on fixed price for a very risky project, contractors will bake that risk into their bids, pricing everything for the worst-case scenario. If you don't get the worst-case scenario, you'll still end up paying for it, in which case you would have been better off under a cost-plus contract. Conversely, if you pick the lowest bidder and they didn't bid conservatively enough, and then you do get the worst case scenario, they might very well run out of money, in which case you have a choice of either granting them more money or cancelling the project and eating the sunk costs when the contractor collapses. So, for high-risk projects, cost-plus is generally the best way to go.
I think that the swinging of the pendulum is due in part to a succession of over-corrections: "We used cost-plus too much and contractors wasted money! Lets use fixed-price as much as possible from now on!" Followed by "We used fixed-price too much and ended up paying too much on most contracts! Lets use cost-plus as much as possible from now on!" and then back the other way. However, I think that it's also driven by cycles of technological development: a lot of technology tends to go through phases where one generation of equipment really pushes the edge of what's feasible, and then the next generation mostly just matures and refines the technology used in the previous generation (e.g. Windows Vista and Windows 7). During those "pushing the edge" phases, risk is higher and so cost-plus gets used more; during the "mature and refine" phases, risk is lower and so fixed-price gets used more.
The only way out is to be crazy enough to build it and then sell it to the government. Risk is increased because you can't sell it any foreign one if your local one decides to make their own.
Then hope that the senator for <different state> doesn't block the purchase unless you agree to build it in their state. There is a reason that Nasa has facilities in 50states and it's not just for the airmiles
Talking about a city on Mars by the middle of this century—even as SpaceX has yet to fly its first cargo mission to Earth orbit—is one of the reasons space professionals are skeptical about Musk’s claims.
And yet, it's this kind of completely unrealistic goals that really pushes things forward. Even if SpaceX only gets... dunno, 25% of the way to that goal, chances are they'll have accomplished more than anyone else is trying.
NASA is about to launch a 1 ton rover on mars and even if the mission in a compleat failure they have already sent enough stuff to the Mars that we know a lot about the planet's geology, history, chemistry, and have a fairly high resolution imaging of the entire surface. The only meaningful step after this is a self sustaining colony on Mars that can exist without supply's from earth. Everything else IMO is just showmanship.
PS: Yea I know a solid manufacturing base plus 5+ million people might seem like several steps away, but until that happens we don't have meaningful levels of redundancy, just an outpost that would take a while to die off. (bad vacation) http://verydemotivational.memebase.com/2010/10/22/demotivati...
I think this is an answer to people who are "too smart to succeed" because they optimize the product only. It's just a matter of optimizing across domains, (e.g. trade-off cost and performance), which takes a certain adaptability and flexibility of mind. It's a kind of lateral intelligence and reframing which is useful in solving everything but textbook problems.
> Simplicity enables both reliability and low cost.
“It’s very common to do component and system-level testing…. That’s very typical in aerospace, ” says Alan Lindenmoyer of Houston’s Johnson Space Center, who has been working with SpaceX since 2005 as manager of the agency’s Commercial Crew and Cargo program. “But to actually put a vehicle together and do system-level testing of the rocket is not. That’s a level of rigor you don’t typically see.”
So they do unit and integration tests? Sounds thorough...
As part of their testing they actually pass a stainless steel nut through the kerosene and liquid oxygen lines into the engine while it's firing, something that would make almost any other rocket engine explode. It sounds like to say they do more thorough testing than their competitors is an understatement.
In other words it's the sort of testing a commercial aircraft engine maker would do - not what nasa would do.
The engines on your 777 are designed so that a 6ft long fan blade moving faster than the speed of sound can break off and not go through the engine cowling and into your lap. They blow up $30M engines in testing to prove this
> In other words it's the sort of testing a commercial aircraft engine maker would do - not what nasa would do.
I think that's a very good way to put it: nasa gets rockets built so they work, all of their engineering is built so it's as perfect as can be from the start. It's a huge cost, but it allows them not to blow up rockets in testing. SpaceX sees that as spaceworthy aircraft-building, they drive up-front costs lower by not focusing as much on design reliability and instead blow up engine to test how they behave.
This would be true if rockets actually never exploded. But it seems to me they actually do, and that's why it's useful to test very unfortunate scenarios as well. It's not like they design jet engines' blades to come loose and cause destruction, but they - or some aviation authority - have decided that the engines should not explode even in a case of blade separation. I find it a lot more comforting to know jet engine is tested to not explode in such situation than I would if I was told jet engines are designed perfect. Because perfection is not something engineering can achieve, only extremely small probabilities of failure.
I think the difference there is that when a 747 engine explodes, there are three other engines and the plane may well still be landable. When a Space Shuttle engine explodes, everybody is almost certainly dead and the Shuttle crashes.
I'm saying that pragmatically, unrecoverable errors don't need testing, and NASA's class of possible unrecoverable errors is much wider than any airline's. The fact that SpaceX feels the need to test so rigorously is a good sign about what they want to be "recoverable" and therefore about how safe their hardware is intended to be.
A lot more rocket failures are recoverable than you might think, though.
Engines can fail in many ways that don't destroy everything. Apollo 13 nearly became famous for exploding on launch due to massive resonant vibration, but a premature shutdown of the affected engine saved it. (Oddly, that shutdown was due to a mistaken fuel level reading, not the vibrations directly, so the save was something of an accident.) At least one Shuttle launch experienced an engine failure/shutdown as well. These engines didn't explode, of course, but there's a whole range of failures and many can be planned for.
Even when the entire thing does explode, you can still save your crew if you've planned properly. A Soyuz capsule's escape system saved its crew when the rocket exploded in 1983.
It appears to me that NASA's approach is to prefer systems which can't fail over systems which can fail safely. On the surface, this seems better, but when your foolproof system still fails and you haven't built it to withstand that, then you're in serious trouble.
I don't think there's any inherent reason why shedding a turbine blade during a rocket launch has to destroy the entire vehicle. Designing the system to withstand that makes it heavier and not perform as well, of course, but it seems like an overemphasis on performance while disregarding nearly everything else has really hurt space technology.
The use of solid rocket boosters for human space flight (as was planned for Ares I) is hugely controversial because they can't just be shut down in the event of a problem, as regular engines can, making survivability more difficult.
On the topic of aircraft turbine failures, there's the interesting case of a DC-10 engine that disintegrated in flight due to a pilot experiment, killing a passenger. For details see: http://en.wikipedia.org/wiki/National_Airlines_Flight_27
Finally, if you're interested in SpaceX, NASA budgeting, and so forth, I recommend http://nasawatch.com
Actually I think Nasa's approach is to design as best they can - then have layers of management each add a a factor of 10 to the assumed level of safety until it's sufficiently safe.
In the Challenger accident the engineers estimated the chance of a fatal accident at 1:100 , the next level of management 1:1000 senior management at 1:10,000 and the official Nasa press release 1:300,000
Presumably by adding more levels of management they could have made it even safer!
I'm inspired by this man's dreams and the way he's striving for it, even though the end goal is decades off.
Musk makes no secret of the end goal: Create a new civilization on Mars. Speaking at the National Press Club in Washington, D.C., in September, he outlined the business plan—if that’s the right term for something that looks decades into the future. “If you can reduce the cost of moving to Mars to around the cost of a middle class home in California—maybe to around half a million dollars—then I think enough people would buy a ticket and move to Mars,” he said. “You obviously have to have quite an appetite for risk and adventure. But there are seven billion people on Earth now, and there’ll be probably eight billion by the midpoint of the century. So even if one in a million people decided to do that, that’s still eight thousand people. And I think probably more than one in a million people will decide to do that.”
The greatest point of the article: Patents have become bullshit.
Here is the quote:
They don’t even file patents, Musk says, because “we try not to provide a recipe by which China can copy us and we find our inventions coming right back at us.”
Watching the rocket re-use video, I realized that Elon Musk is not just building a space commerce empire, he's actually putting himself in a position where he could be the world's first true supervillain.
Not that I think that's what he's up to, but if he has a lair on Mars, and controls the galaxy's only fleet of interplanetary missiles.... he could ask for quite a ransom. The parallels to Ozymandias are a little scary.
As long ITAR exists, the rest of the world will eventually overshadow USA [0] for peaceful ventures into space. Also, SpaceX is competing against very entrenched corporations that resorts to many tactics [1]. For SpaceX to advance USA's space technology, they'd have to submit to military expensive contracts too, militarising space. I really wish I could support American space companies.
This article discusses how SpaceX seems to be able to get things done faster, for less expense, and with better performance, than any of its competitors -- partly because they care more about the end result of being able to send stuff and people into space and to Mars instead of just selling launches.
The Falcon 9 was designed from the beginning to be human-rated, meaning an increased focus on reliability. The rocket’s avionics and controls are triple-redundant (as will be some sensors in the human-rated version of the Atlas V), and the flight computers, which run on Linux, will “issue the right commands even if there’s severe damage to the system,” Musk says.
That's actually very weird. Wouldn't having an OS like Linux make it so you can't guarantee computation times and guarantee exactly when processes will start and end?
I don't really know much about OS's but I'd write control systems in a pure language compiled directly to machine code with no OS. That way you would have certain guarantees of execution and auditing the code would be significantly cheaper. I remember hearing that auditing code for satellites is outrageously expensive because most languages have side effects. So it's thousands and thousands of dollars per line of code to guarantee that it'll do what it says it will do regardless of execution path.
There are hard realtime patches to linux and have been since 2.4
I'd imagine that there would be some previously tested (say in aerospace) linux derivative that they'd be building off.
To be perfectly honest though, I don't know why they arn't using one of the few really good commercial hard real time unix kernels that you use for, say, UAV's and such.
I don't see the point of using something as complex as a unix kernel for an embedded real time system. There exists an open source RTOS with a lot of space flight history called RTEMS, www.rtems.org. That might be a good choice.
Also I'm not sure they actually are using Linux to control the rockets since that would pretty much make them impossible to qualify for human space travel (i.e. DO-178B qualification).
EDIT: Looking at their jobs site it seems they are using VxWorks. This is more reasonable ...
I agree it sounds weird at first. On second thought, whether or not it is so strange depends on one means by "flight computers". For example, for something like logging or pre-flight checks the exact timing would matter that much, and it would be convenient to have a full blown OS. When timing matters (e.g. flight control?), I imagine that one could set up controllers (with their own CPUs and straight to the metal programming of the sort you described) as devices that accept commands from and stream data to the primary flight computer. This is %100 speculation. I would be curious to know what kind of temporal precision is needed for rocket control, since if it is a sloppy enough process then all this worrying about timing it for nought.
I may be wrong, but my understanding is that custom control systems are used generally when you have physical restraints of some sort (limited memory, computational power) or require the speed.
I'd imagine for the purposes of SpaceX though, they don't have those restrictions and so they make huge gains by using an extremely well known "off-the-shelf" OS where they can easily source programmers. The fact that the OS is (relatively) well understood would also possibly mean it's easier to test.
All of which means that for minimal trade-off in reliability, they make large gains in development time and cost.
I love space and programming more than anything. This article just filled my head with a bajillion ideas and made me wonder why on earth I haven't thought before about chasing both in my career choices.
A very inspiring read, complete with such nice asides about how operating as a startup with a mission can get so much fun and work accomplished, and shows that serving the interests of shareholders and profits first can utterly derail accomplishing your mission.
It's interesting how they attribute so much of their success to Apollo program information. So much data must have been created during that program - I wonder how much of it is sitting on dusty shelves unused?
I've often wondered what type of improvements you could make if you built a Saturn V type rocket with modern technology and materials. It looks like we're probably going to find out over the next ten years.
Saturn 5 is lost technology. The build was split up over a bunch of different sub contractors. There's no central repository for plans. Some plans are lost forever; others are in basements or attics of various engineers. There was no single group of engineers who know how to put together a Saturn 5.
Yes; it's be cool to see old designs meet new methods. But it's also cool to see what modern materials and chemistry can do.
Also: NASA built a grand total of 18 Saturn V stacks. Then they shut down the production lines. With just 18 vehicles, completed years before the actual flight missions, each and every one of them was a prototype: the rocket engineers working on them had worked on multiple prototype missiles before, and a whole lot of snags and bugs were hand-patched on each vehicle. Even if we could magic up a complete set of designs and build new production lines based on them, we'd have lost a chunk of the hands-on knowledge of how to fix problems with the design (stuff that wasn't recorded by a process that predated ISO9000 and similar QA protocols).
Also, people tend to over-estimate the SV stack. As it happened, in its first iteration it was barely capable of the mission -- the LEM came in overweight, and only the fact that the SV out-performed its design specs by a couple of percent made the Block 1 lunar missions possible. (By Block 2 -- Apollo 15-17 -- they'd tweaked enough things that they could fly a heavier LEM with the lunar rover kit and additional supplies.)
In contrast, you might find Musk's plans for Falcon Heavy interesting:
16,000Kg to translunar injection, 14,000Kg to Mars. It's not up to flying an Apollo mission profile (the LEM weighed 14,700Kg; the CSM stack 30,300Kg) but it's capable of putting a LEM-sized payload into Lunar orbit, and it might be possible to rig up some kind of lunar-orbit rendezvous profile surface mission using 2-3 Falcon Heavy launches.
Of the 18 built, how many were fired (and presumably never recovered?) Obviously there is the one in the KSC Saturn building, but are there others lying around?
One thing I have noticed about NASA developments - the payload weights never seem to come down. I would have thought we could build a LEM with the same or greater functionality at a lower weight by now.
Keep in mind that even if you had precisely detailed plans for the entire thing from top to bottom, you still couldn't reasonably build one today, because the plans would be full of parts that are half a century obsolete. Just try sourcing the components for the guidance computer, for example.
I think that by the time you figure out how to replace all the obsolete parts with something more modern, it's easier to simply take the lessons learned and design a new rocket from scratch.
A friend of mine visited the Johnson Space Center with a friend of his who worked there a few years ago and got the behind the scenes tour. Lots of old simulators, test rigs, etc. Then they went into a huge wing of the center that used to be offices, but is now abandoned due to the lower staffing after Apollo ended.
The place was strewn with millions of pages of Apollo technical documentation, in total disarray. Years ago, they put all of these documents in binders and stacked them in the abandoned wing. Over time, people needed binders, and took them, leaving stacks of paper. Over the years, the ventilation system cycled on and off, the papers blew around, until now it's just a sea of random paper.
Clearly they are. They have shown what can be done when you take proven designs and techniques and skip the bureaucratic BS that is inherent in being a NASA, Boeing, etc.
Does anyone have any idea how to figure out what their "energy per Pound to orbit" is and how it might compare to their competition? Would be curious as their relative efficiencies.
It turns out that "relative efficiencies" from an energy standpoint is not the relevant consideration, by two or three orders of magnitude.
Fuel costs for launch vehicles are a negligible fraction of the total cost to fly. Musk is working the rest of the problem by simplifying the design, designing for manufacturability, using off-optimum technologies, building everything under one roof, and so on.
"On the flight home, he recalls, “I was trying to understand why rockets were so expensive. Obviously the lowest cost you can make anything for is the spot value of the material constituents. And that’s if you had a magic wand and could rearrange the atoms. So there’s just a question of how efficient you can be about getting the atoms from raw material state to rocket shape.”
If you are, like me, interested to learn more about Space X, watch Musk's AIAA 2011 Keynote. Q&A session covers a few interesting technical problems. He talks about costs, reusability, vertical launch, nuclear propulsion etc.
Also one point was very interesting: Musk doesn't see business potential in mining minerals from moon or Mars ("Earth has a lot of stuff in its crust and Earth is big"), but thinks that there are lot of people willing to move to space.
I really wish there was a good way for non-americans to contribute to SpaceX.
While their spare use of external suppliers seems to make sense, it makes it even harder to contribute. I find it sad that the potentially biggest undertaking of mankind is once again an USA only party - run by a foreigner (Musk).
Well at least everyone will be able to buy SpaceX shares once they have an IPO.
SpaceX claims to be able to manufacture cheaper than China while being more thorough than NASA, all the while developing and building their components in-house. I would love for all this to be true but would have to remain sceptical for the time being.
UPDATE: I'm posting this comment to address some of the questions you guys asked.
I'm actually an Computer Science guy stuck in the body of an Electrical Engineer. I mostly design hardware, however in my first year I did a good amount of highly optimized embedded systems programming. I wish I could go into more detail but that's against company policy.
However, my high school (the good old days) robotics mentors that also work at SpaceX are the top developers of the avionics software. What they mostly do is program the flight computer. Also the code that just brings every little sensor data together. Again I would really love to sit here and talk to you guys about the technical details, but I'm simply not allowed. So sorry for the broad sentences.
Regarding the type of people that get hired. As I said SpaceX hires the BEST. As an intern, KEN BOWERSOX, an amazing astronaut sat 2 desks away from me. I could have walked up to the guy at anytime and ask him how it was like in space. Look at this list of people running the company: http://www.spacex.com/company.php
After reading that you see how top notch these people are. The same goes for their employees.
SpaceX hires from everywhere, but it seems they are really into the stereotypical TOP engineering schools. It felt like everyone was from Stanford. A lot of people from University of Michigan, Carnegie Melon, and MIT. The company is in California, but it felt like that a huge chunk of the company was recruited from outside the state. Just go into the parking lot, and you can see license plates from every state (I saw one from Maine...long ass drive). There were few interns from the University of California system (like myself).
If you guys want to apply, I want to not just tell you all the good stuff. There is also the not so pretty side. Be prepared to give the job your everything. Specially if you are a young engineer because you mostly likely don't have any experience under your belt to make you an irreplaceable asset. Also people forget that SpaceX is a STARTUP. Yes they have 1500 employees. But this is not some little photo sharing iPhone app company (no offense guys, you really need stop with those). It's an aerospace startup, which means 1500 employees is pretty much a small amount of people. Also Elon Musk has this philosophy where a small amount of people can achieve BIG things. With that said they are hiring like crazy last time I checked (which was like 2 months ago).
Since it is a startup, job security is not good. Since the people they hire are very good, they mostly don't get fired. But at the same time the deadlines, and goals can sometimes seem like a fantasy. This sometimes leads to people getting fired. This happened a lot during my stay.
With all that said, from working at Jet Propulsion Lab, and now SpaceX my goal is turn my current graduate research into a startup. I've learned that I'm simply not the type of person that can work for others for the rest of my life. Graduating with an engineering degree and doing 9 to 5 stressful job will get old very fast. After my stay at SpaceX I already feel burned out (I worked on some high priority projects). However, I am really passionate about my current project (I can't stop thinking about it), and my goal is to turn that into a company. Unfortunately, I might have to say goodbye to SpaceX to pursue this dream.
Everything at SpaceX is designed with reusability in mind, and every system is highly redundant. And to top it off, they have some of the best, most talented, and most experienced engineers out there.
With all that said, the reason why SpaceX will succeed is their culture. Most of the company's employees are young and highly motivated (including myself I guess). When I started my work at SpaceX, one of the engineers told me to prepare to shed some blood and tears as well as prepare for the most stressful yet rewarding work of your life. He was right. There were times where I did not go home for 4 days straight (this was not recommended). They did not asked me to do this. I just wanted to do it. The thing that is cool about SpaceX is that you will do REAL work on you first day, and you will have a significant impact right away. Even if you are an intern.
I know a lot people on Hacker News are essentially web programmers (Me too actually. Django FTW). If you guys are looking for a job, they are always hiring. One way to get hired is to start out as an intern (if you are at an intern stage in your life). If you want to actually program the rocket, and got some ROCK SOLID C++ programming skills, then you are exactly what SpaceX wants. So please apply. Space exploration is hands down one of the important pursuits we can have as civilization, so the best need to work on this challenge in my view.
Let me tell you, there is no feeling to see something that you designed and built actually entered outer space. I can't describe it. You just have to experience it for yourself. So if you're bored on your current job, look into SpaceX. Plus having Elon Musk as a boss is pretty bad ass. The guys is simply defines legitness!