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.
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.