ebay, msn, google, yahoo, and wikipedia.
Yahoo! is the sexiest one, Look at that tie and matching hair~
This post was intended to be shared privately and was accidentally made public. Thanks to +Steve Yegge for allowing us to keep it out there. It’s the sort of writing people do when they think nobody is watching: honest, clear, and frank.
The world would be a better place if more people wrote this sort of internal memoranda, and even better if they were allowed to write it for the outside world.
Hopefully Steve will not experience any negative repercussions from Google about this. On the contrary, he deserves a promotion.
This post has received a lot of attention. For anyone here who arrived from The Greater Internet – I stand ready to remove this post if asked. As I mentioned before, I was given permission to keep it up.
Google’s openness to allow us to keep this message posted on its own social network is, in my opinion, a far greater asset than any SaS platform. In the end, a company’s greatest asset is its culture, and here, Google is one of the strongest companies on the planet.
Stevey’s Google Platforms Rant
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 hundred or even two hundred different ways you can compare the two companies, and Google is superior in all but three of them, 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 lovedit.
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 they 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 shit 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 versioned-library system that we really ought to emulate, and a nice publish-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 pubsub system and their library-shelf system were two out of the grand total of three things Amazon does better than google.
I guess you could make an argument that their bias 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 screw-ups.
Jeff Bezos is an infamous micro-manager. He micro-manages every single pixel of Amazon’s retail site. He hired Larry Tesler, Apple’s Chief Scientist and probably the very most famous and respected human-computer interaction expert in the entire world, and then ignored every goddamn thing Larry said for three 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 frigging 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, and Larry is not.
Micro-managing isn’t that third thing that Amazon does better than us, by the way. I mean, yeah, they micro-manage really well, but I wouldn’t list it as a strength or anything. I’m just trying to set the 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 guy is a regular… well, 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 pounded 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 peer 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 back-doors whatsoever. The only communication allowed is via service interface calls over the network.
4) It doesn’t matter what technology they use. HTTP, Corba, Pubsub, custom protocols — doesn’t matter. Bezos doesn’t care.
5) All service interfaces, without exception, must be designed from the ground up to 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!
Ha, ha! You 150-odd ex-Amazon folks here will of course realize immediately that #7 was a little joke I threw in, because Bezos most definitely does not give a shit about your day.
#6, however, was quite real, so people went to work. Bezos assigned a couple of Chief Bulldogs to oversee the effort and ensure forward progress, headed up by Uber-Chief Bear Bulldog Rick Dalzell. Rick is an ex-Armgy Ranger, West Point Academy graduate, ex-boxer, ex-Chief Torturer slash CIO at Wal*Mart, 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 effecting 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:
- pager escalation gets way harder, because a 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’d never 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 the 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 they’re a continuum.
- if you have hundreds of services, and your code MUST communicate with other groups’ 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 is 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 supposed 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 for the Dread Pirate Bezos and all. But they do services because they’ve 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 teams, 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 big thing Bezos realized is that the infrastructure they’d built for selling and shipping books and sundry could be transformed an excellent repurposable computing platform. So now they have the Amazon Elastic Compute Cloud, and the Amazon Elastic MapReduce, and the Amazon Relational Database Service, and a whole passel’ o’ other services browsable at aws.amazon.com. These services host the backends 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 Tesler might have struck some kind of chord 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 kinda defocus my eyes and concentrate on the million or so pixels near the center of the page above the fold.
I’m not really 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 sorta thinking, “huh? You mean like, blind 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: people for whom this idea does not have the right Accessibility, so it hasn’t been able to get through to you yet. It’s not your fault for not understanding, any more than it would be your fault for being blind or deaf or motion-restricted or living with any other disability. When software — or idea-ware 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. It is an Accessibility failure.
Like anything else big and important in life, Accessibility has an evil twin who, jilted by the unbalanced affection displayed by their parents in their youth, has grown into an equally powerful Arch-Nemesis (yes, there’s more than one nemesis to accessibility) named Security. And boy howdy are the two ever at odds.
But I’ll argue that Accessibility is actually more important than Security because dialing Accessibility to zero means you have no product at all, whereas dialing Security to zero 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 at companies I’ve 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 six years. I was kind of 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 no. No, it’s like our tenth or eleventh priority. Or fifteenth, 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 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 ones 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 platform-less product will always be replaced by an equivalent platform-ized product.
Google+ is a prime example of our complete failure to understand platforms from the very highest levels of executive leadership (hi Larry, Sergey, Eric, Vic, howdy howdy) down to the very lowest leaf workers (hey yo). We all don’t get it. The Golden Rule of platforms is that you Eat Your Own Dogfood. The Google+ platform is a pathetic afterthought. We had no API at all at launch, and last I checked, we had one measly API call. One 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 Dogfood rule for at least twenty years. It’s been part of their culture for a whole generation now. You don’t eat People Food and give your developers Dog Food. Doing that is simply robbing your long-term platform value for short-term successes. Platforms are all about long-term thinking.
Google+ 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 are 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 hundreds or maybe thousands of different high-quality time sinks available, so there’s something there for everyone.
Our Google+ team took a look at the aftermarket and said: “Gosh, it looks like we need some games. Let’s go contract someone to, um, write some games for us.” Do 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 Tesler 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 felt at ease with. He just needed to enable third-party developers to do it, and it would happen automatically.
I apologize to those (many) of you for whom all this stuff I’m saying is incredibly obvious, because yeah. It’s incredibly frigging obvious. Except we’re not doing it. We don’t get Platforms, and we don’t get Accessibility. The two 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 thirty-plus years of learning in this space. 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 thousands, and thousands, and THOUSANDS of API calls. They have a HUGE platform. Too big in fact, because they can’t design for squat, 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 third-party development and they eat their dogfood. And you know what? They make pretty good dogfood. 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 butt to write this thing. I hate blogging. I hate… plussing, or whatever it’s called when you do a massive rant in Google+ 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 want to get too depressed), head over to developers.google.com and browse a little. Pretty big difference, eh? It’s like what your fifth-grade nephew might mock up if he were doing an assignment to demonstrate what a big powerful platform company might be building if all they had, resource-wise, was one fifth grader.
Please don’t get me wrong here — I know for a fact that the dev-rel team has had to FIGHT to get even 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 Maps APIs in there for Christ’s sake? Some of the things in there are labs projects. And the APIs for everything I clicked were… they were paltry. 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+. 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 Producters.
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. Maestro’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 Apps Script only works in Spreadsheet right now, and it doesn’t even have keyboard shortcuts as part of its API. That team looks pretty unloved to me.
Ironically enough, Wave was a great platform, may they rest in peace. 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 Googler, 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 well, and for the most part when people say we’re arrogant 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 affront to Accessibility. I mean, as I get older I’m actually going blind. For real. I’ve been nearsighted all my life, and once you hit 40 years old you stop being able to see things up close. So font selection becomes this life-or-death thing: it can lock you out of the product completely. But the Chrome team is flat-out arrogant here: they want to build a zero-configuration product, and they’re quite brazen about it, and Fuck You if you’re blind or deaf or whatever. Hit Ctrl-+ on every single page visit for the rest of your life.
It’s not just them. It’s everyone. The problem is that we’re a Product Company through and through. We built a successful product with broad appeal — 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 we’re 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 Dogfood”, 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 rate — ask anyone who worked on platformizing MS Office. Or 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 get 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 six years in the making. I’m sorry if I wasn’t gentle enough, or 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 talk to has just never heard about it. I’m sorry.
But we’ve gotta start doing this right.
Thanks for sharing!
Build as a platform… That’s a lot to chew on… Need more time… Thanks +Rip Rowan and +Steve Yegge for sharing.
I can’t imagine Google missed the boat and developed G+ as a product without a solid API backbone. I expect we will see it exposed when it is ready.
Currently film is silent.
We need the tools to extract meaning and sense out of scenes, issues and stories.
I’m attempting to build a (little) platform that provides documentary filmmakers with executable meta-data that is self generating from their works. The goal is to build a better ‘you may like’ algorithm that becomes a ‘you need to know.’ For social innovation to grow beyond the songs of the choirs – we need to find those who need to hear.
I’m looking to Google – help by delivering the platform that goes beyond social graphs and becomes the vital reef system that grows with us and for us.
Thank you +Steve Yegge and +Vic Gundotra for listening.
Steve should suffer little or no repercussions at work over this — because he’s right, and because sending him packing would simply mean that he’ll show up at any of a half dozen competitors who would be ecstatic to have him carrying a badge (and apparently the Rubber Mallet of Thor) for them.
So I’m glad if someone could speak absolutely free about his thought without being punished. So I hope Steve isn’t punished in the end
Thanks Steve Yegge. I am looking forward to the accidental moment when we find each other on the same co-ordinates at the same time.
I know it is for Buzz, but there are blog post links to the Google+ apis currently being field tested.Oops! I think I found the official one. https://developers.google.com/+/
Firstly you can not fundamentally change your product without changing your development team’s cultural thinking. In other words, you can not change the “platform” without changing the “culture”. Simply put, if your team does not think “platform” they will not be able to build “platform” products. Conversely if you are selling non-platform products successfully, you can not effectively change your corporate culture to think “platform”. Product and cultural changes go hand in hand and they must be done concurrently.
Secondly, company culture hardens with product successes. It is difficult for the company to see why their corporate culture need to change since they are so damn successful. Whatever they have been and are doing must be right! Right? So if they have not been thinking “platform” and their product is still successful, why should they change their thinking? The problem is the market changes on a dime, fundamental corporate culture and product changes takes time. Time was what killed Nortel. They just ran out of time to finish those changes they needed when the market turned on them.
It is hard to argue about Google’s current product successes, which I believe is its biggest impediment to change.. Google needs some bloody-minded visionary to drive the changes from within despite of its current successes or have someone like FB scaring it to change from outside if it is to ensure its continue success in the next decade.
Versioning is a huge pain in the backside it basically means if you ever want to move a platform forward you have to have deployed in your production environment different versions of your services, this becomes ever more complex if the data model changes over time. Designing APIs is a huge challenge and one that gets harder over time as applications evolve.
Heck just look at the criticism the Java API has had over the years!
Seriously appreciate your honesty here and it’s been an interesting read. Anyways I hope my insight adds something useful to the debate.
I love comments at G+, I read a a lot, and is a very interesting way of adding virtual friends when you find interesting comments.
Google isn’t like that. Which is why it has a winning corporate culture which we should support.
(chrome does have a default font size option…in the options window) otherwise everything else seemed spot-on.
What disturbs me most, is the downright disrespect of other methods. I can only assume that this is the rough draft of a resignation letter (it better be) and the author has his angel funding and is about to show all us dummies how its done?
For the crime of having no “Esprit de Corps” I would just vaporize this kid before sunset.
And incidentally thanks Rip Rowan for the great repost.
“The Golden Rule of platforms is that you Eat Your Own Dogfood”
This not exactly an upward mobility action. Have your opinion, share it where it can do some good. If you shared it up the chain and they told you to fuck off, then shut the fuck up and do your job, or find another place that better appreciates your point of view.
I’ve been both a developer and a manager of developers and had the kid worked for me, wrote this and not showed it to me first, before posting it public, I’d be handing him a box.
Most people have learned to STFU about stuff like that and stick their knitting, because it’s just not worth risking being pigeonholed as “the documentation girl” or “that black guy that can run tests” or “that old lady who runs the bug tracking system” and finding their wages stagnate while the young white men around them are promoted up the chain for playing the boss’ little game of soldiers.
But this is trueWebRep
http://steverant.pen.io/ if you want to share the rant with someone.
Honestly, what I took away from this is that even the people trying to “fix” Google don’t know what the problem is. Google has a Comp Sci vision from the top down. That means you guys will crush life when you’re dealing with problems that can succeed in spite of zero UX, UI, design, usability and business insight (like search), but beyond the algorithms, you guys always trip up because you lack that human vision. That’s in your company’s DNA and switching to development philosophy X won’t change shit.
Don’t get me wrong, I love Google products, and their engineering for the sake of engineering is second to none. You guys just need to realize that when you try to tackle problems like social networks or mobile phones, the lack of human vision will hamstring you. You need to stop dicking around with this constant stream of disposable, ill-conceived products (wave, buzz, google+, google desktop, goog-411, etc etc etc) and tackle the hard problems that play to your strengths.
Google needs to get back to its roots. You guys got the best minds in the industry and just solved two huge, previously-insurmountable problems: search and spam. Go solve speech recognition or computer vision or build something that can simulate an organism based on its DNA.
Google+ can be a killer product, as can many of your other products – but they need to link together, and be a unified platform. They need people to focus on pulling them together.
This article is popping up everywhere.He should have mentioned Salesforce.com too. It seems like they get the whole platform thing.
If Google wonders why so many of the good ones are leaving, I believe that is part of the problem/solution. Ultimately if you have multiple good directions, it’s better to choose one than to go for all at once, even if you have quasi-unlimited mon(k)eys Vision, that’s what Google needs! Letting it all come together… internally and externally.
Google’s tradition of pushing technologies out early (in beta) to mature in public should not be used as a stick to beat it with. There may only be one API (though there are, in fact, more) for Google+, but history tells us that there will be many more API’s released as time goes on.
So, all in all, a post that, on the face of it, gives us an insight into a company with a fundamental flaw. The reality is a post that is just plain wrong. In my opinion, of course.
I am sad (as a non-Google employee but a Google shareholder) to learn how far Google has to go on this.
The Accessibility thing he says is right. Probably the lens Amazon sees that through is tailoring each page to what they know about the customer and their past purchases. It’s not totally about your font size (though I too prefer bigger fonts). It’s about making your page your page.
Mass media has to look like mass media, because of the way it is made. But a mass-customer Web site that is “self-service” does not have to look that way. (Apple, at the iTunes Store, still does not get this, it looks like what you used to see in the old days when you walked in the door of Tower Records. RIP, Tower Records.)
I hope Google listens and makes the tough decision to revamp.Here’s for a better Google.
And I too have become a free pitchman for Google, I have turned on so many of my friends to Google and all of it’s FREE user friendly products. And there’s the rub, do I really have the gumption to complain about a service that’s virtually free? I pay Google back in kind by selecting every possible choice to share my information with them. It will only make what they offer me in the future that much better.
Finally, the MAIN reason I LOVE Google is it’s simple look. I got so tired of getting a Japanese Seizure every time I visited M.S.N or Yahoo. I gave up on the internet all together from 1998 until I entered college and started using Google scholar in 2004
Yeah, the Dog Food thing works but so does KISS…Keep It Simple Stupid.
MY opinion of my moves to google?
- Starting with chrome- it may be a bit faster and it has YET to crash, but that may be because it is practically a bare browser! with no plugins or extensions to even bring it close to firefox’s user friendly tools.
- About G+ – hmmmf! I heard it was THE thing to replace facebook, but was shocked when I saw it for the 1st time. For someone with an online store and needs to advertise, it would seem G+ would be the best place to do it, after all, it IS google! But I find that I am sorely disappointed with g+ as well.
As the author of the original post [+Steve Yegge] states, “a platform-less product will always be replaced by an equivalent platform-ized product…..and google just don’t ‘get’ Platforms or Accessibility…… ‘a platform is accessibility’….. ‘But we’ve gotta start doing this right’.”
google top dogs got it in their collective heads that just cause ‘search’ sky rocketed, everything else you did would too- as if by magic! But until your magic wand has waved tirelessly over G+ and Chrome, I’ll go on back to facebook with its over crowded walls, and send firefox a support ticket, or maybe even give Opera a shot.
Thanks to Steve- btw, you Rock!- for [hopefully] opening the puffed up eyes of the powers that be at google.
—-as stated at the beginning, this is MY opinion, which I am entitled to
Oh yeah, when I write ‘I’ it is just me doing the development, design, implementation. But I started to think now about how to open out what I have been doing to let others do some of the work of getting what they want from it.WebRep
Here is an example of a design I made of what Amazon could look like. There are other really great re-designs out in the wild.
Lesson: draft before you post. Then sit on it overnight.
Bottom line: nobody will remember this beyond the next big story.
2. Facebook = platform
3. Twitter = partial platform
4. iOS = platform
5. Google+ = API only allow to read streams of individual? Facepalm!
Building platforms is like setting up a large empty piece of land for developers to build unique buildings, stores, malls & theme parks.
If you only give developers bad API tools (e.g. maybe a tiny spoon) while holding back the best API for own use (e.g Mega size machinery & tools) nothing fresh will come out quickly enough to entertain the public.
All google need is to be the governor in charge of “approval” of applications like facebook & Apple did.
Maybe there’s more google+ then just a social network which means much of the better APIs are not released because of that…(e.g. linking every google services together…etc)
Overall, great article!
I would also take one written by amazon, especially if it was called “learn from our experience, platforming done right”
Recipe for Success
1. Create a real ecosystem platform that 3rd party developers love and watch innovation happen.
2. Create a real code base that can actually be useful for Businesses/Government/Schools that use Google Docs. Yes, it is great, but you know what, they way Google Docs completely destroys Microsoft files is a real PITA. I mean come on…talk or incorporate the goodness from LibreOffice or DO whatever you have to do to fix that crap.
3. Google API’s just pure suck or are missing altogether. Fix them and make them easier to use without the requirement of a Ph.D.
4. Have one code base that all of your developers test bugs against.
5. If your pushing Google Chrome, Google Chromebooks, Google Apps, etc products. Use them on a daily basis to see for yourself what really sucks or just doesn’t work right and FIX it.
6. If you have to read a help file for an hour or search for an hour to figure out how to use or implement something, it’s a problem. (i.e. Single Sign On page for Google Apps help page…Explain to me why a customer told me, “That shit makes no damn sense.”)
7. PostIni REALLY sucks. It is hard to use and a pain in the neck to setup. Why is this something that teams internally have not realized and fixed. I mean…seriously…it sucks.
8. Take risks on standardization and dumping what is NOT working and starting all over. It might just get you somewhere.
As an outsider, I really need to ask whether google is the following:
1. Service company – The google search which is the core business
2. Platform company – I have to say, with your example G+, Wave and even Docs is not a great platform. I don’t need to explain why as you pretty much covered it.
3. Product company – What exactly is google’s “Product”? Search? (This ties in with Google’s Identity).
I think google has the issue of “siloing” between the different divisions/product/service/platform, and as a user of some of the service can’t help but to feel a bit left out.
Steve Jobs was very good in identifying what 90% of people want – mums and dads and even grannys. For people who does not know technology, it is ok to tell them what they need, to do what they want. Google, MS, just give users way too much choices to the point of confusing.
Take Android for example, it took me 1 month to make everything look the way I wanted on my phone (exploring apps to do the stuff that I want). Don’t think mums and dads wanted to spend the same amount of time on that. My colleague on the other hand, just want things to “work” and bought himself an Iphone outright rather than getting the company provided Galaxy SII (!!!)
I think everyone would agree to change the culture and mindset of a company of engineers and programmers, takes some serious ultimatum from a dictator – like Amazon. Don’t know whether this is a road that Google should head down though.
I agree with you, it would be too late to change down the line (look @ microsoft/IBM). But writing this in the middle of the night tells everyone that you cared enough about the company.
++++1 for a promotion for you
- It was a bit ironic about “accessibility vs. security”, considering that Steve made the “mistake” of posting to the world and tried to retract. I assume that it’ll turn out ok, but imagine if none of anybody’s comments (or thoughts) could ever be contained. Our world would be a completely different place, and not necessarily for the better.
- I suspect that facebook created an api not because they feared Google, but that they wanted to emulate them. Remember that facebook’s main competition back then was myspace, whether it was a product, or a platform. If I recall, and it’s been years and years since I worked with Facebook’s API, but it was quite sparse too. Pretty much just tapping into your contact’s information, posting on your wall. The ‘Like’ feature was new as of a couple of years ago, but I really don’t think there was all that much to facebook’s “platform”. Ultimately it just became an authentication method into everyone’s application. Given your arguments, I’d either rethink calling facebook a successful platform, or redefine platform.
- Google’s wolfram alpha API is pretty core to Apple’s new Siri “product”. I know – a handful of products doesn’t define success. I just thought that I’d point out that a lot of the “successful” companies mentioned actually depend on the API’s of Google.
- Apple was a computer and OS company before it was a mobile device company. They have just as much experience as developing “platforms” as Microsoft. My coworker would argue that Apple isn’t necessarily better at developing API’s … they’re better at retiring API’s and forcing people to transition. This keeps their platforms light and clean. I don’t think that we’ve ever given Microsoft that luxury – I wonder if we’ll ever give it to Google.
- Final thought, and probably my most important… Steve almost defines a “platform” as being a SOA architecture with api’s through various services. While that might work for a technically minded audience, I don’t think that he addressed the business goal behind this. Saying that ‘all products and services should talk to each other in a cohesive manner’ is a lot different from saying that everything needs to be built on a web service. I left the article thinking… ok, I love the idea, and know why I love it, but I wonder why he would love it? Back to myspace – was myspace a “platform” for all musicians to share their music openly and freely? ..or did they basically fail because facebook had an api and they didn’t? I suspect that they failed because of all of the annoying music that blared whenever you went into someone’s profile.
Anyway, thanks again for the insight. I particularly enjoyed reading about your time at Amazon. Bezos should save it for his biography.
I use Google+ constantly, but the world is only seeing what I WANT it to see. Much is exposed to my family and REAL friends. That is the reason I now rarely visit Facebook and Twitter. Those sites will continue and grow, but I will never feel comfortable with the Facebook (no)privacy and rarely find things on Twitter because I am not always there.
Google has made many mistakes, and will continue to do so. Facebook makes more. Amazon has it’s bad days to. The only way to stop being wrong is to stop trying to innovate.
Google+ is evolving at a furious rate, and I am very impressed with the way developers are listening to the experienced voices. I am sure the APIs will come, as the new features and tweeks come.
My net gain on this post is, keep going Google, don’t be complacent, and PLEASE keep innovating.
But I’m still excited about the style and attitude of the post:)
Give this guy a raise and a bag o’ google carrots and the promotion that lets him wield one hell of a big stick.
Highest levels of google leadership not as observant as this guy and for that he will of course be punished.
While, I hope the guy doesn’t lose his job in a tough global economy the guy should be fired. I had a problem with him bashing a company he hasn’t been employed by for six years. How is he so certain nothing has changed? I understand he may have been using it for motivation for his current employer to improve and make iterations on their current products but last I checked this is a technology field where everything is old and outdated in a few months. I felt like he started out bashing Amazon only in the end to say they get it and changes his mind.
He is honest about how he feels about the current state of their own product and nothing gets better without feedback but this guy needs to learn how to actually use the system before he randomly rants and clicks the share button next time.
if Google fires you, then they shall add a +1 ( or the whole world may do it for them , one human each ) for their foolishness.
Having agreed label layouts and barcodes (Amazon’s and ours) weeks in advance of contract commencement, I was dismayed when 48 hours before going live, Amazon asked to add another barcode to the label. Incredibly odd so late in the day – they said they’d missed their dispatch confirmation scanner and it’s barcode requirement. Kind of a key stage in the process, but hey, mistakes get made.
I asked for details – Amazon wanted to add a barcode of the same topology and data length as ours – which would’ve been disastrous. All our scanners were configured to scan one barcode type and ignore all others, and also to reject anything that was not the right data size. Any other barcodes – well all our scanners will “see” just the barcode we’re interested in. But with this scenario, our scanners would pick up one or other or both barcodes – chaos would ensue if we allowed these into the sort systems without a solution.
In the end we started with people manually striking through the Amazon barcode with a marker pen at our sort centres for the 3 months it took for the automatic overhead sort centre scanners to be reprogrammed to check the data content and ignore the new Amazon barcode. Delivery drivers, to this day as far as I know (I left mid-2008), have to be trained to identify which barcode to scan – their hand-held scanners were reprogrammed to reject as well, but there’s a work/time overhead that can be eliminated with training.
At the time, I wondered how such a bizarre request could come in at the very last minute, and what that said about the management methods inside Amazon – I now have a much clearer insight.
I still think that you folks have better platform potential than FB. What would be uber cool would be a plug-in like interface to pass various communication streams through G+. Search could be the front end, and relevant websites could act as portals through which other sites become the digital equivalent of town squares.
I wonder how how many people have wondered how many other people are visiting a site, like CNN… at the same time. Would it freak them out to be presented with a Top10 list. “Google statisticians believe that these 10 people are likely to share your opinions about the content presented on this site.” +1 Google Poll ™ – “Do you think this content is bullshit?” Then you could propagate the poll among those “random” Top10. To grow it outward, there could be an Opposite of the Top10. The poll for the other people would be the Opposite. “Do you think this content is legit?” All 20 people could be tossed into a Hangout and given the opportunity to discuss the content. It could be like The Internet Troll Lottery meets The Wheel O Random Fun.
Companies like Google are truly serve the purpose of their existence and people have great respect for these companies and I suppose that fuels their growth.
On a second thought, I’m not sure if a “central park” (ie. a tangible platform) will be as attractive to me in the future as it is now. Anyway, facebook is already there, and huge, so it might not be the best idea to invest every effort on building a park and making everybody stick to it, IMO it’s the convenience of “public transportation” (ie. accessibility to anywhere, not only to the particular platform) that Google need to worry more about.
It seems so odd to hear that Amazon only recently figured out the importance of a platform and that Google still needs to get the message.
Some ideas take a long time to catch on. For more insight, see if you can find William. He gets it.
Great post nonetheless, however, he’s likely to get into trouble for revealing internal information.
I really hope he is promoted because of this rant, even when we users shouldnt read about the internal discussions he has some insights about building a better future for google.
Thumbs up Steve
Also worth reading: http://www.zdnet.com/blog/hinchcliffe/comparing-amazons-and-googles-platform-as-a-service-paas-offerings/166
As a side note, I bet this rant actually stimulated a lot of tech people to use Google+ for the first time. It demonstrates that a product can succeed if it is provocative. Services should be designed into a product but you need to get people using the service too.
This is @Heart of Google and the way they see and act for future ‘civilisation’ .