Just added another quote to the wall in my office:
“Simple things should be simple and complex things should be possible.”
– Alan Kay, Apple/Disney/HP
So now my wall reads:
“How could we build it to scale to hundreds of millions of users at an unimaginably low cost that would change the game?”
– Ray Ozzie, October 2005 in memo to Microsoft executive staff regarding their new software-as-a-service direction.
“If two approaches produce the same result, select the one with the fewest assumptions.”
– Occam’s Razor
“A service is said to be scalable if when we increase the resources in a system, it results in increased performance in a manner proportional to resources added. An always-on service is said to be scalable if adding resources to facilitate redundancy does not result in a loss of performance.”
– Werner Vogels, CTO – Amazon.com
“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
See any pattern?