Recently, Steve Yegge published two rants, each of which has gone viral and moved the Internet conversation needle a bit. I liked both of them, thought they were generally well-argued and useful. Unfortunately, there are a few assertions of fact there that are just wrong, and may be damaging. So I thought that, first of all, I should encourage people to go read these pieces and, second, point out the things that are counterfactual.
The posts · Now at Medium (sigh, it makes me sad when another indie blogger migrates off their own platform): why I left Google and Who will steal Android from Google? Go read ’em.
Wrong: Google’s customer focus · Steve asserts that “Google has become 100% competitor-focused rather than customer focused.” He’s making the all-too-common error of mistaking Google’s users with its customers. Customers are the people who pay you money for your services, which in Google’s case means advertisers. Bear in mind that something like 90% of Google’s revenue is still based on search advertising. Google takes really good care of search advertisers, and deeply understands their needs.
Google also does a pretty good job of reaching out to developers because it needs people building on its platforms. I spent four years in the Developer Relations group, and know whereof I speak.
But users? Nope, because that means basically everybody, and nobody can afford to provide high-quality support to everybody. The only way to deal with customer pain is to make expert help from a real human being, and that’s just not affordable for search or Gmail or Docs or YouTube. The number of people who’ve only had their hideous, life-blighting Google problem resolved because they happened to know someone who works there is substantial.
Wrong: Amazon’s customer focus · Steve alleges that Amazon staffers only interact with customers once a year. Nope. Part of the problem may be that he pre-dates AWS, where I work, and where we talk to customers obsessively all the time, and I mean all the time. I personally do, and I don’t know anyone who works anywhere near me that doesn’t.
Wrong: Language coolness · Steve: “At the top of Snoot Mountain sit the lofty Search engineers writing in C++, which is considered cooler than Java, which is cooler than Python, which is cooler than JavaScript. And Search is cooler than Ads, which is cooler than Apps, which is cooler than Tools, which is cooler than Frontends. And so on. Programmers love to look down on each other.” That’s just crazy. I think a whole lot of programmers would rather work in high-level languages like Ruby and Python; it’s just that if you want to build infrastructural services that can handle a million requests a second, you probably can’t use that stuff even if you want to.
And last time I looked, all the coolest, hippest, “thought-leader-ish” people I know are building radical JavaScript frameworks.
Steve correctly notes that front-end programming is hard, but leaves out maybe the single most important reason why: It’s super-hard to unit-test properly. He also correctly notes (here and in previous outings) two of Android’s most horrible mis-steps: The Fragments API, and Gradle.
Wrong: What Android is for · Steve says Android is Google’s most important channel. That’s only if you don’t measure by money. From a business point of view, AdWords is five times more important than anything else. My personal opinion is that Android originally existed to prevent Apple getting a monopoly lock on the hand-held market and lock Google entirely out of mobile ads. Mobile ads still completely suck as a business, BTW.
And it’s actually not obvious that in the big picture, Android has had a positive ROI for Google. (Yet another reason why Oracle’s litigation is so stupid.)
Oh, and did I say? · They’re excellent blogs. You should read them.
Comment feed for ongoing:
From: dbt (Mar 26 2018, at 16:24)
Very good points.
One historical note: The Android acquisition was to protect Google's open web advertising business from potential dominance by Microsoft Windows CE (pre-Windows Mobile). It predates the iPhone announcement by far enough that they had to pivot from screen+keyboard to touchscreen-only significantly far into the process. There were still traces of the physical keyboard in the original android developer docs.
[link]
From: Kartik Agaram (Mar 26 2018, at 20:57)
> I think a whole lot of programmers would rather work in high-level languages like Ruby and Python..
Steve Yegge would agree with you there, but it doesn't actually contradict his point. Programming has sub-cultures. Based on my experience at Google, his description of the subcultures at Google rang true. C++ and Java are correlated with high status. But it's entirely just reflected glory from Search and Ads.
So the problem isn't that he's wrong, but that this is not a very useful lens. I find it often to be the case lately: Small programmer minds discuss frameworks; average minds discuss languages; great minds focus on problem domains (even if they accidentally create frameworks or languages in the process).
[link]
From: Alex (Mar 27 2018, at 00:08)
> Customers are the people who pay you money for your services, which in Google’s case means advertisers.
That's exactly what was the end of Yahoo.
[link]
From: Saverio (Mar 27 2018, at 04:07)
Interesting thoughts, it's always nice to see conversations with different opinions presented in such a manner. I think Yegge's point of view comes from a lot of frustration, and in that scenario it's easy to just diss everything to make your point stronger.
Just as an aside: I don't get the beef with Medium, which I think is pretty nice. Let alone the ease of use for writers, if came to your blog after reading on Medium, and the eye strain in here is *real*.
[link]
From: Walter Underwood (Mar 27 2018, at 09:08)
Steve Yegge just now figured out that Google is arrogant?
Yeah, Google customer support is nonexistent and their product design is so bad that they need it. I tried to set up G Suite for our home email mailboxes and it was such a disaster that I had to abandon a Gmail address to get out of it. Wow.
I'm using FastMail now, which is a delight.
[link]
From: Shakkhar (Mar 27 2018, at 12:47)
> He also correctly notes (here and in previous outings) two of Android’s most horrible mis-steps: The Fragments API, and Gradle.
Where exactly does Steve Yegge mention the Fragments API? I could not find it in either of the articles. Do you mean the _fragmentation problem_ (as Steve does)?
[link]