> 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.
This is the coolest shit I have ever read.
Now that's a company culture of which people would want to be a part.
I work at a fairly large non-tech company in the IT department and we have this culture. The IT department alone probably has about 500 people in it, but this past weekend I found myself in a different region needing a desk for a meeting. I reached out to the IT guys at the nearest location and within 20 minutes they had a desk cleared for me, and I was able to bounce questions and ideas of them for process improvements. This communal culture is hard to find and I have no intention of leaving until the culture dies.
The industry has changed in a few important ways that I think make this kind of culture difficult to maintain.
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.
> 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.
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?)
Well, it’s more that the problems in an area like ML or security were solvable if you generally knew how computers work and were smart and good at learning new things. Switching to a new domain took a few months, but ultimately there wasn’t /so much/ you had to learn.
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 this depends on setting ci/cd and good data pipelines are like game changers in research ML projects and generalists definitely can do those it is not that flashy stuff.
This is the coolest shit I have ever read.
Now that's a company culture of which people would want to be a part.