Tuesday, February 14, 2017
How many time have you heard someone complain of a Google or a
Microsoft that they "could do that in a weekend?" How many times have
you wondered how on earth they stay in business? I recently ran across
a post by software
developer Dan Luu addressing that argument that offers both a quick
rebuttal and a dose of the kind of thinking that is
First, there is often evidence that, no, you can't do that in a weekend. Luu specifically considers the problem of internet search:
A few years ago, in the wake of the rapgenius SEO controversy, a number of folks called for someone to write a better Google. Alex Clemmer responded that maybe building a better Google is a non-trivial problem. Considering how much of Google's $500B market cap comes from search, and how much money has been spent by tens (hundreds?) of competitors in an attempt to capture some of that value, it seems plausible to me that search isn't a trivial problem... [link dropped, bold added]A world littered with the failures of others doesn't prove that there isn't a better way to do something, but it suggests that, at minimum, there are aspects of the problem that might need more than passing attention.
Luu goes into some detail about the problem of search and those of running a business, as a means of making his main point:
It's not that all of those things are necessary to run a service at all; it's that almost every large service is leaving money on the table if they don't seriously address those things. This reminds me of a common fallacy we see in unreliable systems, where people build the happy path with the idea that the happy path is the "real" work, and that error handling can be tacked on later. For reliable systems, error handling is more work than the happy path. The same thing is true for large services -- all of this stuff that people don't think of as "real" work is more work than the core service. [link and footnote omitted, bold added]This reminds me somewhat of the "bike shed" argument, in which people will endlessly debate some trivial matter they know about (a bike shed on the site of a proposed nuclear plant), while glossing over something that is actually complicated (the nuclear power plant itself). In this case, internet search (although not trivial) is the bike shed, and numerous other things, like, say, making money with it, are being ignored.