4 ms·
> If you want to work at a FAANG, specialization is the name of the game. Strong disagree. Most FAANG dev hiring is through generalist pipelines, and plenty o
by rtlfe 5y ago
> If you want to work at a FAANG, specialization is the name of the game.
Strong disagree. Most FAANG dev hiring is through generalist pipelines, and plenty of L5/L6 devs move around between different domains and tech areas.
- sebmellen 5y agoI’ve never worked at a FAANG, so I may be mistaken. What I do know is that all my friends/acquaintances who’ve ended up at FAANGs have branched deeper into various niches than would be possible at smaller companies. 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.
- xyzzy_plugh 5y agoAs an ex-FAANG who knows dozens of folks at FAANG companies: the vast, vast majority of folks there are generalists, whether they know it or not. The number of people doing anything remotely "hyper optimized" is extremely small relative to the number of employees. 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.
- sebmellen 5y agoI suppose it’s a semantic difference. 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.
- darkhorse22 5y agowut
- sebmellen 5y agoThe words "generalist" and "specialist" are relative, so different people perceive the roles of "generalists" and "specialists" differently. 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.
- darkhorse22 5y agoyou're crazy, I love you, but you're crazy
- xyzzy_plugh 5y agoBy your definition, I've been a specialist in columnar store databases, high-performance RPC frameworks, compilers and toolchains, embedded firmware and vector graphics. That sounds like a generalist to me.
- tokipin 5y agoDespite their stated intentions, the hiring pipelines are for specialists. The leetcode tests are good at selecting for specialists, since the nature of those tests (irrespective of the subject matter) matches the specialist skillset. 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.
- sebmellen 5y agoYes, this is my sense as well. Interesting to see the variety of perspectives in this thread. I suppose I might also just have particularly specialized friends/acquaintances. Who knows...
- heavenlyblue 5y agoLeetcode is just a proxy for intelligence, just like SAT is
- ma2rten 5y agoScale brings different challenges but most of them have been solved already and been abstracted away (at least at Google). From what I have seen most people work on implementing some kind of business logic.
- flashgordon 5y agoActually not quite. L6+ hires (atleast at G) are strongly based on domain expertise and the generalists are relegated l3-l5.
- OhSoHumble 5y agoDoes this also apply to their SRE teams?