They always seem to do right by the customer.
Where as google, it's behavior isn't always customer friendly (disclaimer: this is my opinion/perception).
To an outsider like me, Google seems almost schizophrenic...adding features, removing them, and then Gmail on android is just "not good". Customer service is non existent. Have a problem with Google product, good luck buddy.
Contrast that to Amazon where customer service is prompt and courteous and they always give the customer the benefit of the doubt.
Maybe it's the focus of the companies? Google is focused on engineering for engineering's sake. The focus on developers and algorithms.
Amazon is focused on customer service/satisfaction. Keeping the customers coming back.
Google is a monopoly in many of it's services (search, ad[sense|words]) whereas you can get a lot of Amazon's products somewhere else.
So I thought about a web application that would basically provide a wrapper to post blog-esque entries on Google Plus, and sure enough I looked up the API, and like Steve, you pretty much just get the Stalker Method. Not a POST method to be found.
Then it made me recall an earlier life where I worked on an SEM optimization platform, and the most common thing we heard from our Google Rep was, "oh, um, yeah, doing that is not available in our API."
Short of a directive from Larry and Sergey and the willingness to follow through for the 3-5 years it took Amazon to reap dividends, is there anything Google can do?
But then again, the quality of their APIs varies pretty wildly from product to product.
Stuff like this can rot your company from the inside out, and being transparent about it (and even public) can help a lot.
EDIT: Looks like fixed now.
A few weeks ago he publicly quit his "cat pictures" project (http://www.youtube.com/watch?v=vKmQW_Nkfk8) to pursue more noble a quest in data mining. I loved what he said, and at first glance this seemed like a jab at the newly released Google+. But it's actually a bigger knock on Facebook since the "cat pictures" app is Facebook's primary gig, and so far it's only a side gig at Google. I wonder how many FB peeps started to wonder if there really is any meaning in cat pictures.
Now it's Amazon -- "Amazon does everything wrong, and Google does everything right", except for 3 things, one being "platforms." But his Amazon jabs are not as subtle as the cat pictures one -- "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."
Maybe Steve is Google's new unofficial recruiting agent. He makes reference to it here, "I actually did a spreadsheet at one point but Legal wouldn't let me show it to anyone, even though recruiting loved it."
When you think about it, he's the perfect person to have run a psyop designed to get the Facebookers and Amazonians to lay down their cat pictures and join the Googlers building the next generation platform, while partaking in all of their perks. Google can just play it off as, "oh, that's just crazy uncle Steve on one of his rants again". I don't know what it is, but I think it's great on multiple levels :)
I can see "What did you think of Steve's Google Platform rant" as an interview question.
AWS was not available to developers within Amazon to use at any time before the day it was publicly launched. At least not on a broad basis, and none of the main Amazon.com services ran on it in 2007.
They did share some data centers, however. And I guess data centers are "infrastructure".
I was in a position to know this because I had my hands deep in the retail site as part of my job.
tl;dr The organic migration to AWS started in 2006 and continues to this day.
I'm not saying that nobody in Amazon wanted to use AWS, just that we didn't know about it until the press release, and so there wasn't any opportunity to use it... and of course, all the code from the 1990s was built in a different way so it would have been nontrivial to migrate it.
> And so we wind up with a browser that doesn't let you set the default font size
You can set the default font size and zoom size in Chrome (chrome://settings/advanced then "Web Content").
But more to the point, although it's obvious Google Search is trying very hard NOT to be a platform, it would seem Chrome is already a platform.
No other browser in history has had a more straightforward way to build extensions -- and, for that matter, apps.
Also, Yahoo is not mentioned; Yahoo built many nice platforms (remember Pipes?) and it didn't quite save them.
Increasing the default font size makes some text a lot bigger while other text stays small. On Mailman archives, for example, the body of an email ends up smaller than all the other text on the page (maybe because the body is in a fixed-width font).
Specifically, if you set the default font size to "Very large", the text in the body ends up less than half the size of the other text.
On hacker news, the "reply" links, which are (rightfully IMHO) smaller than normal text, become much larger than normal text.
The other way to increase text size in Chrome, the Zoom In command in the View menu, is not useful to me either: when I use the Zoom In command to get the text size to where I want it, the text usually runs past the right end of the window, with the result that I have to scroll horizontally back and forth for every line of text I want to read.
On some pages, this problem occurs when I use the Zoom In command only twice (repeated uses continue to increase the text size) and the text is still pretty small after two uses of the Zoom In command.
I have not been able to find any usable way to have the text as big as I want it in Chrome.
The only killer app I can think of from yahoo is mail & flickr.
I think the simple reason that our products were better was because we could easily see all the data sources available to us every time we checked the documentation to do some simple things (say, retrieving a user's data). We can get friends data from here, music data from here, analytics from there. And what do you know, putting all that data into one place can make a cool product or feature. Without that, you spend so much time worrying about what your own product and team is doing that you forget about working together.
This posed a problem to scaling the massive web traffic load on these databases. It also left open dangerous patterns of duplicate data calls where each control on a page was making its own calls for the data it would bind to.
Man... I could go on for days about the path we took from the wild wild west of code slinging up to the nice accessible, maintainable, freakin' BEAUTIFUL Server Slayer platform. Instead, let me just leave you with the logo we designed for this internal platform: http://imgur.com/Pvpy7
API Development Mgr.
MySpace 2/2007 - 3/2010
I was an intern at Amazon this summer and they extended a full time offer. I read Steve's rant with great interest. Since many people in comments have confirmed the points raised by him about Amazon, I am not feeling good right now :( I still have 18 days to accept the offer. I am currently interviewing with Microsoft. I have applied to Facebook just now. Sadly, I screwed up my Google phone screening last week. It was just not my day :( I am confident of getting MS offer. Do you people suggest I reject the Amazon offer? Or should I work at Amazon and form my own opinion? I can always change jobs.
EDIT: I am not able to reply to comments at all! It gives me dead link message. I have been trying for almost 30 mins now. Frustrating.
In the end, I decided to go with Amazon, thinking like you are that I could always change jobs if I didn't like it.
And yeah, I hated it. Absolutely hated it so much that I quit two months after joining. The problem was that the other startups I was interested had filled the position I'd been looking at (I'm more of a data analyst than a software engineer, and data analyst positions are a little more rare), and now every other place I'd interview at would think I was a total flake. I'd interview somewhere, and I'd have to spend 30 minutes explaining to multiple people why I left Amazon so soon and how they'd know I wouldn't do that again at their place.
I'd have great technical interviews, and I would get told this, but people would be worried about what kind of employee I was simply because of this one mistake I made joining Amazon.
So yeah. Hopefully you'll have a much better experience than me, so that even if you don't like Amazon you can always change jobs, but just throwing my own experience out there as another data point.
You can also just take the job at Amazon and switch to the MS offer if you get it and don't like what you see at Amazon. Its considered incredibly rude, yes, but our group has had that pulled on us a couple of times.
Silk is probably a neat team to look into as well. They're building a cool product, they're still a small team, and they have good leadership. The director in charge of it used to be the head of Builder Tools and he's great.
But yeah, talk to a lot of teams and ask them about the things that are important to you (operational load, current/future projects, code quality standards, whatever other things you can think of to ask) and see if any of those teams sound cool to you. I won't lie and say that every place in Amazon is perfect, but if you choose well I think it's possible to find a great team to work on.
I left recently (a few months ago) and much of Yegge's rant rings true - but like all big companies, it is not universal. My main caveat when others ask me about working for Amazon is - know exactly which team you'll be on. That will be the difference between a hell on earth scenario vs. a pretty sweet job.
From your internship, you have much more information than most people coming into the company. Use that.
And even if it does turn out to be the wrong decision, the golden handcuffs are only on for 12-24 months. Amazon on your resume is incredibly powerful and opens a lot of doors, so you won't really have suffered in the long run for it. Towards the end of my tenure I had recruiters banging down my door, so your options even if Amazon turns out to be a bad fit are, well, pretty limitless.
also curious as to whether the hellishness everyone talks about applies cross-org (eg for PMs, TPMs, etc.) as well as engineers.
Personally I find Amazon a great place to write software.
I guess your mileage may vary, but I've found AMZN to be an awesome place to be a programmer.
To this day, I am still shocked as to how many devs have no clue on what I'm talking about, yet they are in charge of Internet-scale systems. Here's a list of symptoms, I've heard over the years:
- I'll put something quick together.
- I implemented Paxos last night.
- I found an optimization in the two-phase commit protocol.
In my opinion, being expert means becoming humble and doubtful about your code when implementing large-scale systems. If your code runs on thousands of machines and serves 100K+ people and you think you rock as a developer/architect then you're doing something wrong.
Facebook doesn't get this. Look at their systems. They barely work. Good thing it doesn't matter. Yet. But it will eventually.
Amazon gets a little of this. Bringing Werner showed signs that they started to get it. They are still in this mix where a small group of people gets it and continues to bring in experts and push amazing things out. We'll see how long this will last.
Microsoft clearly doesn't get it. But that's ok, because they have no Internet-scale systems anyway. They built MSR which is capable of building such systems, but they make sure MSR remains isolated from their code. MSR seems happy to have no role in the company and to continue to publish amazing research.
Serious Microsoft hyperbolic bashing. The facts:
Hotmail: 369 million users, Gmail: 193 million ( around the end of 2010, does anyone have newer numbers? http://www.email-marketing-reports.com/metrics/email-statist... )
Bing, 5PB per container: http://www.flickr.com/photos/scobleizer/4870003098/
Lots of containers, "Microsoft's online operation puts big data into perspective. Bing's infrastructure is comprised of 250,000 Windows Server machines and manages some 150 petabytes of data. Microsoft processes two to three petabytes per day. "You really have to figure out how to process that kind of data to keep your index fresh," Nardella says." ( http://www.informationweek.com/news/software/bi/230700013 )
I could continue to go on but Microsoft is clearly running Internet-scale systems.
But doing Computer Science for the sake of Computer Science is a good thing. It would be a shit world if all fundamental CS research was driven by problems of scale.
His point was that there shouldn't be so much variation on this from team to team and they should strive to make these platform services a cultural core part of the company.
I totally agree with his point, though I'm coming from the outsider perspective. I was really jazzed to hear they finally released an API for Google+ and then crushed to realize it was completely worthless for almost any task. They've recently released an updated API, adding in some very basic search stuff.. but the API is still worthless. Hopefully within a year or so they'll have an API that isn't completely worthless, but it would have been nice if they had one from the start and if they internalized the API culture Steve is talking about, this would have been a no-brainer because the API would be an integral part of the service from top to bottom instead of something being slowly bolted on later.
However, I will not call it successful in context of the article above. Android as an operating system has not done anything to drive people to use Google's other (paid?) services - which is what you aim from a platform. You build your company's other products around it - like what Apple does by creating their own paid iOS apps to an extent. There have been numerous articles where people speculate if Chrome or Android is Google's future with Chrome coming out ahead all the time.
The fact that vendors and manufacturers put in their own layers of UI and apps etc. on top of Android makes it Google's platform even less. Oh, and I have not touched Kindle Fire as yet!
The fact there is in fact a debate about what should be the flagship platform (Chrome vs Android) for your company is not a good sign.
Lastly, what's the deal with Android not having Chrome as it's browser?
Google CEO Eric Schmidt says Android-based phones already generate enough new advertising revenue to cover the cost of the software’s development.
When I interviewed at Amazon, they were at pains to point out that the company is data driven. One person told me that even Bezos would put a lot of weight in numbers that disagreed with is intuition. Is Steve's anecdote an outlier, or is Amazon not really data driven at all?
Data was used to bolster opinions, but unless it was hard and fast proof, it was often ignored as well.
I don't think Larry's results were considered "real" data.
And now i've come back a few hours later to find his post has been removed...
Let's hope he was right when he claimed he could easily get a job at facebook, for his mortgage's sake :)
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."
Interesting comment on Google+ as a platform. I love google products. There will be lots of innovation (gmail, google voice, g+ etc) if google provides good APIs to external developers and treat these APIs as first class citizens.
So do him a favour and delete the copy. Out of respect to a great writer.
The bit that I don't get: Even if Steve's release was accidental, if you write something like this even when it is for internal use only, you can still count on it being reposted in a public place. 'All of google' is a large number of people, all it takes is one copy and the genie will never go back in to the bottle.
If you want to keep something to yourself don't store it on a company website or write it out in an email.
Company confidential typically translates into 'delayed, uncontrolled publication' or 'evidence to be used against you' depending on the circumstances.
If you can't stand by your statements in full view then you probably shouldn't make them to 10K+ people, especially not when you're a well noted blogger.
Especially one where he pretty much writes that Google's #1 is not 'Steve Jobs'.
Really, I think that no matter what that this would have found its way to the general public somehow. That said, I think it's great that he speaks his mind like this, even if it is intended for an internal audience only.
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.
Also, why they didn't try to bring the content owners on board for Google TV, and why I think they will be missing a huge opportunity to turn Google TV into a "console platform" . But I feared they won't "get" this, and this post is setting my expectations even lower for that.
I knew Google didn't have much experience with an OS, compared to Microsoft or Apple, and I think they are learning, but they need to learn much faster, and they really need to put some "design thinking" into everything they do, from the ground up. They are starting to learn about good design/polish on the surface, but it really needs to happen at the core of the product from day one.
As for bringing content owners on board - as far as I can tell, they did. Their developer support was also very responsive. A+ on forming a dialogue with developers.
Their problem IMO is that they don't appear to feel it in their bones how important product differentiation is. Maybe they get it, but I don't think it's sunk in.
Allow me to elaborate. What's the difference between an embedded device, a phone, a mini-tablet, a tablet, and GoogleTV? Well...
* Embedded devices might have a pre-2.x Android that never got updated. But that's okay, nobody develops apps for them anyways.
* Phones probably have 2.1, maybe 2.2.
* A mini-tablet could be 2.1 or 2.2, and has the mobile device UI.
* A tablet might have 3.0 or 3.1 on it.
* GoogleTV has 3.0 on it, but its market app might filter like it's 3.1. How do you differentiate this in code? Version specifiers, specifying notouch (which will break if googletv ever supports any kind of touchscreen, on a large screen size (which is smaller than a tablet, which has a extra large screen), etc.
Want to develop for iOS? Great. Would you like iPhone or iPad? Or both? Need to make sure it works on 99.9% of the devices that can download it? No problem. And hopefully, sometime in the future, maybe Apple will see fit to enable the AppleTV for developers.
Circling back to address your statements, if Google's aim, or one of them, is to make GoogleTV into a gaming platform, I don't have much confidence in Google's ability to deliver on that goal, because GoogleTV is little more than a revision of Android plus some optional APIs, and Android is architected as a multi-device platform. It's not a single device with multiple revisions, as is the case with the iPhone 3G/3GS/4/4S sequence, or even the Nintendo DS and its subsequent revisions. There are reasons that Android isn't as compelling a game platform as iOS is, and that is a big one.
With respect to building a multimedia application platform, GoogleTV has potential if for no other reason than it's one of the few set-top boxes with an app store, period, and a programming interface that isn't thoroughly obtuse, but the GTV's design and usability are very weak, almost pre-alpha, even, as if it were scarcely more than a straight-up port of Android's touch-optimized interface with an inadequate amount of polish. It's nothing your average TV-watching user is going to grok, if the keyboard+mouse remote didn't clue you in.
Really, what it comes down to is that, even for hardware, Google just doesn't seem to want to release something "perfect". They just want "shippable" -- or I daresay "just barely shippable" - if you can call it that. Even if they have critical bugs, so long as developers can work around them, even if they haven't nailed down the UI, and make a sweeping change right before public release, that's still "good enough". And "good enough" is the enemy of "great".
Until Google puts design thinking into their products from the ground up, as you put it, they aren't going to be able to lead the marketplace.
What's the advantage to multiple platforms for multiple circles? you don't accidentally post your internal company rant to the whole world. You don't post pictures of red cups and beer bongs on Linkedin and you don't talk about work on Facebook. This is how users were operating before G+ launched, and is precisely why users aren't diving in.
Stubby services, eh?
Of course, maybe he'll be moving on. His very first line was comparing his tenure at Amazon (6.5 years) to "and now I've been at Google for that long". I don't think that's a coincidence, even if he doesn't consciously realize it yet.
Steve: if you're reading this, go do something better. Google is feeding your wallet and ego, but life is more important than that. Go. Do your own thing or join something like Khan Academy -- there are a million places you could put your talent that would make the world a better place.
As many people said, there's a wide variability in experience at Amazon depending on the team. And I would say even more, depending on where you sit in the graph. The bottlenecks at the center have more clients, higher TPS, more stringent latency requirements. And their support burden is worse and the engineer's life is worse. It's hard to move everyone forward together. Once you add enough constraints the problem gets too hard to solve. But like working at Microsoft, you pay these prices in order to have high impact, a high number of customers, and high influence. A big question for large service federations like Amazon is how to smooth out these bottlenecks. Like Stevey's rant about code size though, first you have to admit you have the problem, service size.
I joined with a team that was not service oriented. It was like a collection of cron jobs that ran single threaded applications directly updating the DB. It was painful and very hard to alter these stateful applications without breaking things.
I moved to a team that ran a collection of services and it was so much better, like night and day better. The path forward for us became obvious when we started thinking about how to migrate between APIs and decompose our services still further (and by the way, our support burden is comparatively low).
What makes service oriented architecture at Amazon great is that it is cheap. The other two Amazon advantages Steve mentioned are not coincidences, they are what you need to make service rollouts low-friction. They are what makes it possible to shoot first and rollback later. With rare exceptions they are used by the entire company.
Remember Sinofsky's "don't ship the org chart"? It is a lie. You cannot avoid it. You always ship the org chart. So the real question is, what is the org going to look like so that we ship something good-looking? That's the real purpose of Steve's rant. No matter how much politicking or boosting you do for this important service-oriented architecture, it doesn't work unless you have a service-oriented org chart. And Google does not, apparently.
The big big question for the internet and decades in the future is, you say you're going to organize the world's information. What is the organization going to look like? I think it'll be more interactive. The API will be there, there will be writes. It will be less centralized, with the appropriate authorities owning data and providing an interface to their small piece of the world's information. I think that's eventually going to mean you own your identity and provide as much interface as you care to. The arc of the internet is long but it bends toward decentralization (assuming we keep it out of the hands of the fascists).
For me Amazon is a microcosm of that future, and it's going to be interesting to lead the way there.
What I'm wondering next is, What is the practical take-away for startups and relatively small efforts that are looking to scale? Regardless of tools-stack, what should a forward-thinking developer do? Is the answer to design around a RESTful API specification right from the beginning, then building layers of server-side and client-side code exclusively using that API? etc. etc.
So first, take that stuff Steve said about extensibility to heart. He has another blog somewhere, oh here it is
about software that is alive because it's extensible. That is true of your startup too. You don't want to be a "site", you want to be a "service". And that means you want to be an authority for a unique kind of data, that you want your users to create and use.
I think the Google+ data is pretty unique and cool. I like the user experience. But you can't call it a service, which is bad news until they get their crap together.
I'm a strong believer that flowing data puts pressure on software to work correctly. You want a public API because you don't assume that you and your team are world class geniuses who have exhausted the search space of valid use cases for your data... but your customers can, close enough. (A very Amazon virtue: start with the customer.)
You want to have a well-designed interface for yourself and your users because it's so painful to scale, migrate, control security, etc. without it. So sure, I would say start with it as early as you can stand. Make it public as soon as you can. Allow your users to contribute and build on your data and service.
You'll probably treat your public-facing interfaces with different levels of scrutiny than internal-only ones. This is convenient, but it might be a mistake. You don't want to put off security or user data integrity until it's too late.
Having multiple services means that you can scale them independently. This costs some overhead but you'll be able to right-size your hardware, say with appropriate fleets in EC2.
Sorry that's all kind of generic, but that's about as deep as I would go without a real-world example to talk about.
The High Scalability blog is one I would recommend at the leading edge of this thing. I see posts on the front page alone that cover all I've been talking about and more.
It would be fantastic if someone - maybe you, since you've got a high-level 10,000' view down to the on-the-ground detailed experience - could consolidate this into an article and provide a guide on how to build software as a platform from the get-go. Any chance of that? :)
Excellent insights in Steve's post.
And... after spending an evening looking at Google's calendaring API's... he's got a couple'a points.
Anyway, after reading this I feel really hungry to read more of such posts which tell you what the turning points were of a company and why you should be doing it too or not. Anyone have any links to similar such-must-read posts?
That was the best and most truthful article I read in a long long time.
Sort of relevant. Different mindsets.
I don't completely buy the argument (the marginal utility of learning from the first and second iteration isn't always as meaningful as you might think) -- but I partly buy the argument. And it's sort of relevant here. I.e., it's hard to be both inventive and an integrator. Though once you're aware of the problem it might not be that hard.
At that time everyone was praising about bezos, amazons culture.What circumstances changed the views about amazon? Honest question.
I'm struggling to see how someone intelligent enough to work at Google could not figure this out. Perhaps it was just an error caused by posting too quickly, or it wasn't an error at all.
From the examples, this would be a very valuable documentation to have access to.
You obviously read a hell of a lot faster than I do.
I don't completely buy the argument (the marginal utility of learning from the first and second iteration isn't always as meaningful as you might think) -- but I partly buy the argument. And it's sort of relevant here. I.e., it's hard to be inventive and an integrator. Though once you're aware of the problem it might not be that hard.
Amazon was a purely political environment where, if you weren't watching your back you'd get stabbed and become a rung in someone else's ladder. In our group, the manager had zero engineering experience (literally had gone to college to be a prison guard, somehow ended up "managing" programmers, though barely computer literate.) In fact, it was so bad that when I'd finally had enough, and quit (because my transfer to the AWS team was blocked by the prison guard) I vowed never to work for anyone else, ever again. Which means, I had to do a startup.
Anyway, the SOA effort was in full swing when I was there. It was a pain, and it was a mess because every team did things differently and every API was different and based on different assumptions and written in a different language.
But I want to correct the misperception that this lead to AWS. It didn't. S3 was written by its own team, from scratch. At the time I was at Amazon, working on the retail site, none of Amazon.com was running on AWS. I know, when AWS was announced, with great fanfare, they said "the services that power Amazon.com can now power your business!" or words to that effect. This was a flat out lie. The only thing they shared was data centers and a standard hardware configuration. Even by the time I left, when AWS was running full steam ahead (and probably running Reddit already), none of Amazon.com was running on AWS, except for a few, small, experimental and relatively new projects. I'm sure more of it has been adopted now, but AWS was always a separate team (and a better managed one, from what I could see.)
Regarding Bezos's micromanagement: I do remember, one fall, in the run up to christmas, surfacing an issue with the site several times. My manager told me that his boss didn't want to change it, but I knew it was a bug. I went above his bosses head and told that guy (who was a Bezos report) about it. I even cced Bezos on an email about it, and of course, the VP chewed out his underling who chewed out his boss, who chewed out me.
Then, at 3AM, the night before I was supposed to fly out to visit my parents for thanksgiving at 10AM, I was awakened and made to fix the problem. The problem I'd wanted to fix 2-3 months earlier. The problem I'd gotten chewed out for trying to surface but been told "won't fix" all the way up and down the chain of command. Because Bezos had gone to buy something on the site and had seen the problem himself. So, my thanksgiving trip was ruined, of course, and I had to do it- RIGHT THAT MINUTE- in the middle of the night.
The icing? After fixing it and going back to bed, and coming in the next day (which was a vacation day, mind you, as I was supposed to fly that day...) I got chewed out by my boss for coming in at 10am.
I don't know about you, but if you get woken up at 3am and spend 2 hours coding, you should be allowed to show up for work the next morning at 10am.
Bezos was right that it needed to be fixed. However, he must be a B player because his direct report was a C player who wouldn't let me fix it when it was discovered.
Yeah, I wouldn't recommend you go work at Amazon.
Sorry if I've gotten off topic. It's rare that you can find candid descriptions of what it's like to work somewhere.... since Steve felt free to be candid, I figured I'd share my experiences. I also worked for other large companies, like, for instance, Microsoft. Microsoft was weird in a sort of cult like way, and had its own management problems, but was much more enjoyable... and really treated their employees a whole lot better. At MSFT, hardship was having to share your office with another programmer. At Amazon, I was literally in a hallway, with a dozen other people, with major foot traffic walking past my desk (And right behind my chair) all day long, a lot of noise and a very large window over my shoulder reflecting right into my monitor... all day long.
Worst Job Ever.
Thank you for indulging my venting.
 It wasn't just me either, by the time I left, %60 of the team had already gotten internal transfers or resigned. I was being loyal, and went to HR to try and get some advice or mediation, but despite being promised confidentiality, the notes of my meeting with the HR rep were forwarded to my boss.
 At amazon they have this crazy idea that engineers should have pagers. I'm sure it sounded great at the time. I didn't have the pager that week, but that didn't matter to the boss, who knew I'd been the one to find the issue. So he called me. I think the phone rang for a good 20 minutes before I woke up.
Never let your employer give you a pager, unless you're an ops guy.
 After I left, and after my team was literally decimated by the hostile environment created by our boss, I found out he got promoted! Yep, now he's managing managers.
 Why was the boss up at 3am? Well, Bezos called him, but he'd been up already... he was a hard partier who, just between you and me, also was selling drugs on the side. Most of the stoners in PacMed were getting their bags from him.
True. Offer rejected.
(And you wonder why people are always posting to HN about how they can't hire anyone. The problem is not that people don't want to work for you. The problem is that you can't afford them.)
And I think the general first-world deviation isn't that big either, apart from the Koreans (and to a minor degree, Americans).
It probably varies a lot depending on company culture. A friend working at a startup recently got hi-5's from the bosses when he said he had worked 11 hours a day the entire previous week, no talk about taking compensation leave to rest or anything like that. At my company (not a startup) an 11 hour day would be pretty extreme, and if my boss was aware he would probably insist I come in late the following day.
We do still manage to have a pretty good economic output and some business success stories though, so there might be something to be said for working fewer hours.
From my personal experience I can say these guidelines are not strictly adhered. The young, university educated people I hang out with all work more then 40 hours and take about 20 vacation days and work 40-60 hours, more if necessary.
However I think direct comparison is pretty hard. What does count towards the total amount worked? For example including social drinks in their total biasing the amount upwards.
"Nanny-Culture, Lack of Risk Taking, Not Sharing
What makes Finland such a wonderful place to live and raise a family may ultimately be what kills it as a startup hub."
So e.g. 2 week vacation == 10 work days off.
As for taxes, I'm Norwegian, live in the UK and looked into moving to California. At my income level taxes would end up within 2-3 percentage point of each other regardless of which of the three places I'd live.
Difference being I'd get far more services for my tax money in the UK or Norway.
There certainly are places in the US where you'd pay far less taxes than in almost all of Europe, but far from everywhere.
If not that, it's when they go to the doctor in France and ask about billing and get a funny stare.
Strangely enough, this doesn't seem to have a straight-forward correlation with yearly hours worked. Italians have about the same number as Americans, but 20 mandatory days and quite a lot of Catholic holidays. Koreans and the Greek seam to top that list, although I'm currently not a big believer in Greek statistics…
Plus an additional 6 "personal days".
That being said, I've yet to actually take a vacation day at Amazon, despite regularly getting automated e-mails about it from HR. I send a polite OOTO e-mail to my team and that seems to be sufficient. This may very from team to team and manager to manager.
Other mistake I made-- I'd been working for startups for so long, that I really, really wanted a nice, stable job, where I would be able to put in 40-60 hours a week, and leave my work at home. That's something they pitched me on, too. So, I compromised... I figured, less stress, a little less compensation.
Turns out, it was much more stress. Even if your hours are lower, really bad management can make your life terrible. (and it wasn't just my boss, it was pretty much the whole of engineering management, near as I could tell.)
The depressing thing is, when you do get some time off after pulling long hours for a tough project, it's all done under the table. Amazon is extremely cheap when it comes to off-time, so managers essentially have to put their ass on the line to let their reports get well-deserved downtime.
Kudos to the bosses that do it, but one of the reasons that eventually convinced me to leave was that... things like this shouldn't have to be done with a nudge and a wink.
Oh, wait. I misread that.
And yes, one guy came in and introduced himself as the 'bar-raiser' sat back in his chair and expected me to be somewhat impressed by this.
The way it works at amazon is, if anyone doesn't like you, you're out. It doesn't matter if its relevant or not. It doesn't matter if the person who doesn't like you knows nothing about programming. My boss- the one with the criminal justice degree- would often veto people because they "weren't good programmers". Of course, he had no clue who was a good programmer and who wasn't because he couldn't program!
Sometimes, a person will be angling for the position you're interviewing for. Only, that person will also be included in in the interview loop. They have an incentive to say no, because they want the job.
Inside Amazon, this is called "keeping a high hiring bar". So, they go thru great expense and hassle to bring people in, and then pat themselves on the back when they arbitrarily rule someone out. Saying no, means they're doing their job, keeping that bar high! They once said no to a guy I'd worked with previously, who, as far as I'm concerned, was a much better programmer than me. (Better looking, gets along with people better, etc as well.) I mentioned this to the hiring manager, and he said "We have to keep a high bar!"
How many people do you think want to interview with Amazon again after going thru a 6 hour process like that?
Since their process is completely arbitrary, sometimes they get really great people (god only knows why they stick around-- I think a lot of engineers don't really know their own worth) but they also get a lot of people who randomly rub the right people the right way and get hired. It was completely arbitrary, it seemed to me.
I'm more than capable of recognizing someone who is smarter than I am, and as a rule of thumb I prefer to work with people who are smarter than I am.
Also, as mentioned above, it is harder for many B-level people to recognize and value an A level person in the hiring process. An A may come across as arrogant by describing things as good or bad to a B when they're simply knowledgeable and confident because of that.
There were some A programmers at Amazon, and they were respected, but they weren't the ones who made the hiring decisions. Since any B or C can veto any hire, A people often didn't get hired in favor of B or C people. (and A people who already worked there, eventually, got excluded from hiring loops because they're "needed elsewhere.")
prevents B players from hiring A players
Ego and in a big corporation, the fear of the hire going ahead of you.
Also another deadly combination is the B player who hires another A player thinking they themselves are A+ player and spoils the fun for everybody.
there is some research that shows that your own competence directly affects how good a judge you are of your/others relative competence, i.e. people who are low competence will rate themselves routinely as 9-10 / 10 but people who are high competence will rate themselves 5-6 / 10 ...
> How many people do you think want to interview with Amazon again after going thru a 6 hour process like that?
Not me that’s for sure, and I thought it was very arrogant of them at the time to suggest that I go off and getting some network training on my own time and expense and apply again next year. Like I’ve nothing better to do.
Someone with significant skills is going to have significant self esteem. Are they going to want to put up with being treated that way?
In my day, the "bar raiser" didn't announce it, and so you never knew, if you even knew they did that. Announcing it seems profoundly stupid. And arrogant.
This seems to be true for the vast majority of businesses.
Boot polishing manager's shoes works wonders in many companies. In a lot of places especially large corporates, Managers build their own gang. Loyalties run in the hierarchy throughout their stay in the company.
Now you might be the greatest guy on the team, but if you don't accept the manager as the king you are screwed. Your effort goes down in the drain. You work real hard to prove yourself and you get branded as a bad team player. Yes you are expected, to give away your work to the managers favorite 'kids' in the team.
I see this thing originates very early, even during the interviews itself. Such managers have knack to identify such people. And they generally get hired.
Needlessly to say such managers once in the company won't rest until they have ruined everything they will ever touch. And people whom they hire replicate the same. This continues until the whole company is left to rot.
We interviewed for 4 hours, then broke for a 45 minute lunch (where we were basically interviewed/watched by employees), then interviewed for another 3 hours. Then several of us were taken out for dinner by employees where, duh, we were quasi-interviewed for our social skills. That kind of day is crazy and I never want to do it again.
Amazon seemed to pay pretty good starting salaries. I remember in 2008 losing an intern because we couldn't match the salary.
I mostly don't have responsibilities (family) and 6mo living expenses and supreme self-confidence (aka the perhaps non-rational belief that'll I'll find work or at least make a living no matter what). Because when people try to pull shit like that. I email Bezos and all the people who said won't fix, (paraphrased) "Fuck you, you ignored me months ago when I brought this up. Now I'm ignoring you when you ask me to drop everything and fix this right now! You should fire these incompetent fucks but you will probably fire me. That's fine, this company doesn't deserve me. Happy Holidays"
It amazes me that Amazon managed to be so successful, despite treating their employees so badly.
It certainly matters a lot to them; it matters from a moral point of view; but from a practical point of view the only individuals whose happiness matters are the customers.
Of course, if your employees are so unhappy that they make your customers' life miserable, you have a problem. But Amazon is still very far from that.
Attrition at Amazon is at horrific rates. I know the actual number, though I'm pretty sure that'd violate my NDA to reveal. It's high. It's really high. Guess a really truly terrible number. It's probably higher than that.
The stream of people leaving the company isn't a trickle as it is a well-managed places. It isn't even a modest stream. It's an outright deluge, particularly in this market where everyone else is desperate and willing to pay (protip: Amazon, as a rule, is not).
This is starting to show itself in many places in the company. In a lot of places there are no longer any senior engineers left who know how the system works. In their place are fresh-faced college grads struggling to contend with a system they neither have the experience nor the documentation to maintain, much less extend. The average tenure of the Amazon engineer is embarrassingly short, and coupled with the company's notorious lack of documentation, it means that technical debt is accumulating at an alarming rate.
There are constantly projects to completely revamp/redesign some portion of Amazon's systems. In my observation this is less about an honest improvement over the old system (sometimes there IS no improvement) but rather because nobody knows how the fuck the old thing works. The truly sad thing is, they have trouble keeping engineers around long enough to even see that redesign through.
If you know where to look on Amazon's site, you would see lots of evidence of this already. Extremely deep integration into systems that literally no one still with the company understands. Tons of mission critical code whose original author is long gone, no documentation exists, and in fact the code isn't owned by any team. I've seen many hacks to work around these problems, though I doubt they'd be super apparent to the common Amazon shopper.
The problem here, like many other companies in a similar stage, is that very little of Amazon's management has a technical background at this point. Bezos certainly does, and I still think he's one of the best CEOs in the industry right now, but many of his underlings... not so much. A lot of management do not see this accumulation of technical debt. Difficulties working with said debt is perceived as either "natural" difficulties of working with technology, or worse, incompetence. Amazon's internal existence is a depressing cycle of: hire people, people spend eons learning how the previous guys did it, people write code, people get fed up and leave, hire more people, people spend eons learning how the previous guys did it...
If any Amazonian management is reading, I have one thing I really want to drive home: stop being so fucking "frugal" with equipment. It is a travesty that my development desktop was a Celeron worth $300 on eBay. Not because I like having the newest shiny, because I couldn't even run multiple dev environments on it, like I had to for my JOB, and building my code took 12 full minutes, instead of, say, 3. Stop shitting on your devs with dinky 5 year-old monitors and give them some screen real estate. There are plenty of studies that outright prove the productivity boost that comes with bigger monitors.
If it hasn't hit them yet, it might after the rant.
Given the Dilbert Employer From Hell publicity generated by the rant and the subsequent discussion, I'd say that they might have trouble filling in for the people that leave. Heck, even some of their current employees might read the rant and realize how crappy their current situation is.
Off on a tangent:
"I couldn't even run multiple dev environments on it, like I had to for my JOB, and building my code took 12 full minutes, instead of, say, 3."
Local dev environments? My current workstation has a mere 2GB memory and an Athlon X2 which was all the rage in 2005 :) The builds fly, because they are delegated to a compile farm. The added benefit is that I don't have to muck with the build tools settings.
Amazon has lost a lot of key tech talent, it's been happening since about 2006 when the economy picked up a lot more.
But yet Amazon, product-wise, is fast-moving, innovative, and often right on the money when it comes to what customers want. It's a lot like Apple in that regard.
So it becomes difficult to grok how this seemingly innovative company that has its finger on the pulse of retail (and beyond) can become such a doggish place to work.
It's the ultimate siren call isn't it. It took me two years before I decided throwing myself at that brick wall every day wasn't worth it, cool products or otherwise.
I just don't get it. Monitors are items that survives multiple tech generations, have huge demonstrable benefits (moreso than speedy laptops or pretty offices), and don't even cost much at all! (certainly less than SSDs or high-end MacBook Pros!)
In my book, it means that bean counting has taken over productivity. That's no place to be a software developer.
Maybe this explains why I've been contacted by Amazon recruiters three times over the past three years...
I don't think Bezos has a technical background... I thought he was a hedge fund guy before moving out to Seattle. But I agree with everything else you said.
The funny thing was, when I got hired I was told that they were going to let people use Macs and that it would be a few months. I had my own laptop I was willing to bring in and use, and though they were trailing macs with a few people, I was told I'd be fired if I used my personal mac for work.
So, I had to use a piece of crap HP laptop. The thing was always in the shop. There were many days when I basically lost an entire days worth of work because it would break. They replaced it several times. (and I was babying it.. .it lived on my desk for the most part.)
So, not only could they have had zero costs by letting me use my own machine, but they lost more than the cost of the laptop several times over in lost productivity by me not being able to work when the machine they made me use was in the shop.
And when I left, they still hadn't approved macs (or maybe the IT department decided they were "too insecure" or some BS.)
While I was there, they were constantly starting initiatives and then abandoning them. Like the restaurant menus. The movie schedules. The scanning of mail order catalogs!? They'd start some project, do a press release, then disband the team and never advance the code again... it would just sit there and rot.
I think one of the reasons that most of management there is not technical is that non-technical people are threatened by technical people in that role. Technical people have quite an edge when managing programmers. I think engineers who express an interest in moving to a management role are often perceived as a threat.
Of course there's room for improvement (SSDs, linux desktop, bring your own OS) but IT is aware of the pain points and making the appropriate cases for expenses and head count.
"Bezos graduated from Princeton University in 1986 with degrees in computer science and electrical engineering"
John Doerr (big-time VC) was at some of Amazon's early off-site meetings and he would always talk about how gnarly it was "inside the sausage factory". Meaning that when you knew what was really going on inside a company, nobody would want to work there.
So what can you say about this post posted here 3 years ago. http://news.ycombinator.com/item?id=465882. The blog post was down, archive.org didn't help also :). But as far as I remember the blogger was praising about bezos leadership skill. Also comments on HN supported that. I am reading HN for about 3 years. In first two years I never saw this kind of amazon bashing.In fact there was many post praising about amazon's internal culture. How on earth things change so dramatically in last one year. Is there some kind of PR war happening here? Honest question.
Edit: found archive.org snapshot http://web.archive.org/web/20090211060734/http://blog.layer8... .
He may not write code, but I think it would be a mistake to claim he isn't a technologist.
If the rest of the company's management had half the managerial competence of Jeff Bezos, I'd run back to that company with arms wide open.
There has been, and continues to be, massive propaganda efforts from Amazon to try and pitch them to people, and to position Bezos as a visionary in the style of Steve Jobs. In fact, I saw an article the other day comparing the two.
It's nonsense. Bezos, in any other context, would not be a bad person. He's got good management skills, and he has a desire for keeping the quality bar high. But the problem is, he doesn't give a damn about other people.
He's got a very utilitarian viewpoint of other people. Every interaction with them, from his perspective, seems to be about how he can best profit from them. He sees people as resources to be exploited.
I'm a pure capitalist, I don't have a problem with trade, but he's more like a predator.
At least, this is what my interactions with him, and the culture he created at Amazon tell me.
You can sustain such an illusion only for so long, however. In seattle, as far back as at least 1998, everyone know that Amazon was a terrible place to work and an even worse place to do business with (as a supplier, etc.)
I knew that, but I didn't want to believe it, when I took the job.
I do accept responsibility for the stupidity that I displayed in doing that, and in sticking around after I should have left as others have pointed out. I could have avoided this, and should have, by simply holding myself in higher esteem... and never taken that job.
I couldn't help noticing that if you go the Amazon.com page for Isaacson's Steve Jobs bio http://www.amazon.com/Steve-Jobs-Walter-Isaacson/dp/14516485... , you see http://www.amazon.com/One-Click-Jeff-Bezos-Amazon-com/dp/159... on the first page of "Customers Who Bought This Item Also Bought" results; I couldn't help wondering if that placement is solely determined by a computer assessment of what customers also bought. But who knows, maybe it is.
For all the crap I've thrown at Amazon in this thread, if there's one thing they are clean of it's working against their customers. It is, by a very long shot, the most customer centric big company I've ever seen.
I'm pretty convinced this is true in general. I just couldn't help wondering if this one case would be a little too tempting for them. But absolutely, it could be completely on the level.
I think the result of this is that a lot of employees believe it.
I think people generally, want something to believe in.
If you give them something to believe in, and it seems plausible, and especially if its tied to their income, they'll believe it.
And they'll work harder for it.
It worked on me-- that's why I didn't just go back to sleep that night. That's why I stayed on for several months after that, until things became untenable for me. Hell, I was going to stay with the company, I had met the AWS team, had gotten an offer for a position there and was in the process of transferring, and only quit when that transfer was blocked!
In a way, "well run" could mean that you get a lot of work out of your employees, even if they are miserable. I think optimizing for employee happiness can help you, but it isn't necessarily the only way to have high productivity.
- What's my name? (Covering your badge, naturally)
- What am I working on?
- Where am I from?
If the bigwigs can't answer that, I'm sorry, you've moved past actual startup-dom and you're just in la-la land where you just think you are one.
Unfortunately, I only thought of this acid test after leaving a place with 30K employees which had started proclaiming it semi-regularly during their Friday get-togethers.
There're varying degrees of success at this, ranging from "if I squint really hard, I could almost see it" to "Yeah...I don't think so." But I give 'em props for trying, as most companies with 30k employees don't even make the effort.
BTW, I could go all the way up to the VP level within the Search bigwigs and they'd be able to answer this.
Also, if they're public, they're not a startup!
This country really needs a damn visa for technologists, or something.
Anyway, at some point software development became a very popular career choice and so there is an endless supply of warm bodies graduating from colleges each year, all of whom know the Amazon brand and think working there would be really cool.
I was migrating a legacy system to a new platform and we got a call from an irate customer. Apparently, he had just paid us last week but now his account was shut off. The odd thing was, no one I talked to even knew what product he was talking about, or what website he was on. I checked with our payments person, and he had sent us a check, but no one knew what it was for! Eventually I tracked it down to some legacy discontinued product that had been handed off between three successive engineers who left the company, then forgotten.
You don't have to treat your employees well, or even make a good product, to be successful. You just have to get people to give you money.
Most people believe Amazon's press releases. In 2006, they said that AWS powered Amazon.com. It was a flat out lie. But how could I prove it? Fortunately, others there at the time have posted in the thread as well. But come back to HN in a couple weeks when AWS has done their next press release, and say that, and you'll likely be down voted to oblivion.
The thing is, Amazon, and Jeff Bezos are damn good at spin. You see glowing articles that talk about Jeff as if he were a visionary, boldly leading his commerce site into the future of web services. (As I understand it, AWS was pirate operation, which got cover from a politically endowed VP in the company, and they were able to get it far enough along that Jeff saw the value of it, when he'd previously wanted to knife that baby.) Their manipulative ways extend to other people as well.. and when you're getting most of your stuff from them, and you've had good customer services, you naturally inclined to want to believe in them.
People believe Amazon must be good in all ways, because they are good in one way.
Amazon is really, FREAKING, good at fulfillment. Amazon prime, their return policies, their streamlined ordering policies... at this point, ordering things from other websites has so much more friction that they just feel old. "You mean I have to enter my credit card? Why don't you just sell this thing on Amazon.com and let them do it right!"
I don't know how Amazon treats their stockholders. They treat their employees terribly (but they do tend to hire a mix of type-A aggressive and meek. The meek just are grateful to keep their jobs and the Type-As love the political sport). But they treat their customers damn good.
And they have the fulfillment thing nailed cold. I give them respect for that.
But you are disgruntled. You've got excellent reasons for being so. I always wonder why people will use things like that as stoppers for the discussion, the fact that someone is disgruntled alone should not be cause for dismissal, the underlying reasons are what matter. And you've gone over and beyond the call of duty in my opinion here and I am frankly surprised that Amazon manages to operate if they treat their employees like this.
All of the above, and I really don't see the ad hominem in there. It's just a description of a state of mind with respect to another entity.
Example: My girlfriend sat on my Kindle and broke it. I called and said that it was broken. Without any questions they just offered to send me a new one for free! After something like that I will always go back to Amazon (and tell my friends about it)...
That's amazing to me. I thought such things were never done in software anymore because: why not leave the company and do the same thing in your own startup? Same hard work, high risk, etc, but with giant upside. Was it because of something wrong with Seattle's startup culture?
Not only for deep funding pockets, but also for existing relationships. Say you had an idea that would dramatically improve online retail - you can either develop a white-box solution and try to shop it around (and have them clone it out from under you), or you can build your own online retail empire (good luck), or you can join one.
It's part of what got me to stick around AMZN as long as I did. Myself and some colleagues were very much of the internal-entrepreneurial mindset. We developed lots of prototypes, some of which received rave recognition throughout the company. I left after I realized my management chain (can't speak for others) had little to no real interest in turning them into products. They were more than happy to give lip service, trophies, and have me put together presentations on how innovative and scrappy we were, though.
(I've never worked at Amazon, but I'd also heard that AWS was a small skunkworks project that basically got cover from Amazon's CTO, Werner Vogels, who protected and nurtured it until it was too big to kill.)
A lot of this is due to the lack of a VC infrastructure I think. no sand hill road there.
This is not to dispute your observations in any way, shape, or form. Just that it's a huge T-Rex from the outside in terms of objective metrics like products shipped, even if it does have dysfunctional internal organs.
Never forget that.
But for other matters, HR does pursue their own agenda, not yours. It's important to remember.
I left before my first vest as soon as interesting start up showed up (start up didn't survive, but at least it was fun).
(and Google overestimate more than most...)
FWIW, I believe this is the exact kind of thing that glassdoor.com wants to hear.
Also, when I left two years ago they weren't using AWS for anything internally. S3 got a lot of use, but anything considered essential to keeping the site up had to run on real hardware.
That first month after I quit, it was such an amazing feeling not to have to go on call. I agree, never take a pager unless it's an essential part of your job.
Your rant paints a bleak picture, and I hope my experience of the last 2 days was coincidence.
There is your problem right there. Why in your sane mind would you even consider fixing it at that moment? You should have told them to FUCK OFF - right at that minute - and gone back to sleep. Right there and then a loud and sound go fuck a rake and fuck off.
I think, ultimately, it is kind of like an abusive relationship. People stay in them because they are manipulated by the abuser. Amazon has a manipulative corporate culture. It's a little bit like a cult.
I'm actually a bit hesitant to talk about this, even years later, because I expect to be attacked for it. (But I'm still pissed off, years later. And I don't really hold grudges, normally.)
I don't know that I'd actually have the stones for it. But that would be the right choice. I imagine you'd agree, better to get fired, then and there, than be pissed about it for years.
That is exactly what it is. I hope that your posting here will get read by lots of people at amazon that are treated like you were (or worse?) and that it will open their eyes.
One problem of being in an abusive relationship is that you no longer see it as such.
I agree that it is quite like an abusive relationship which is of course why you should get the hell out of there. Nothing you say or do will change the other part in the relationship (amazon in this case) and you should just learn your lessons and move on.
Although your employment at Amazon is not something that you look back on with fond feelings perhaps you can agree that it is something that has taught you a lot and in that regard was a good thing for you?
You don't like politics, but it seems like at some point you have to come to terms with the necessity of politics to effect change in a situation, that is to say if it's worth it. You clearly have an opinion on how things should be done. Bottling that sort of stuff up is toxic.
Anyway, glad you are out of that mess.
You can't make people take responsibility. Hell, Bezos would probably say I should have made the change anyway "You failed to take initiative". But if I had made the change, I would have been fired "You're not a team player".
Asscovering is the rule of the day and its very easy in that environment.
And then this would get noted in your performance review.
Weakness: bias for action.
If I never hear the phrase "Bias for action" again, I'll be happy. (Though I laughed when you used it.)
A bit unfair, don't you think? There have been several HN threads about Amazon in the last few months where former employees chimed in, and nobody has been maligned for it.
I don't consider HN to be a very receptive environment, especially if you're saying anything perceived as "negative" about certain companies, including Amazon, Google, Facebook etc. Though it varies widely, of course.
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 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 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.
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.
But if I had to summarize the main point, I would choose: "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." Start with the platform. This is so obvious, yet a lot of middle and higher managers ignore this either because (i) they are totally ignorant (see Peter's Principle), sadly the case that I usually face, (ii) they pragmatically ignore it, because they are doing greedy optimization for the next 6mos-year and developing the platform is just a "waste of time", or (iii) they ignore developing and making available the platforms they already have because they think it's their "competitive advantage".
The way I read his post, Google's case seems to be (iii). They have great internal tools and platforms for many years now, why they wouldn't develop good APIs around these and make them available is a mystery to me. Wouldn't they have eaten AWS for lunch if they platform-atized their Map-Reduce tools, say around 2004?
The problem is really technical. Because of the open codebase and "edit anything" culture, basically every piece of infrastructure at Google, unless it was designed at the start for open-sourcing, has dependencies on every other piece of infrastructure. Untangling them takes far more time than you could 20% on. That's why you don't see more open-source platforms from Google.
When I was learning to program, I was very interested in 3 Google's core products API: Search, Adsense and Adwords but got turned off because their APIs are very crippled. I understand that Google do not want to expose their core products (cash cows) to abuse, however that's exactly what Steve argued in parent's quote. If the closeness (nothing to do with code) is already in Google's mindset, how do they become a "platform oriented company"? Steve says that it will take a dramatic cultural change to catch up. Steve also chooses Amazon's example to prove: when the years of explosive growth were over, Jeff Bezos had to think of some new expansion strategies. He was betting on the cloud, whatever that means, or on being a platform, and he implemented his vision with an iron fist, because paradigm shift is hard, you have to consistently push people into doing it.
The path requires far more finese than "always create a platform". You need to balance over-engineering with the ability to re-evaluate previous decisions.
I agree Google has wandered far off this path, but imnot sure they are on any more well defined path than Yahoo. They just happen to be earlier.
Sometimes you don't know if a product is worth being an entire platform until it's been thoroughly field tested. It's too expensive to assume that everything is.
Perhaps in Google's case there could have been more foresight, though.
Yet, every product developed at Google seems to be developed with absolute scalability in mind from the get-go, wasting lots of effort invested into scalability in the case of the product failing to get significant customer adoption.
Since 100% of successful Google products will be large, it makes sense to design for scale from the get-go. But if some of Google's products won't end up being platforms, it might make more sense to bolt that on later.
The key paragraph for me is this one: 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.
This is my perennial Google grumble in a more elegantly stated nutshell: Google is a magical playground of wonderful things, few of which are finished. It's magical because the parts that work do so at great speed and with almost spookily good results. It's maddening because some things are automagically interoperable and others are head-deskingly separate or incomplete. The main thing I use Google Docs for is word processing, and though it's great to have stuff in the cloud it's just absurd - absurd - that when I move to an Android device the UI is unavailable, or that the full UI lacks support for things like user-defined text styles.
Thing is, Docs owuld be fine if I was just using it for a personal journal or some glorified notepad. But now that I'm a student again, I'm writing letters and model legal briefs and things like that, and it's just a pain in the ass for that, so every day I flirt with reinstalling MS Office...2003. The stuff I need to do was all in Office >10 years ago, and I would even put up with Clippy again just to have things like outlining, styles and templates.
Steve Yegge should get a seat on the board, pronto.
Of course there is the risk that he might get something changed inside of Google (I'm thinking unlikely) it would be a pretty amazing thing if the Google infrastructure was available as a platform (and no AppEngine does not count)
See my comment on that post for why I think his taking it down was a mistake.
He probably proved the accessibility point by the simple fact that he accidentally posted it with his personal and not corporate account.
Personally, I'd like to think that if I posted an essay or especially a rant that I later thought was a mistake, and decided to retract it, other hackers would respect my decision and not reproduce it. Sure, it's still cached somewhere, and assholes on 4chan will repost it just to fuck with me. If you really want to, you can probably find a copy. But I'd like to think that our community is classier than to spread it around deliberately, knowing it's something I'd rather not put my name to.
What's the benefit to the community the other way, aside from voyeurism?
DHS, CIA, NSA, FBI, ATF, and the DEA.
It's one of those fantastic, really wonderful Stevey's rants, on a par with "the emacs problem". I'm really incredibly happy to have had a chance to read it. So yes, it's probably bad etiquette, but OTOH will it hurt Google in any way? Certainly not. So, hey, thanks for the mistake M. Yegge, and continue the good work.
To do any work using AdWords and Google Apps and Google Analytics, and Webmaster Tools I end up using three accounts and two browsers.
If Google did Platforms, then the first one to fix is "who the F* am I?" (Authentication and Access Control) and make it get used everywhere.
Hell, Google can't even work out what to name things. So you get scammers exploiting Google.com naming to convince marks that the scammer really works for Google. This is also a Platform issue - Google.com should be for Google stuff - not abusable to allow, for example, spoofing a search results page so you can claim that Google has given you special access to modify search results (one SEO scam that I keep encountering). Non-Google stuff should be on an identifiable domain, which will eventually permeate user consciousness as being "not Google content".
I speak as a pure outsider and consumer of Google stuff. But I'm sufficiently vexed by Google Apps/Accounts/Profiles to want to lose the paid for services as much and as soon as possible. I get better (or no worse) treated when I don't buy. :)
And Stephen's point about Google arrogance - yes, I think Google is arrogant. I was an AdWords Help Forum Top Contributor until Google decided that small businesses should only receive AdWords support from other users, not Google. That's seriously annoying. I stopped contributing when it became clear that Google thought small businesses should be denied any customer service - you really can't have third parties answering questions about why Google isn't accepting a specific credit card, or even why a specific disapproval has been given in an account you can't see. That was pure arrogance - dumping on volunteers and crapping on small businesses. I'm told it's different now but I still have such a bad taste in my mouth from the experience I don't want to get involved again. Google can be arrogant, 100%.
Saying "you are the product not the customer" is not only popularist, but wrong.
Think about Skype - most of their customers don't pay, but they derive value FROM Skype - AND they add value to the paying customers.
Simplifying complicated markets with statements like "you are the product not the customer" is a disservice to the discussion.
For example, The New York Times offers some value to the owners of those eyeballs, but note how they work: they lay out the advertising first, then what's left is what they call the "news hole" and they put some stuff there. The news hole lets them farm the eyeballs. (The ripe juicy professional-managerial variety.)
This is not something programmers like to think about, so they tend to wear ideological blinders. They don't simply observe the money flow: who is buying and who is selling? The eyeball owners are not participating in a market transaction as either buyer or seller. Their attention is the product.
Think of sports teams - advertisers pay their salaries, but when they are performing on the sports field advertisers are irrellevant.
1) There IS no perfect product for everyone.
2) Making something a platform has some chance of addressing the above.
Me trying to make sense of it, but meanwhile let me say it aloud again. There IS no perfect product for everyone. Thanks, Stevey.
I LOL'd when I read this. How ironically arrogant.
That said, let's not fool ourselves. There is nothing more wrong with The Internet right now than EC2. It is poorly executed and Amazon's position as a market leader has made them incredibly lazy about improving it or contributing to the core technologies (Xen!) which are responsible for the most complex bits of it.
Part of me feels that this is actually written to the general public, and the whole public/private thing is a cover up.
This is highly unlikely. This sort of internal conversation happens a lot internally. There's no need to take it public. What would it serve? Some sort of escalation of the problem? Unlikely. It's more likely to get you a stern email than it is to get it heard.
Steve has no problems getting the ears of developers. I can't see why he would want to make it public.
Well I can speculate: Because some issues seem like real debates when you have them internally, and then you tell a bunch of outsiders and they go "uh, it's a no-brainer" and that tells you something you didn't know before: that you can't see the wood for the trees.
The thing that surprised me most about the OP is that Google actually sees itself as a product company. With the exception of search and maps (and perhaps not even search so much now) they actually aren't strong with their products, and (aside from the gargantuan scaling issues that they have to solve) they don't give the impression of working to improve their products. How much has gmail evolved over the years? Calendar? Reader? Sure, for all I know they are all tinkering furiously under the hood, but that is not what the outside world expects from somebody positioned as a product company.
(btw i didn't downvote you)
P.S. When I can trade HN karma for time off from work I'll start to care about it.
I don't think Google will accomplish its goal with plus however, because it's not being aggressive enough in collecting user data and integrating it with search. I think the Universities are in the best position to do this as they did with email and the web. The killer app will be a light bulb that makes extremely useful suggestions based on context.
This rant expounded here:
1. Steve Yegge has enough street cred of his own.
2. The article was an insightful and informative piece giving a rare opportunity to peek at the inner workings of two important tech companies.
I conclude that your assertion is most probably wrong.
POLL: Is Google+ little more than a pathetic afterthought?
I think he sees the problems, goes off the deep end, then either sobers up or is muzzled by Google's PR machine. Or Google may be thinking any publicity is good publicity.
No its not, because thats not what happened this time. He is pretty clear that he likes google and but sees some flaws. Did you even read the post? Hes not backtracking, he was just being critical about something to an audience he thought would be able to understand him. I could trash aspects of the product I work on to my coworkers too, that doesn't mean I don't think that it isn't overall good.
As for your comment about thrashing a product but loving the workspace: Yegge's criticisms run deep, they are not just about a stupid feature in a product; rather they are about the company's DNA.
1) No solutions - What exactly should Google do? What string of thought should we start with to make any sort of improvements?
2) Hard to follow - Yegge shocks you by seeming like he's insulting Amazon, he tells you some anecdotes to give himself creedence, and he starts to get to his point about accessibility and platformification a million paragraphs in.
3) Wrong forum - Why is this on the public internet? If it wasn't, Yegge wouldn't need to spend the first half of the article establishing his credibility. If he would talk to his peers, then they could discuss the meaty technical and strategic issues without meandering around in a nostalgic haze for thousands of words.
Yegge is not Bill Gates, and this is no Internet Tide Wave memo. It would be an embarrassment for Google to have this out there, if it weren't instead just an embarrassment to the author. It sounds like Yegge is more interested in stirring the pot and publishing unrefined thoughts than working on actual solutions.
Rant indeed. Get some sleep bro.