One time, I was stuck in Montreal for 7 days for personal reasons (a vacation plan that exploded). I walked into the Google office there, made some friends, worked on a random project they were doing and ended up collaborating on an OKR a year later. It is entirely possible to keep this kind of culture going for much longer than people think.
Conversely, I've worked at companies with 500 employees that were the blandest kind of "enterprise business company firm" you can imagine. :)
Nowadays, you need to explain to people why unit test is needed, why you can't use production as the first place to try a risky experiment, and rely on 20 experts, one in each tiny service, to figure out and to deliver a tiny feature with bloated timeline and messy quality.
Of course every process becomes perverted into waterfall eventually.
This is the coolest shit I have ever read.
Now that's a company culture of which people would want to be a part.
First, in the boom prior to around 2015, most software problems were accessible to a smart generalist, but nowadays I don't think that's true. Teams are more specialized.
Second, the industry is a lot more regulated and risk-averse, and fewer people maintain the kind of wide-eyed optimism about tech that fed into the old Google. Things are more locked down and organizations less trusting.
Third, the reasons why people go into tech have changed. It's nowadays a "good job" and there are entire cottage industries dedicated to getting you a job at a tech company. The people making their start in the 90s generally went into computing because they loved it, not because it was a good job.
I've gone to one of the companies that people from Google have been going to, and I know people at some others. They're nice places to work, but the vibes are very different. And there are reasons to think that the current cycle (AI...) will favor the incumbents, not newcomers, being already extremely heavy on GPUs and regulation.
This is a long-winded way of saying I don't think it's possible in this industry at this moment.
Do you mean that new areas appeared that require specialization that didn't exist previously, or that areas that require some sort of specialization have comparatively grown? (Or something completely different?)
Nowadays, those easy problems are solved. If you want to contribute to an area, you have to learn all the context, read a bunch of papers, it basically takes at least a year. So you can’t quite be a generalist SWE, drop into a random team for three weeks and meaningfully contribute.
Put another way, the relative value of spunk and generalist ability has decreased and the relative value of domain knowledge has increased.
I think the takeaway for me is that, in a company of hundreds of thousands of people, these experiences are more situational/random/based on what energy you bring to a space/team-based/seniority-based than they are a symptom of universal company culture.
And then a couple years later, yeah, it was Ruth & Alphabet. And that's when it got progressively stupider and stupider.
When I started it was like 25k engineers, and while it was big I still felt there was a very cool internal thing going on there. And I'm a pretty cynical person.