What makes them "wonderful engineers"? The vast majority are very smart, and obviously can code 'leet code like no tomorrow, but that doesn't make them wonderful.
Remember when the person who created homebrew couldn't get a job at google. That person created software used by a lot of people. He saw something that "needed fixing" and he fixed it. He fixed it so well a bunch of other people started using his fix. That's a wonderful engineer. Created a project used (and loved?) by many people. That's the kind of person you want helping to create products at your company.
Google puts so much emphasis on (coding) skills that aren't needed for the majority of the work done, and doesn't emphasize selecting for the ability to create things that people want to use. I also find the coding skills selection kind of amusing since they had to create a simplified programming language (Go) because so many of their 'leet coding new graduates couldn't handle C++ correctly. Perhaps being able to 'leet code in your sleep doesn't really make you a "wonderful" engineer either.
Perhaps it's overly reductionist, but I think a lot of The Google's issues come down to their self-image. To this day they're stuck in the year 2006 when everybody and their grandma saw them as "cool", "innovative", "not Micro$oft", and "not evil." Most average joes don't believe those things anymore and just see The Google as the default thingamahoozie for looking up stuff on their phone. The Google believed they could grow rapidly and structure themselves with ordered-chaos because they were the chosen ones. Their road has yet to have become bumpy enough that they get knocked down a peg and forced to look at themselves in the mirror. Their hubris has allowed them to believe that they have no serious competition; just because your competition isn't actively competing now doesn't mean they won't be down the road when you're weak.
In regards to engineering, the quality of engineering is largely overrated and isn't even that well understood in the first place. Most systems are poorly engineered, and many engineering teams are inefficient, not because of the years of experience of the engineers or even so much their talent but because of bad management. Senior and lead engineers can massage a junior writing l33t code into only submitting PRs that are competently written. But if management gives engineering lip service while undermining their ability to write quality code, and the engineers who actually care end up leaving as a result, then all you're going to get is endless duct-taping and half-assed projects. Worse yet, you get almost nothing but makework projects that go nowhere because project manager #8,592 needs to look important to save their job.
I think there's something to this. Another perspective might be Apple vs Intel, where one of my friends worked (at both) in fairly senior roles 5+ years.
The problem is that companies get really good at solving yesterday's problems. In Intel's case, that was making great CPUs for desktop PCs and servers. I have no doubt that the absolute pinnacle of desktop PC CPU engineering, was done at Intel in the last ~10 years.
The problem is, the world changes. Growth shifts from PC to mobile. People in datacenters start worrying more about cost and energy efficiency and build their own ARM parts. The landscape shifts, and the company is still fighting yesterday's battle. But it doesn't matter anymore-the basis of competition has shifted.
I think it's very difficult to pivot a company's core "basis of competition", or as you've elegantly put it, "self-image". What are we best at? Why are people getting promoted? Who's in leadership roles? The answers to these things need to shift over time, but most companies can't. This is why companies rise and fall.
I think a big problem with Google overall, is that their self-image isn't really customer-oriented. It's more inward-looking, "we're great engineers", "we're not evil", "we build the best distributed systems". The meta lesson is perhaps, orientation around serving your customers is the only thing you can fix, long-term. Amazon gets this. The problem is, it's way more nebulous and hard to pin down, than some of the more specific things Google has anchored on for the past years.
Riffing on this: another aspect of how business-life is harder for Google is, who actually is the customer?
For Amazon (at least in the classic retail sense), the customer is clear and obvious: the person buying a thing from your website, who wants good-selection, cheap and fast/delivered to their door. It's relatively easy to orient your entire company around the question of: "but is this actually good for The Customer?" That is, until you feel you've established your business model well enough, that you no longer need to focus on creating customer value, and instead turn towards growing your business value (i.e. the shift of 3p sellers going from "gee this is a cool way to expand selection for customers beyond what Amazon 1p offers by itself", into "wow this is just a cesspool for fakes and fraud, but who cares since they all pay fees to Amazon").
For Google, with the nature of the search business and the fact that it is their primary cash cow, the incentives are "mixed" to put it mildly. The true customer of Google is not the users, but the advertisers. The users are simply an ingredient to be fed into the advertising engine -- any decisions you make to benefit the user, are only from the perspective of, not pissing them off so much that they leave your platform (and even that, is a sliding scale depending on the viability of alternatives -- Bing along wasn't very viable, but Bing + ChatGPT might be...).
In a twisted way, maybe comparing Google to Amazon is more like this:
- G's search users = A's warehouse workers
- G's advertisers = A's shoppers
How well does Amazon treat its warehouse workers? Only as well as needed to achieve 2 goals: not break employment laws too egregiously, and not churn through the entire employable labor pool too quickly.
Bell Labs and like we’re throwing money at a wall too without a clear customer and yet they still invented the transistor, the PC, digital video cameras and so on.
Wtf is Google doing? They don’t make good products and they don’t invent that much useful stuff. They’re like the rich kid with a bunch of money trying random different things without focusing on one thing to get good at it.
I’m sure at this point Google is just a system to finally pay engineers a lot of money so they can retire earlier. Everyone that I’ve ever known that wants to work for Google is doing it to cash out, myself included.
All good points, and it's even worse for Google: the websites providing ad inventory are another important customer. And their needs (more traffic) are in conflict with end users doing a search (get answer quickly).
> The problem is that companies get really good at solving yesterday's problems. In Intel's case, that was making great CPUs for desktop PCs and servers. I have no doubt that the absolute pinnacle of desktop PC CPU engineering, was done at Intel in the last ~10 years
Had Intel maintained its competency in designing and manufacturing CPUs, their situation would have been much better.
They surrendered the process technology lead to TSMC, and let Apple make far superior laptop CPUs without a good response for years.
They failed in what was supposed to be their core competency.
And, of course, in anything outside CPUs and Chipset, Intel is comically bad.
Watch Google Talks on youtube - it's really striking. Every single one contains at least one Googler commenting on how smart Googlers are. Stuff like "Everyone at Google is so smart".
There is a lot of stuff that you see come out of google and you have to wonder. Why is this successful in this environment? They have a lot of people that I would say it's fair to claim they're high IQ, but low on experience and the ability to build something wonderful. (Which is why it's frustrating to see their arch [and AWS for the matter] build weird components and force their practices in the industry)
What would be great to see.. foster an engineering culture based on experience there. Encourage their engineers to contribute to the world. (Rather than waiting and spinning out large projects like K8s)
I have generally found that people don’t take project managers very seriously, sort of like a human interface to a spreadsheet. Where are you that they are actually creating projects?
From the outside, Alphabet seems to do a very good job when it comes to engineering. They have very little downtime, fewer embarrassing security moments than most, youtube is far better technically than the competition, etc.
It's just that they aren't building things that people want to use, but that's a failure of management and incentives.
Thing is, they actually are building things people might want to use, they just don't focus enough on it. Stadia for example, was way ahead of Microsoft in image quality, fluidity, etc. After a year or two of trying to push it to customers they killed it for no reason whatsoever.
I even recall watching some comments of sad people who would need another gaming streaming service because they used Stadia for their gaming needs. It was a ridiculous decision that nobody understood why. They also screwed up game devs who were porting their games to Stadia, which will for sure have repercusions in future services.
Good product people have always been visionary, lead by a strong sense of design and understanding of how to meet the user needs.
Product Managers are the modern day bureaucrats created to reduce the individual impact on product and make PMs hot swappable like engineers (who I also think are better when they they have the aforementioned skills).
Google should be considered in object lesson in the problems of trying to bureaucratize product creation.
This nails it (I used to be a PM, now I'm an engineer)
The PMs job has become so much about process, that any 'product sense' is completely disregarded because it can't be measured objectively.
Truly great products e.g. the original iPhone, rarely have PMs
Trying to figure out what to rename Google Workspaces too. It's been two years, time for a new name. Also working on the next version of instant messenger to replace google meet since it is also a few years old. Maybe we'll see Google Hangouts 2.0.
Moving from C++ is the most reasonable choice ever. It is very complex and 20 developers who use it could come up with 20 solutions given freedom. Standardizing on a simple language is just good for collaboration.
Homebrew may be a wonderful product, but that doesn't make the creator a wonderful engineer. Useful things can be poorly created. And this is not to shit on either Homebrew or Max Howell. I personally do not know if Howell is a wonderful engineer or not. He's obviously competent enough to ship working software. That's not nothing.
And everyone has an idea on how to improve everything. Sometimes we're right, sometimes we're wrong. And even when we're right, it doesn't make us right all the time. You can't really select for "the ability to create things that people want to use". No one's track record is flawless. It's very nearly a crapshoot.
Basically, you're putting Howell on a pedestal, in much the same manner you're accusing others of doing so with Google employees.
I think traveler01 does have a valid question. Essentially, with all of their engineers, why is Google so limited? And I don't think it's a matter of not being able to ship stuff that people use. Google Drive, GMail, etc. They just don't seem to be able to monetize beyond ads. Maybe their fault isn't in pure engineering.
And to be fair to the hiring process at Google at the time he interviewed, Google was an "all yes" kind of place. If anyone had any sort of hesitation, that could cause a candidate to be rejected. Their philosophy was that it was better to reject a good candidate than hire a bad one. So all he had to do was have one off hour, and that could have killed his entire interview. I personally don't think being rejected by Google's hiring committee is a mark against anyone. To get even that far requires a certain level of skill and/or talent.
> I think traveler01 does have a valid question. Essentially, with all of their engineers, why is Google so limited? [...] They just don't seem to be able to monetize beyond ads.
Google's non-ads businesses are about $60 billion / year revenue. That seems like quite a lot!
To put it in context, that non-ads business would be in the top 20 for all tech companies by revenue. More than e.g. Oracle or Cisco. Roughly the same as IBM or HP. A bit smaller than Intel. Those are not small or unsuccessful companies (e.g. Oracle has 140k employees).
It actually seems pretty amazing that what HN thinks is Google's failed side hustle is comparable to the entire business of what would have been considered tech giants a few years ago.
But it is true that the vast bulk of their revenue does come from ads. So it gets complicated.
If you were to take away their non-ad revenue, Google would be fine-ish. If you were to take away their ad revenue, Google would be in serious trouble.
Compare with Microsoft. Their biggest revenue source is Cloud services. And that's only about a third of their total revenue. And it also includes "server products".
Why is Google unable to diversify to the level of Microsoft? The products are ostensibly there, they just can't make money from them. Or the only money they can make from them are by virtue of selling ads on them.
Diversification takes time. In 2011, their non-ads business was about $1 billion / year. That revenue has grown by 60x in 11 years, so about 50%/year growth for more than a decade. For most businesses those numbers are an amazing success story. It's only in comparison to the once-in-a-lifetime search ads business that this would look disappointing.
Microsoft already had diverse businesses 40 years ago, and have "just" needed to maintain that. They're now diverse by default as long as not too many of those existing lines of business fail. No matter how successful a new business of theirs is, it's really hard for it to grow fast enough to threaten that diversity.
> It actually seems pretty amazing that what HN thinks is Google's failed side hustle is comparable to the entire business of what would have been considered tech giants a few years ago.
Because it all pales in comparison to what actually powers Google: ads. To the point that there are persistent and growing rumours that GCP may be if not on the chopping block, but greatly de-prioritised (it's part of the 26-billion Google Cloud).
It's also weird to me that people always look at revenue only. As if net income doesn't matter.
For example [1], non-ad business may have brought in 60 billion in revenue, but what it is I see: "The increase in other cost of revenues from 2021 to 2022 was primarily due to increases in data center costs and other operations costs as well as hardware costs." And that cost is 77 billion.
Guess what Google's the non-ad businesses are: "Google other revenues increased ... from 2021 to 2022 primarily driven by growth in YouTube non- advertising and hardware revenues", "Google Cloud's infrastructure and platform services were the largest drivers of growth in Google Cloud Platform."
So a large chunk of that revenue is eaten by the costs of generating that revenue. Google cloud lost 3 billion, other bets lost 6 billion etc.
Meanwhile all other costs of revenue are a 49 billion, compared to over 200 billion in revenue from ads.
So how do those businesses inderectly depend on ads? Ads business subsidises them. Despite the size of those other businesses very few, if any, are successful (as in: actually earn money).
Remember when the person who created homebrew couldn't get a job at google. That person created software used by a lot of people. He saw something that "needed fixing" and he fixed it. He fixed it so well a bunch of other people started using his fix. That's a wonderful engineer. Created a project used (and loved?) by many people. That's the kind of person you want helping to create products at your company.
Google puts so much emphasis on (coding) skills that aren't needed for the majority of the work done, and doesn't emphasize selecting for the ability to create things that people want to use. I also find the coding skills selection kind of amusing since they had to create a simplified programming language (Go) because so many of their 'leet coding new graduates couldn't handle C++ correctly. Perhaps being able to 'leet code in your sleep doesn't really make you a "wonderful" engineer either.