Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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.


Would like to know more about the differences.

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..." :)


"Would like to know more about the differences."

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.

[1] http://en.wikipedia.org/wiki/Embedded_system

[2] http://en.wikipedia.org/wiki/Real-time_computing


Does software for remote monitoring of operating parameters really share nothing in common with a high-performance web app?


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.


If you wnat to learn how far one could go for safe programming (computers) check out this presentation (from a german hacker Congress)

http://media.koeln.ccc.de/browse/congress/2010/27c3-4123-en-...


> But you guys are really ENGINEERS, and doing something with massive value.

Now you know the pain of legit engineers who share their title with Java cargo-culters and Rails bros.


What's a good standard to aim for, for those people who don't wish to be counted among boilerplate hacks and beer-swilling hipsters?

Learn algos really well, I guess? Hack on C/C++?


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.


A robotics friend of mine went to SpaceX a couple years ago. I understand he's working in computer vision for autonomous docking.


"To conform to US Government space technology export regulations, SpaceX hires only US citizens and US Permanent Residents."

Too bad...


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...


Oh, that does suck. And I even have a degree in aerospace engineering, though I'm a Ruby web monkey these days.


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.


Are you hiring SysAdmins? Just asking... ;-)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: