Why is it that when left to their own devices, and given more than one way to implement something, developers we will almost certainly undertake the most complicated?
By Angsuman Chakraborty, Gaea News NetworkMonday, November 1, 2004
An interesting question is posed by Simon (in trackback).
It is also true for many other professions.
To design simple solutions requires you to think more. The final solution may be simple but be assured that for every simple solution the developer had to reject several more complex solutions along the way. It is easy to fall into the habit of not thinking and start implementing first (keyboard happy developers), then think later to fix bugs. And the developer should be always ready to reject outright his much cherished( and debugged till the sun grew cold) solution at a moments notice (time & cost permitting) when he finds a simpler alternative. Why? because simple is often more robust and easier to maintain.
YOUR VIEW POINT