4 ms·
" A good carpenter wants to build a solid house even if no one will ever see its frame. Ditto to an auto engineer at BMW, or a hardware engineer at Apple, or a
by DannyBee 10y ago
" A good carpenter wants to build a solid house even if no one will ever see its frame. Ditto to an auto engineer at BMW, or a hardware engineer at Apple, or a mechanical engineer at Boeing.
Why do software engineers break this mold? "
They don't, but a good carpenter is not going to try to figure out how to make every single wall perfectly 90 degrees, etc.
He's going to take a level, see if the thing is in a center for a given stud, make that work, and then move on.
They never perfect the end result.
None of the walls in your house are likely perfectly square and plumb
They also use imperfect building materials, and so they know that a year from now, even if it was square, it wouldn't be anymore.
Carpenters, more than anyone, are true believers in "good enough".
I'd argue most of your other examples are the same.
That said, the problem she complains about is real. She is, in essence, a programmer from 30-40 years ago.
When you had to share time on computers, and your software broke, you didn't just poke it repeatedly until it worked, because you couldn't.
Instead, you sat on a mountain and meditated upon your code, until you understood it well enough to fix the problem and try again.
In that sense, the thing that has really changed is not the cost, it's the speed at which you can throw shit at the wall.
Development is so fast nowadays that programmers don't stop to think about the real underlying problem, they just want to make the compiler shut up or the program keep going.
They just want to solve whatever their immediate problem is.
The cost incentive was always there. People always wanted good software as fast as it could be built. It was the speed of being able to build it that made people concerned with quality.
Now that they can essentially build it at light speed, nobody cares, because it's only how it seems to work that matters.
IE doing things the wrong way to achieve the result people want is fine, even if it causes longer term problems.
You can see this in pretty much any long-running (IE 15+ year) open source project.
- rokhayakebe 10y agoInstead, you sat on a mountain and meditated upon your code, until you understood it well enough to fix the problem and try again. :)
- user5994461 10y agoAnd it was the most productive time of your life. Never, at any point in your meditation or mountain ascension, did you introduce a single bug or provoked any issue to any user =)
- matt_wulfeck 10y agoAnd the snow-white sheet of paper did remain pure and chaste for ever -- pure and chaste -- and empty.
- user5994461 10y agoSuccessful SaaS software have the property to accumulate more cash for every minute they're online & working, they can do pure and chaste AND profitable. That's where the difference between software and the snow white stops :p
- DannyBee 10y agoEven though you are being sarcastic, certainly you realize things like defensive programming were much more heavily used in such environments. So yeah, it was entirely possible they didn't introduce more bugs. Now people just expect to crash often and make it up in volume. They can of course, which is precisely the problem the original author has: in a ton of contexts, fast and able to hack up things is more sellable than understanding problems. (and FWIW, i actually haven't thought hard enough about it to have an opinion whether the current status is better or worse, i'm just explaining why it's not necessarily about cost to develop).