If programmers built buildings...

There is a widely circulated quote, attributed to computer scientist Gerald Weinberg, which goes like this:

If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization.

And while it's witty, and funny, and frankly not far from the truth, it leaves out a very important detail: programmers generally don't code for themselves. They do what the person with the money asks them to. And the sad truth is, most people still think computer are magic. So if you wanted to be fair you'd have to modify the quote a little.

If builders were asked to build buildings the way programmers are asked to write programs...

...every single building in the world would be BIG. Think the Burj Khalifa, the Palace of Versailles, the Strip in Las Vegas, that kind of scale. With a good deal of diplomacy, you might be able to convince the customer that a 15-bedroom mansion is actually big enough for a family of four (plus dog). Except they would expect it to cost no more than a little farmhouse. After all, it's not a serious building, is it?

...the requirements would change repeatedly halfway through the construction work, causing most of what was built so far to be torn down and remade. Naturally, the customer would still expect everything to be done on time and within the original budget.

...the customer would never visit the construction site during the multi-year span of the project. When they finally do, they would pick on all kinds of little details that aren't to their liking, even though every single one is on the blueprints they signed. They would not, however, be able to find their way to the bathroom (despite the large friendly signs pointing that way), and once there wouldn't know how to use it (despite every single bathroom in the world working more or less the same way).

But somehow the builder would still be blamed for everything.

Don't get me wrong. Our noble profession has its share of newbies and incompetents, and skyrocketing computing power has indeed encouraged wastefulness. But most programmers actually love their work, and take pride in it. Left to their own devices (see free and open source software), they write code that is statistically much better than the industry average.

And when they do, people complain it doesn't have enough features... or bling... and for that matter doesn't hold their hand nearly enough. So they write plain memos with enormously complex office suites, which could be used to typeset fancy magazines. Then they wonder why their latest and greatest computer is so slow and buggy.

Now you probably know the answer. What was your goal again?