Tag: engineering

Why I think the cost of manned space flight is justified

There is a lot of controversy over whether the money we spend on manned space flight is worth it, with many opponents of it claiming that that money would be better spent on social programs or other things.

Those in favor of funding space flight most often tout the scientific benefits of the space program as its justification. Problem is, it’s a weak argument. From a short-sighted economic standpoint, the science potential doesn’t justify the cost of human space flight, by any reasonable definition (especially since a very big chunk of that science can be accomplished remotely via robots). Some would even say unmanned space flight doesn’t justify the cost.

Of course, one can always argue that this is more than an economic issue (which is valid but lost on a lot of people), or that the science will ultimately pay dividends long term, even if we don’t live to see it. But it would be missing out on a much better argument:

The most immediate and tangible benefit of the space program is not science, but engineering.

There’s an old riddle that goes something like this: What’s the difference between science and engineering? Science costs money, engineering makes money.

Well, in the space program that isn’t true.

Unlike science, engineering is very much goal oriented. Generally, that goal is to make money. And, in the process of engineering so that we can make money, we learn a lot about how to make things better (i.e., safer, more efficient, more reliable, etc.).

But the thing is, when you’re trying to make money, there’s only so much risk you’re willing to take, and therefore, there are only so many goals you’re willing to aim for. But, when you decide to put humans into space at a cost, you create engineering goals that never could have been created simply from people seeking to make a profit. And, in striving to meet those goals, we learn things we wouldn’t learn otherwise.

To me, the engineering benefits justify the money we spend on space flight. I think we should spend more.

I’m not just talking about the Tempurpedic mattress, either. Thanks to the space program, airplane and cars are safer and more fuel efficient. Computers are faster. Many products are cheaper.

And what about all those homeless people we should be feeding instead? The engineering advances we make to achieve space flight could make it more feasible to feed those homeless people. (Not saying it has or will, but could.)

Why Software Engineering is not Engineering in the classical sense

I recently had some odd experiences with some software engineering firms that made me realize, poignantly, how different software engineering is from engineering in the classical sense (that is, mechanical, civil, elecrtrical, etc.).

(I’m not going to play word politics here and say that software engineers are not engineers [1]. Software engineers can call themselves whatever they want, as far as I’m concerned. But regardless of what you call it, software engineering is not in the same job as mechanical, civil, electrical, etc., engineering.)

Anyways, I recently interviewed for two software positions, one of which I was extremely qualified for technically, the other borderline qualified [2]. I was quite surprised to be rejected for both positions, not because of any lack of technical merit, but apparently because I didn’t seem excited enough about the job. Even for the job I was only borderline qualified for, my interviewer’s main objection was that he couldn’t see any “passion”. Coming from a background in engineering in the classical sense, it was inconceivable to me that it would even be a factor.

Now, I know for a fact that, at least in aerospace, many engineers walk around all day with about as much passion as a block of wood, and yet do their jobs just fine. I was one of them myself. But, apparently, software engineering is different. “Passion” or “excitement” is a common requirement for software engineering jobs (that is, unless you work for Microsoft, which is well known to be one of the most emotionless companies there is).

But is outward passion really necessary to do the job? At first glance, it seems that if aerospace engineers can do their job without passion, software engineers should be able to, too.

But first glances can be deceiving.

Compare the subject matter of the two fields. Computer programming has a subtle human warmth to it that classical engineering tasks (say, control theory or truss analysis) lack. There’s a level of expressiveness in writing software that is utterly absent in truss analysis, and I believe that this expressiveness attracts passion. In other words, software engineering is inherently passionate. In this respect, it is a lot closer to architecture than engineering.

Whether passion is actually necessary or even helpful for software engineering is not so certain. Personally, I doubt it. Regardless, the fact that software engineering can even generate passion demonstrates what aa different beast it is. Though classical engineering and software engineering are both technical fields, the expressiveness of software leads to crucial differences between the two.

Bottom line is: Engineers in the classical sense don’t get excited. Software engineers do. Therefore, software engineers aren’t engineers in the classical sense.

[1] Besides, if I wanted to do that, there’s a better argument: software engineers are not eligible to receive an engineering licence from any state.

[2] The job seemed to entail having detailed knowledge of arcane aspects of C++; totally not my thing.

Frontier Theme