Many programmers seem to come up with overly complicated solutions to problems. Sometimes this is due to inexperience, and not knowing that there is an easier way of doing things. Far more sinister though is the intelligent programmer who over-engineers a solution.

Programmers often forget that often the best solution is also the simplest.

Now don’t get me wrong. There is often a need to create a complicated solution when that is required, and often a slightly more complicated solution is more versatile in terms of reusability, but this is the real world we live in. There are deadlines, budgetary and staff constraints on most projects, and in light of that, the simplest solution that does the job well should be the winner.

The principle of all of this though is, rather a product that does the job and ships, than a complicated product that promises a lot, but never ends up on the market.

Share