Hacker News new | past | comments | ask | show | jobs | submit login

It's a pursuasive and fun article and feels convincing, because that's just how Joel writes. But it's kind of funny to imagine the same arguments in any field but software. "We could have optimized and improved the car's design, but you would have had to wait two more months and that cost would have been perceptible. Anyway gas has gotten cheaper, so in 'real' terms the car is 'more' efficient! Fretting about elegant car engineering seems like more of a mental health problem." Not saying Joel is necessarily wrong, but it would be nice if software design had some sense of craft....



Perhaps, but the engineering of physical goods is a poor analogy to software, considering the relative ease of changing things in software if you decide they aren't working.


(Also to bdhess) just a note that I'm not trying to say the right thing for a car is also the right thing for software, just that the contrast between the design philosophies is funny (haha and/or peculiar).


To be fair, you did argue that it would be nice if software engineers showed "craft," which suggests that you think the way software is done is the wrong way.


I don't think there actually is a contrast in philosophies. The philosophies are the same for each: do a cost/benefit analysis, and then go with whatever makes the most money.

It just happens that the cost of fixing an automotive defect (i.e., with a recall) is generally way higher than the cost of fixing a software defect (i.e., by shipping an update). So the automotive industry invests more heavily in eliminating defects.


Certainly the philosophy when you're developing software for medical devices or rockets is more rigorous and careful, but the speed would be pretty much unacceptable for, say, Facebook.


Yes. And there's the inherent problem in arguing with analogies.

Here's another analogy:

"This car seats twice as many people, and accelerates twice as fast, but sadly will require twice as much motor oil when it's time for an oil change. We could have optimized and improved the car's design, but you would have had to wait two more months and it would've added $10,000 to the unit cost. It would've been madness to do."

We could sit here all day arguing about which analogy captures the actual situation correctly, or we could just talk about the actual situation.


> "We could have optimized and improved the car's design, but you would have had to wait two more months and that cost would have been perceptible. Anyway gas has gotten cheaper, so in 'real' terms the car is 'more' efficient!

If gas did get cheaper as fast as memory and storage, that would be a correct argument.

> Not saying Joel is necessarily wrong, but it would be nice if software design had some sense of craft....

I'd actually say the opposite: too much sense of craft is the problem with a lot of software development these days.


Interesting analogy, given that this attitude is pretty reflective of the industry as a whole. US manufacturers lobby against fuel efficiency regulations, and stonewall any newcomers to the industry. European manufacturers fraudulently subvert efficiency requirements to make the product seem more efficient than it really is. Presumably some of those resources could have been devoted to actual engineering...




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: