The Founders' List: Steve Yegge's Famous Rant on 'Google vs Amazon' (Famous Memos) - podcast episode cover

The Founders' List: Steve Yegge's Famous Rant on 'Google vs Amazon' (Famous Memos)

Nov 20, 202023 minEp. 58
--:--
--:--
Listen in podcast apps:
Metacast
Spotify
Youtube
RSS

Episode description

The podcaster did not provide a description for this episode.

Transcript

This is Kristen O'Brien, Managing Editor at NFX, and this is the founder list. Audible versions of essays from technology's most important leaders selected by the founder community. This is Steve Yeggy's famous rant posted on Google Plus about how Amazon dealt with platforms, read by NFX. I was at Amazon for about six and a half years, and now I've been at Google for that long.

One thing that struck me immediately about the two companies, an impression that has been reinforced almost daily is that Amazon does everything wrong. And Google does everything right. Sure. It's a sweeping generalization, but a surprisingly accurate one. It's pretty crazy. There are probably a 100 or even 200 different ways you can compare the 2 companies, and Google is superior in all but three if I recall correctly.

I actually did a spreadsheet at one point, but legal wouldn't let me show it to anyone, even though recruiting loved it. I mean, just to give you a very brief taste, Amazon's recruiting process is fundamentally flawed by having teams hire for themselves, so their hiring bar is incredibly inconsistent across teams despite various efforts they've made to level it out and their operations are a mess. They don't really have SREs and make engineers pretty much do everything.

Which leaves almost no time for coding. Though again, this varies by group, so it's luck of the draw. They don't give a single about charity or helping the needy or community contributions or anything like that. Never comes up there, except maybe to laugh about it. Their facilities are dirt smeared cube farms without a dime spent on decor or common meeting areas.

Their pay and benefits suck although much less so lately due to local competition from Google and Facebook, but they don't have any of our perks or extras. They just try to match the offer letter numbers and that's the end of it. Their code base is a disaster with no engineering standards whatsoever except what individual teams choose to put in place.

To be fair, they do have a nice versions library system that we really ought to emulate and a nice published subscribe system that we also have no equivalent for. But for the most part, they just have a bunch of crappy tools that read and write state machine information into relational databases. We wouldn't take most of it even if it were free I think the Pub's subsystem and their library shelf system were 2 out of the grand total of 3 things Amazon does better than Google.

I guess you can make an argument that they're biased for launching early and iterating like mad is also something they do well, but you can argue it either way. They prioritize launching early over everything else, including retention and engineering discipline and a bunch of other stuff that turns out to matter in the long run. So even though it's given them some competitive advantages in the marketplace, it's created enough other problems to make it something less than a slam dunk.

But there's one thing they do really, really well that pretty much makes up for all of their political philosophical and technical screwups. Jeff Bezos is an infamous micro manager. He micromanages every single pixel of Amazon's retail site. He hired Larry Tesla, Apple's chief scientist, and probably the very most famous and respected human interaction expert in the entire world and then ignored every goddamn thing Larry said for 3 years until Larry finally wisely left the company.

Larry would do these big usability studies and demonstrate beyond any shred of doubt that nobody can understand that friggin website, but Bezos just couldn't let go of those pixels all those millions of semantics packed pixels on the landing page, they were like millions of his own precious children. So they're all still there, but Larry is not. Micro Managing isn't that third thing that Amazon does better than us, by the way.

I mean, yeah, they micromanaged really well, but I wouldn't list it as a strength or anything. I'm just trying to set context here to help you understand what happened. We're talking about a guy who in all seriousness has said on many public occasions that people should be paying him to work at Amazon. He hands out little yellow stickies with his name on them reminding people who runs the company when they disagree with him. The guys are regular Beller, Steve Jobs, I guess.

Except without the fashion or design sense, Bezos is super smart. Don't get me wrong. He just makes ordinary control freaks look like stoned hippies. So one day, Jeff Bezos issued a mandate. He's doing that all the time, of course, and people scramble like ants being with a rubber mallet whenever it happens.

But on one occasion, back around 2002, I think, plus or minus a year, he issued a mandate that was so out there, so huge and eye bulgingly ponderous that it made all of his other mandates look like unsolicited Pete bonuses. His big mandate went something along these lines. 1, all teams will henceforth expose their data and functionality through service interfaces. 2, teams must communicate with each other through these interfaces.

3, there will be no other form of interprocess communication allowed, no direct linking, no direct reads of another team's data store, no shared memory model, no backdoors whatsoever, the only communication allowed is via service interface calls over the network. 4, it doesn't matter what technology they use, http, Morgan, Pub Sub custom protocols doesn't matter. Bezos doesn't care. 5. All service interfaces without exception must be designed from the ground up be externalizable.

That is to say the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions. 6 Anyone who doesn't do this will be fired. 7, thank you. Have a nice day. You 150 odd x Amazon folks here will, of course, realize immediately number 7 was a little joker threw in because Bezos most definitely does not give a shit about your day.

Number 6, however, was quite real, so people went to work Bezos's assigned a couple of chief bulldogs to oversee the effort and ensure forward progress headed up by Uber chief Beller Bulldog Rick Dalzel Rick is an ex army ranger, West Flint Academy graduate xboxer, ex chief tortureist slash CIO at Walmart, and is a big genial scary man who used the word hardened interface a lot.

Rick was a walking, talking, hardened interface himself, so needless to say, everyone made lots of forward progress and made sure Rick knew about it. Over the next couple of years, Amazon transformed internally into a service oriented architecture. They learned a tremendous amount while affecting this transformation.

There was lots of existing documentation and lore about SOAs, but at Amazon's vast scale, it was about as useful as telling Indiana Jones to look both ways before crossing the street. Amazon's dev staff made a lot of discoveries along the way. A teeny tiny sampling of these discoveries included, Pedro escalation gets way harder because ticket might bounce through 20 service calls before the real owner is identified.

If each bounce goes through a team with a 15 minute response time, it can be hours before the right team finally finds out. Unless you build a lot of scaffolding and metrics and reporting. Every single one of your peer teams suddenly becomes a potential DOS attacker. Nobody can make any real forward progress until very serious quotas and throttling are put in place in every single service. Monitoring and QA are the same thing. You Beller think so until you try doing a big SOA.

But when your service says, oh, yes, I'm fine. It may well be the case that the only thing still functioning in the server is a little component that knows how to say, I'm fine. Roger Roger, over and out. In a cheery droid voice. In order to tell whether the service is actually responding, you have to make individual calls.

The problem continues recursively until your monitoring is doing comprehensive semantics checking of your entire range of services and data at which point it's indistinguishable from automated QA, so there are continuum. If you have hundreds of services and your code must communicate with other group's code via these services, then you won't be able to find any of them without a service discovery mechanism.

And you can't have that without a service registration mechanism, which itself is another service. So Amazon has a universal service registry where you can find out reflectively programmatically about every service, what its APIs are, and also whether it is currently up and where. Debugging problems with someone else's code gets a lot harder and is basically impossible unless there's a universal standard way to run every service in a debuggable sandbox. That's just a very small sample.

There are dozens, maybe hundreds of individual learnings like these that Amazon had to discover organically There were a lot of wacky ones around externalizing services, but not as many as you might think. Organizing into services taught teams not to trust each other in most of the same ways they're not opposed to trust external developers. This effort was still underway when I left to join Google in mid 2005, but it was pretty far advanced.

From the time Bezos issued his edict through the time I left, Amazon had transformed culturally into a company that thinks about everything in a services first fashion. It is now fundamental to how they approach all designs, including internal designs for stuff that might never see the light of day externally. At this point, they don't even do it out of fear of being fired, I mean, they're still afraid of that.

It's pretty much part of daily life there working with the Dread pirate Bezos and all that, but they do services because they come to understand that it's the right thing. There are without question pros and cons to the SOA approach and some of the cons are pretty long. But overall, it's the right thing because SOA driven design enables platforms. That's what Bezos was up to with his edict, of course.

He didn't and doesn't care even a tiny bit about the well-being of the James, nor about what technologies they use nor in fact, any detail whatsoever about how they go about their business unless they happen to be screwing up. But Bezos realized long before the vast majority of Amazonians that Amazon needs to be a platform. You wouldn't really think that an online bookstore needs to be an extensible programmable platform, would you?

Well, the first thing Bezos's real is that the infrastructure they built for selling and shipping books and sundry could be transformed into an excellent repurposeable computing platform. So now they have the Amazon elastic compute cloud and the Amazon elastic mapreduce and the Amazon relational database service and the whole Paso owe other services browsable at aws.amazon.com. These services host the back ends for some pretty successful companies, Reddit being my personal favorite of the bunch.

The other big realization he had was that he can't always build the right thing. I think Larry Tesla might have struck some kind of cord in Bezos when he said his mom couldn't use the goddamn website. It's not even super clear whose mom he was talking about and doesn't really matter. Because nobody's mom can use the goddamn website.

In fact, I myself find the website disturbingly daunting, and I worked there for over half a decade I've just learned to kind of defocus my eyes and concentrate on the million or so pixels near the center of the page above the fold. I'm not sure how Bezos came to this realization, the insight that he can't build one product and have it be right for everyone, but it doesn't matter because he gets it. There's actually a formal name for this phenomenon.

It's called accessibility and it's the most important thing in the computing world. The most important thing If you're sort of thinking, you mean like Flint and deaf people accessibility, then you're not alone because I've come to understand that there are lots and lots of people just like you. Pete for whom this idea does not have the right accessibility so it hasn't been able to get through to you just yet.

It's not your fault for not understanding, any Morgan than it would be your fault for being blind or deaf or motion restricted or living with any other disability. When software or idea where for that matter fails to be accessible to anyone for any reason, it is the fault of the software or of the messaging of the idea.

Like anything else big and important in life, accessibility has an evil twin who jolted by the unbalanced affection displayed by their parents and their youth has grown into an equally powerful arch nemesis. Yes. There's more than one nemesis for accessibility James security And boy, howdy are the 2 ever at odds. But I'll argue that accessibility is actually more important than security because dialing accessibility to 0 means you have no product at all.

Whereas dialing security to 0 can still get you a reasonably successful product such as the PlayStation Network. So yeah, in case you hadn't noticed, I could actually write a book on this topic. A fat one filled with amusing anecdotes about ants and rubber mallets that companies have worked at, but I will never get this little rant published, and you'll never get it read unless I start to wrap up. That one last thing that Google doesn't do well is platforms. We don't understand platforms.

We don't get platforms. Some of you do, but you are the minority. This has become painfully clear to me over the past 6 years. I was kinda hoping that competitive pressure from Microsoft and Amazon and more recently Facebook would make us wake up collectively and start doing universal services, not in some sort of ad hoc half assed way, but in more or less the same way Amazon did it. All at once for real, no cheating, and treating it as our top priority from now on.

But now now it's like our 10th or 11th priority or 15th. I don't know. It's pretty low. There are a few teams who treat the idea very seriously, but most teams either don't think about it at all, ever, or only a small percentage of them think about it in a very small way. It's a big stretch even to get most teams to offer a stubby service to get programmatic access to their data and computations. Most of them think they're building products, and a stubby service is a pretty pathetic service.

Go back and look at that partial list of learnings from Amazon and tell me which one's stubby gives you out of the box. As far as I'm concerned, it's none of them. Stubby's great, but it's like parts when you need a car. A product is useless without a platform or more precisely and accurately A platformless product will always be replaced by an equivalent platformized product.

Google Plus is a prime example of our complete failure to understand platforms from the very highest levels of executive leadership Hi, Larry, Sergei, Eric, Vick, Audi Howdy, down to the very lowest leaf workers, a o, we all don't get it. The golden rule of platforms is that you eat your own dog food. The Google plus platform is a pathetic afterthought. We had no API at all at launch. And last I checked, we had one measly API call.

1 of the team members marched in and told me about it when they launched, and I asked, so is it the Stalker API? She got all glum and said, yeah. I mean, I was joking, but no. The only API call we offer is to get someone's stream. So I guess the joke was on me. Microsoft has known about the dog food rule for at least 20 years. It's been part of their culture for a whole generation now. You don't eat people food and give your developer's dog food.

Doing that is simply robbing your long term platform value for short term successes. Platforms are all about long term thinking. Google Plus is a knee jerk reaction, a study in short term thinking predicated on the incorrect notion that Facebook is successful because they built a great product. But that's not why they're successful. Facebook is successful because they built an entire constellation of products by allowing other people to do the work, so Facebook is different for everyone.

Some people spend all their time on mafia wars, some spend all their time on Farmville. There are 100 or maybe 1000 of different high quality time sinks available, so there's something there for everyone. Our Google Plus team took a look at the aftermarket and said, gosh, looks like we need some games. Let's go contract someone to, write some games for us. You begin to see how incredibly wrong that thinking is now?

The problem is that we are trying to predict what people want and deliver it for them. You can't do that. Not really. Not reliably. There have been precious few people in the world over the entire history of computing who have been able to do it reliably. Steve Jobs was one of them. We don't have a Steve Jobs here. I'm sorry, but we don't.

Larry Tesla may have convinced Bezos that he was no Steve Jobs, but Bezos realized that he didn't need to be a Steve Jobs in order to provide everyone with the right products, interfaces and workflows that they liked, and Beller it ease with. He just needed to enable 3rd party developers to do it, and it would have happened automatically.

I apologize to those many of you for whom all this stuff I'm saying is incredibly obvious because, yeah, it's incredibly freaking obvious, except we're not doing it. We don't get platforms and we don't get accessibility. The 2 are basically the same thing because platforms solve accessibility. A platform is accessibility. So, yeah, Microsoft gets it. And you know as well as I do how surprising that is because they don't get much of anything, really.

But they understand platforms as a purely accidental outgrowth of having started life in the business of providing platforms. So they have 30 plus years of learning in this Pete, And if you go to msdn.com and spend some time browsing and you've never seen it before, prepare to be amazed because it's staggeringly huge. They have 1000 and 1000 and 1000 of API calls. They have a huge platform too big in fact because they can't design for squad, but at least they're doing it.

Amazon gets it. Amazon's AWS AWS.amazon.com is incredible. Just go look at it, click around. It's embarrassing. We don't have any of that stuff. Apple gets it, obviously, they've made some fundamentally non open choices particularly around their mobile platform, but they understand accessibility and they understand the power of 3rd party development and they eat their dog food. And you know what?

They make pretty good dog food their APIs are a hell of a lot cleaner than Microsoft's and have been since time immemorial. Facebook gets it. That's what really worries me. That's what got me off my lazy ass to write this thing. I hate blogging. I hate plussing or whatever it's called when you do a massive rant in Google plus, even though it's a terrible venue for it, but you do it anyway because in the end, you really do want Google to be successful. And I do.

I mean, Facebook wants me there and it'd be pretty easy to just go, but Google is home. So I'm insisting that we have this little family intervention uncomfortable as it might be. After you've marveled at the platform offerings of Microsoft and Amazon and Facebook, I guess, I didn't look because I didn't wanna get too depressed head over to developers.google.com and browse a little. Pretty big difference.

It's like what your 5th grade nephew might mock up if you were doing an assignment to demonstrate what a big powerful form company might be building if all they had resource wise was 1 5th grader. Please don't get me wrong here. I know for a fact that the DevRel team has had to fight to get this much available externally.

They're kicking ass as far as I'm concerned because they do get platforms and they are struggling heroically to try to create one in an environment that is at best platform apathetic and at worst, often openly hostile to the idea. I'm just frankly describing what developers.google.com looks like to an outsider. It looks childish. Where's the MAP's APIs in there for Christ's sake?

Some of the things in there are lab projects, and the APIs for everything I clicked were While they were poultry, they were obviously dog food, not even good organic stuff. Compared to our internal APIs, it's all snouts and horse hooves. And also, don't get me wrong about Google Plus, they're far from the only offenders. This is a cultural thing.

What we have going on internally is basically a war with the underdog minority platformers fighting a more or less losing battle against the mighty funded, confident predictors. Any teams that have successfully internalized the notion that they should be externally programmable platforms from the ground up are underdogs. Maps and docs come to mind, and I know Gmail is making overtures in that direction.

But it's hard for them to get funding for it because it's not part of our culture Mestro's funding is a feeble thing compared to the gargantuan Microsoft Office programming platform. It's a fluffy rabbit versus a T Rex The docs team knows they'll never be competitive with office until they can match its scripting facilities, but they're not getting any resource love.

I mean, I assume they're not given that app's script only works in spreadsheet right now and it doesn't even have keyboard shortcuts as part of its Pete. That team looks pretty unloved to me. Ironically enough, Wave was a great platform. May they rest in Pete, but making something a platform is not going to make you an instant success.

A platform needs a killer app Facebook that is the stock service they offer with walls and friends and such is the killer app for the Facebook platform, and it is a very serious mistake to conclude that the Facebook app could have been anywhere near as successful without the Facebook platform. You know how people are always saying Google is arrogant? I'm a Beller, so I get as irritated as you do when people say that. We're not arrogant by and large. We're like 99% arrogance free.

I did start this post if you'll reach back into distant memory by describing Google as doing everything right. We do mean Beller. And for the most part, when people say we're Morgan, it's because we didn't hire them or they're unhappy with our policies or something along those lines. They're inferring arrogance because it makes them feel better. But when we take the stance that we know how to design the perfect product for everyone and believe you me, I hear that a lot, Then we're being fools.

You can attribute it to arrogance or naivete or whatever. It doesn't matter in the end because it's foolishness. There is no perfect product for everyone. And so we wind up with a browser that doesn't let you set the default font size, talk about an Flint to accessibility. I mean, as I get older, I'm actually going Flint. For real. I've been nearsighted all my life and once you hit forty years old, you stop being able to see things up close.

So font selection becomes this life or death thing and can lock you out of the product completely, but the Chrome team is flat out arrogant here They want to build a 0 configuration product and they're quite brazen about it and you if you're blind or deaf or whatever, hit control plus on every single page visit for the rest of your It's not just them. It's everyone. The problem is that we're a product company through and through.

We build a successful product with broad Pete, our search that is and that wild success has biased us. Amazon was a product company too, so it took an out of band force to make Bezos understand the need for a platform. That force was their evaporating margins. He was cornered and had to think of a way out. But all he had was a bunch of engineers and all these computers, if only they could be monetized somehow, you can see how he arrived at AWS in hindsight.

Microsoft started out as a platform, so they've just had lots of practice at it. Facebook, though, they worry me. I'm no expert, but I'm pretty sure they started off as a product and they rode that success pretty far. So I'm not sure exactly how they made the transition to a platform, It was a relatively long time ago since they had to be a platform before now very old, things like mafia wars could come along. Maybe they just looked at us and asked, How can we beat Google? What are they missing?

The problem we face is pretty huge because it will take a dramatic cultural change in order for us to start catching up. We don't do internal service oriented platforms, and we just as equally don't do external ones. This means that the not getting it is endemic across the company The PMs don't get it. The engineers don't get it. The product teams don't get it. Nobody gets it. Even if individuals do, even if you do, it doesn't matter one bit unless treating it as an all hands on deck emergency.

We can't keep launching products and pretending we'll turn them into magical, beautiful, extensible platforms later. We've tried that, and it's not working. The golden rule of platforms eat your own dog food can be rephrased as start with a platform and then use it for everything.

You can't just bolt it on later certainly not easily at any Pete, ask anybody who worked on platformizing MS office Morgan anyone who worked on platformizing Amazon, If you delay it, it'll be ten times as much work as just doing it correctly up front. You can't cheat. You can't have secret back doors for internal apps to special priority access, not for any reason, you need to solve the hard problems up front.

I'm not saying it's too late for us, but the longer we wait the closer we get to being too late. I honestly don't know how to wrap this up. I've said pretty much everything I came here to say today. This post has been 6 years in the making. I'm sorry if I wasn't gentle enough for if I misrepresented some product or team or person or if we're actually doing lots of platform stuff and it just so happens that I and everyone I ever talked to has just never heard about it.

I'm sorry, but we've got to start doing this right. For more audio essays from the people who've built companies like Instacart, Facebook, Trello, HubSpot, and Dropbox, visit the founder list at nfx.com Omri subscribe to the NFX podcast at podcast.nfx.com Omri wherever you get your podcasts.

Transcript source: Provided by creator in RSS feed: download file
For the best experience, listen in Metacast app for iOS or Android
Open in Metacast