Exactly this is stooping incredibly low. Here's a different story: A king called an electrical engineer and a computer scientist together and gave them a task best suited to an electrical engineer (something which the computer scientist very well realized). He then tried to execute the computer scientist for the inferior design. But the computer scientist ran away and started a search engine and provided people with cryptography. These helped in getting information to the people who realized that being ruled by a king who executes people is stupid so they overthrew him and built a democracy of entrepreneurs where engineers and computer scientists worked together on cool products for the mutual gain of all. It was a vibrant society with free speech, which unfortunately meant there were a lot of stupid Internet trolls who had to be ignored. Luckily computer scientists designed systems of information aggregation where the trolls could be downvoted from serious forums of discussion. Unfortunately those left without the power to downvote had to try to find amusing ways to get other people to do it.
Hold on a minute - that isn't fair. I am an Elec Eng who works in CS. Had to go back and learn stuff (who doesn't). And I can't blame the king for executing a CS for bad inheritance based OO design.
We (CS or SE) do tend to do things more complicated than they should be. This has been recognized by many. There is a very interesting article (I think by Martin Fowler, but I can't find it ) about why you can make any aspect of software flexible. But you can't make every aspect flexible. Making one aspect flexible has the cost of increasing the complexity of the software; making every aspect flexible increases the complexity to the point where the software cannot be changed any more.
There is also the YAGNI principle, which is clearly broken by the CS engineer on the king's story. http://en.wikipedia.org/wiki/You_aint_gonna_need_it