I wanted to give a quick take on a post made by Ryan Tate entitled "Babes in Userland". The post is honestly more free-form thought than it is an article with a single point in that Mr. Tate begins by saying he thinks SimpleDB is a clunker but then goes on to praise Amazon for its web service strategy thus far (pre-SimpleDB) and finally ends up making a point unrelated to SimpleDB whatsoever.
It is that point that I wanted to address. To quote...
Amazon is a company that sells books and a bajillion other things over the Internet. That's what it does. Retail. It is not a software company, not even today, despite EC2 and S3, despite the fact that it has had kick-ass coders since its launched, despite what it may yet become.
Amazon is a user selling the software it made for itself.
This is important. This is new.
Microsoft and Google have always dog-fooded their own software, but that's the exception that proves the rule, which is this: Software companies make software to solve other peoples' problems.
And software companies never understand the problems they are solving as well as they understand the problem of making software.
This is flawed logic in my opinion. It assumes that companies are monolithic, singular minded entities and that the people within those companies are all just cogs in a system that works flawlessly. As anyone who has ever worked in a company will tell you nothing could be further from the truth.
The truth is that companies are just tiny microcosms of the industry as a whole. To give an example, Microsoft makes tools for developers who are their customers and they understand their customers about as well as they can through interviews and various usability tests.
But then those developers turn around and make software for their internal employees who are essentially their customers and those developers are no more informed about their employees needs than the Microsoft person was about the developers needs.
So there really isn't that much difference between Amazon's IT people (who probably know little about actually selling books, CDs, etc...) making software for their internal employees and Microsoft making a web service for an external customer.
I'm going to have to ask for a little indulgence here because this is a really important point and one that is intimately related to the purpose of this blog but that is a much longer discussion and will have to be saved for another day. For the time being just remember that any company large enough to do more than install and maintain pre-packaged software probably has a little software company tucked away inside it that works under most of the same rules and limitations as any external software company. To think otherwise is to give Corporate America and its ability to communicate internally way too much credit.