How often does a boss/client tell you they have a good sense of how long something should take because they “took some programming in school”. I can’t tell you all the times I’ve picked up a train wreck project written by someone who “knew enough to be dangerous”. Being good with a computer or taking a Java course in college does not make one a programmer.

Yossi Kreinin has a more thoughtful rant in his article:

When something useful can not be done quickly and isn’t the average person’s idea of fun, it becomes the business of professionals - or hardcore hobbyists indistinguishable from professionals.

In my experience most non-programmers don’t have the perseverance to really understand something when things get tough. They’re more interested in the end result than the process. All of the good programmers I know enjoy the process just as much as the end result.