I have a new quote on my wall:
"New hires tend to want to do complex things, but we know complex things break in complex ways. The veterans want simple designs, with simple interfaces and simple constructs that are easy to understand and debug and easy to put back together after they break."
"The best advice is just basically to keep everything as simple as possible—simple processes, simple SKUs, simple engineering. These systems get to be very big very fast. I don’t think there’s really any one particularly hard, gnarly problem, but when you add them all up, there are lots and lots of little problems. As long as you can keep each of those pieces simple, that seems to be the key. It’s more of a philosophy, I think, than anything else."
— Phil Smoot, Product Manager for Hotmail
The full interview with Phil can be found here.
If you tackle every problem with the belief that there is a simple solution, you will usually find one. Sometimes to solve a complex problem you just need to piece together several individual simple solutions.