Strong disagree. Most FAANG dev hiring is through generalist pipelines, and plenty of L5/L6 devs move around between different domains and tech areas.
Strong disagree. Most FAANG dev hiring is through generalist pipelines, and plenty of L5/L6 devs move around between different domains and tech areas.
For example, at a company with 50 people, it might be unreasonable to develop hyper optimized native apps for each platform that necessitate a specialist in memory management optimization in Swift. (This is a real example.)
At a FAANG, jobs like that seem to be relatively common. Scale brings challenges that the vast majority of businesses don’t have to deal with. These challenges require solutions the vast majority of companies can’t afford to build.
The only other field I can think of that requires specialists to the degree FAANG-scale companies do is academia, which is ridiculously hyper-specialized (out of necessity).
I’m not sure about the hiring process... I do know about the prevalence of “leetcode” challenges, though, which I suppose are rather generalist.
They may work on more specialized problems, but only because the corps are big enough to have entire teams or orgs around things most companies can't even do in-house, but it doesn't make the ICs specialists themselves.
To give you an idea, the last offer I got from Google had me choosing between a team developing a proprietary database, a team working on low-level networking problems, and a team responsible for, essentially, refactoring another teams code to make it portable.
Specialist teams, mostly generalist individuals.
In the startup world, being a generalist might mean “Python, Node, Go, some backend frameworks (Express, Django, etc.), HTML/CSS, some frontend frameworks (React, Vue), maybe some experience with cloud and devops, also maybe experience with GraphQL or gRPC, good knowledge of key/value stores and SQL databases, probably high-level knowledge of ancillary technologies like JWT, auth systems, a good understanding of data structures and algorithms, experience in optimizing queries, oh and also a little React Native and maybe Cordova.... <and so on, and so on>” (This is me.)
In a FAANG, one might be a generalist in something like “iOS” or “ML” and then develop a deeper subspecialty in that field.
To me, this looks like a specialist. But I understand that to someone who works at those organizations (FAANG+), a specialist is someone who developed a new language or exclusively builds compilers or does systems-level programming or something.
I suppose these are different vantage points. If you’re specialized enough, everything probably looks “generalist” to some degree.
To me, even a small degree of specialization within software development qualifies someone as a specialist. xyzzy_plugh seems to think many more people are generalists than specialists, even at larger (FAANG) compaines.
That sounds like a generalist to me.
It's important to distinguish between specialist/generalist roles versus specialist/generalist people. Most of FAANG is hiring specialists people for both roles. That's my sense of it anyway.
I suppose I might also just have particularly specialized friends/acquaintances. Who knows...