Working for Google today is a lot like working for the Microsoft of ~15 years ago.
Employees are well paid, benefits are good, it's comfortable. The quality of the hires are still pretty good, but definitely not what they were 5 years ago. The engineering culture is still strong and permeates the entire organization, but the company is so large that less and less flexibility is allowed in each team's process. Thus, engineers (especially those at the lowest levels, like right out of school) aren't exposed to as much interesting work; many will find in 2-3 years that they have career opportunities at Google and companies of similar size but few opportunities at more interesting companies that are looking for someone with a few years experience with newer technologies. Technologies that Google doesn't use. Processes that Googlers don't know because they work in the confines of a huge corporation.
Still not a bad place to be 'cause Google pays well and they're comfortable. But then the best and brightest stop coming to Google. And then the company slowly dies a painful death toward irrelevancy that takes decades.
I think the comparison to Microsoft is spot on. The exact timeframe remains to be seen.
> many will find in 2-3 years that they have career opportunities at Google and companies of similar size but few opportunities at more interesting companies that are looking for someone with a few years experience with newer technologies.
What technologies would those be? I'm scratching my head trying to think of the latest, cool stuff that people want to work with.
On the language front, among the hottest right now are NodeJS and Go. Some might argue older languages like Erlang or Haskell are pretty trendy or perhaps Rust, but none of those have the current momentum of the first two and Google is behind the runtime for NodeJS and created Go.
On the data front, Hadoop is pretty trendy right now, but that's based almost entirely off stuff that Google pioneered. Other NoSQL databases are pretty popular and, again, Google has its fingerprints all over that. Hell, a bunch of the NoSQL technologies even use LevelDB as a storage backend.
Distributed systems? You'll learn more about them at Google than anywhere else. They were first with solutions to distributed consensus and they'll likely be first with whatever new need develops simply because their scale will ensure that they hit problems before almost anyone else.
DevOps technologies like Docker? Well, beyond the fact that Docker is implemented in Go, Google has long used internal technology like Docker and have supported Docker by releasing projects like Kubernetes.
Perhaps you mean cool hardware technology like self-driving cars, wearable technology, gigabit home internet, balloon-based internet or stuff like Chromecast?
So perhaps you can share with us what technology that they'd be exposed to elsewhere that they can't find within Google?
> Distributed systems? You'll learn more about them at Google than anywhere else. They were first with solutions to distributed consensus and they'll likely be first with whatever new need develops simply because their scale will ensure that they hit problems before almost anyone else.
What percentage of Googler's actually built that (certainly impressive) system, vs just use it? If you go work at some other company, is that knowledge of how to use Google's tech going to be portable, or are they going to want someone with a couple years experience using Storm/Spark/whatever?
A distributed lock server is a distributed lock server. Yes, there are always going to be a few implementation quirks, but when it comes down to actually designing a scalable system, the implementation quirks are noise - it's knowing what general tools to use and how they interact with one another that is the key insight. That knowledge is portable.
The tools could be the same any "mortal" of us techies use, but the technology created using those tools can be something cool, creative and different.
The problem is not in the "status quo" of the tools, but in what problems and in what way its aiming at something that can be amusing and exciting, like the Wonka's Chocolate Factory to the next generation of kids.
You need to be cool to get the guys that will built the next gen of tech, and with time, tech companies loose their sex appeal, because they become a boring piramid, looking for profit; because after the IPO, you have a board of the same-old-same-old and have to deliver profits to the stock market.
Its a like a couple, in the beginning everything is exciting and new, but with time, given they repeat the same things, the same routine, theres nothing new anymore, and the glow of the beggining just fade away
Anyway, its the institutionalization effect, if you follow the same path, you will get the same results.. Its the law of impermanence, that anything grow old and dies someday
I probably should have added the "in production" qualifier. Academic papers will almost always precede production use, but Chubby was definitely one of, if not the, first solutions to handle a large-scale production workload.
Also, it could be argued that previous solutions to distributed consensus are only partial solutions without the work that Google has done to ensure consistent time across the distributed cluster.
Regardless, it's hard to argue the original point that Google is on the forefront of that kind of technology.
More likely a false perception based on the fog of scale and decreased intimacy: as a singular person, you have no idea what most of the people in the company are like once it passes a certain scale, and the larger it gets, the less informed your opinion can realistically be.
Not to mention, no organization can hire 100,000 people over time and have them all be top 1% talent. That doesn't mean they're not still acquiring more top 1% talent than anybody else.
I'm one of those just out of school Googlers and while I obviously have no experience at MSFT I'll tell you why I don't see myself becoming bored at Google.
Google has a best-in-class (top 5?) product in pretty much every category of software. In 10 years a Googler could work on Drive, Android, G+, Gmail, Fiber, and Maps. While working on those things he/she will be exposed to an unparalleled developer infrastructure (Google's internal tools are rigid, but insanely well engineered). So why leave for another company when I could just change managers to work in pretty much any field on software? The only reason to jump ship would be toxic culture or money, and right now Google is at the top of the heap in both culture and pay.
>Google has a best-in-class (top 5?) product in pretty much every category of software. In 10 years a Googler could work on Drive, Android, G+, Gmail, Fiber, and Maps.
I would say they have the top 2, Maps and Gmail. G+ is laughable and I still dont know anyone who uses it that wasn't force to sign up. Drive is a dime a dozen and not really very compelling since we have Dropbox, Sugar Sync, SpiderOak, OneDrive, iCloud. The only compelling things MSFT and Google have going is more space. Android is another argument but since I'm currently switching back to iPhone, thats what I favor. Everything else you said is probably true.
Google is the top at Search, Mail, and probably Maps.
"few opportunities at more interesting companies that are looking for someone with a few years experience with newer technologies"
When will companies realize that knowing how to design a large scale system, or a machine learning algorithm is more useful than knowing AngularJS or NodeJS?
In this dataset, ELO is employed such that companies earn points if they "beat" another one, which loses points as a result. That is, if someone hops from Company A to Company B, Company A earns points and Company B loses some.
Among Google, Facebook, LinkedIn, etc., it was found that Palantir was the only company that never lost a student to another one. If you go to the companies dataset here and sort by ELO: https://csclub.uwaterloo.ca/~vlyubine/companies
You'll note that the rankings are:
1. Palantir Technologies
2. Twitter
3. Facebook
4. Google
5. A9.com
It appears that Palantir also beats out fellow big corps as well. I think the consensus among Ivy leaguers I know and Stanford/Waterloo is that Palantir's strict hiring criteria and unique culture make it the newer Google of today.
Palantir though in my opinion is kinda like a cult. I visited their offices (sick by the way), and they all had this mentality like they were the Seal team 6 of developers. The do not even call their devs devs, they call them "forward deployed engineers" or something like that. They all had "Go bags" from the Red cross to contribute to this allure. They have all 3 meals cooked there, DJ booth, rooftop parties in evenings, free gym membership down street, and unlimited vacation time*
To me it seemed as if the employees lived there practically. I wonder what would happen if you tap into that vacation time when the other guy is working 14 hrs a day with no time off. They also have a salary cap that is BELOW wages at other high tier employers. Again sickest office I have ever seen but it seems that they attract employees due to their "exclusivity" and great office. They are very successful recruiting young college grads due to this but I suspect when they get a bit older they will realize that the salary and interesting work are more important than a swank office they want you to live in.
If you start thinking of Palantir as an consultancy agency that specializes in identifying, recruiting, motivating, then caring for software engineers who are contracted out to MNCs/NGOs while mimicking the intelligence community and defense industry culture--indirectly also a context to their company mission to motivate themselves--as a means of marketing and securing their services for said contracts then it will all be clear.
Although I do not work at Palantir, the work is the main reason people go there over $BIG_CORP. Government intelligence and anti-fraud problems are far more interesting than the work that FB/GOOG seem to offer to new grads these days.
Also, as far as I heard, the salary cap is now gone as of this year.
I had onsite interview with them (for software engineering intern position). I was rejected and their feedback was like that: your technical skills are very high but we are concerned that you wouldn't be passionate about our projects and clients.
Actually their projects were interesting, I guess wasn't enthusiastic enough.
Employees are well paid, benefits are good, it's comfortable. The quality of the hires are still pretty good, but definitely not what they were 5 years ago. The engineering culture is still strong and permeates the entire organization, but the company is so large that less and less flexibility is allowed in each team's process. Thus, engineers (especially those at the lowest levels, like right out of school) aren't exposed to as much interesting work; many will find in 2-3 years that they have career opportunities at Google and companies of similar size but few opportunities at more interesting companies that are looking for someone with a few years experience with newer technologies. Technologies that Google doesn't use. Processes that Googlers don't know because they work in the confines of a huge corporation.
Still not a bad place to be 'cause Google pays well and they're comfortable. But then the best and brightest stop coming to Google. And then the company slowly dies a painful death toward irrelevancy that takes decades.
I think the comparison to Microsoft is spot on. The exact timeframe remains to be seen.