Not everything needs to be complicated! At this year's TED, Adam Savage, best known as part of the two-man team the fronts TV's MythBusters, reinforced this adage by highlighting examples of historic scientific discoveries that were made using straightforward concepts and approaches.
The talk, entitled "How Simple Ideas Lead to Scientific Discoveries", only goes for seven-and-a-half-minutes, but Savage has no trouble making his point. His examples include the measurement of the speed of light in the late 1840s by Hippolyte Fizeau, using nothing but mirrors and a gear and Eratosthenes' calculation of the circumference of Earth in 200 BC via the sun, a well and a stick. Both turned out to be almost on the money with their figures, yet the tools and methods they used have nothing on the complex machines modern science has at its disposal today.
What I took away from the talk -- and something I've found to be true in my day-to-day programming work -- is that not every problem needs an involved solution. I'm often tempted to code up data structures and routines that, while generalised and modular, take a roundabout way of solving an issue and are almost always more difficult to test and debug. Depending on the situation, there's nothing wrong with only using the bare essentials -- you can always go back later and expand on what you've done if your demands increase.
At the very least, it's Adam Savage making science awesome (not that it isn't already) and deserves to be watched for that reason alone.