A Commonplace

What is a commonplace?



Software is eating everything

Doesn't that bother you? Google, Amazon, Facebook, Apple, Microsoft and IBM, they're in every aspect of your life.

Another way to look at this is that the world is being dominated by companies that know how to write software and know the value of software.

Some of those companies, most of those companies, started off as technology companies.

But there's one of these companies that didn't start off as a technology company and that might be the most interesting/terrifying. Amazon.

Let's just talk about one aspect of Amazon's move into technology. Amazon moved from books into selling computing power of arbitrary complexity and power on the cloud.

How did that? Happen?

Part of the way that it happened is explained in a blog post of a disgruntled ex-employee.

https://gist.github.com/chitchcock/1281611 AKA "Stevie's Google rant."

One interesting this about this post is that you can take away from it a few things:

  1. The world is being dominated by companies that know how to write software - especially software that provides a platform.
  2. The world is currently being dominated, not by companies that do this well, but by companies that do it at all.

And this is a bit of a rant. Well, it has some of the properties of a rant. For one thing, like a rant, it asks rhetorical questions.

Why aren't big companies, like oil companies, like banks, having seen other industries trying to do what the big tech companies do?

Specifically, why aren't they trying to turn themselves into a tech company? In the way that Amazon has turned themselves into a tech company.

The interesting thing about the "Stevie's Google Rant" is that it advocates particular approach to scaling - and I'm not sure that I've seen it in any of the Agile Frameworks that talk about Scale.

That is, Stevie's Google rant talks about putting everything that a piece of software does behind an "Accessible" API. That means that whatever your team's software does can be made accessible to other teams. That also means, if it's done right, that whatever your team's software does, can be made accessible to other team's and other people outside of your organisation - for a price of course. That's how Amazon ended up with AWS.

What if the way that you scale software development is by building products on top of accessible platforms?

When thinking about about companies like Amazon and Google, there's been the idea that people are either "above" or "below" the API. That is the application, programmer interface. Certainly, people who sell online can powerfully feel that they are "below" the API when Google's algorithm changes and sudden the business they had been running which dependent on being discoverable of Google is appearing on page 10 of the search results.

But surely this must be a concern for big companies as well? Aren't they at all concerned that they're going to end up working for Google? Or Amazon? Or Microsoft?

What strategy do they have in place to stop it happening?