Wednesday, September 9, 2009
For several years we've had a Drinkwell “Big Dog” fountain. All of our indoor animals took to it immediately, and we've generally been very happy with it. However, it had one downside that caused me to go looking for something better: it needed regular and onerous cleaning. The entire unit had to be disassembled, cleaned in steamy hot water, and reassembled – usually a couple times a week. Less often (perhaps once a month), some mechanical abrasion was needed to scrape off the accumulated scale left by water evaporating from all the exposed surfaces where it had splashed.
Come to think of it, the message on this sign is kind of implicit in the area where I live. Nearly everyone who lives near us (including us) owns firearms and knows how to use them.
I think the burglars understand this. There's very little crime where we live...
The issue arises, I think, from a simple fact: many people have utterly no understanding of how a computer works. To them, a computer is essentially magic – and the software developers are akin to wizards with limited social skills. Most other engineering professions don't have this attribute, or at least not with the purity that software development has. For instance, when a civil engineer designs a bridge, anybody can understand the process, even if they don't understand the math. They know roughly what a civil engineer does. For software engineering, however, most people haven't a clue what happens between the idea and the finished product – not even in their imagination.
This is the disconnect that Neil writes about. Imagine that an architect had to work with the same level of disconnect with his customers. Here's part of what they might hear:
The “I believe...” clause in the last sentence above particularly resonated with me. Two jobs ago, when I worked for a CEO who was a stock trading expert but knew utterly nothing about software, I used to hear variants on this several times a day...
Please don’t bother me with small details right now. Your job is to develop the overall plans for the house: get the big picture. At this time, for example, it is not appropriate to be choosing the color of the carpet.
However, keep in mind that my wife likes blue.
Also, do not worry at this time about acquiring the resources to build the house itself. Your first priority is to develop detailed plans and specifications. Once I approve these plans, however, I would expect the house to be under roof within 48 hours.
While you are designing this house specifically for me, keep in mind that sooner or later I will have to sell it to someone else. It
therefore should have appeal to a wide variety of potential buyers. Please make sure before you finalize the plans that there is a consensus of the population in my area that they like the features this house has. I advise you to run up and look at my neighbor’s house he constructed last year. We like it a great deal. It has many features that we would also like in our new home, particularly the 75-foot swimming pool. With careful engineering, I believe that you can design this into our new house without impacting the final cost.
Read the whole thing!