'Range' Argues That Specialization Should Not Be The Goal For Most
npr.org
npr.org
> A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects. -Robert A. Heinlein
People are reluctant to hire a jack of all trades but a master of none -- even when they admit that generalists tend to be more valuable to their businesses than specialists over the long run.
This is especially true when it comes to remote hiring. Unfortunately, many companies won't even consider opening a position to remote hires unless they're convinced that it will be too difficult to find someone in-region. So you end up with a lot of remote positions that are highly specialized.
We value generalists greatly, but they are difficult to hire because you have to approach them on a case by case basis to see the scope of their generalist skills. Sometimes there’s people that are too generalized and others who are so narrow they might as well be specialists. And if your generalist has a unique combination of skills they become a dependency that is difficult to replace or remove later on, but can also become a valuable advantage for the business.
Specialists are more like replaceable parts. We look at standardized skill sets and given them standard tests and hire them if they pass. If performance is subpar dump them and pick up a new specialist with the same skillset. Easy.
2/3rds of job adverts I see seem these days to be for 'full stack' developers. That's the definition of generalist-seeking IMO.
> even when they admit that generalists tend to be more valuable to their businesses than specialists over the long run
Oooh, that's quite the claim! I could equally claim from experience that generalists (in the sense of full stack devs) can cost a lot from the very lack of depth. eg. seeing a guy parse a scraped web page with regexes rather than XSLT. Or databases thrashing horribly because someone didn't know enough to diagnose them. Or unnecessary mem/network use in kafka because someone didn't read the docs. And plenty more.
I'm not saying you're wrong but I'm struggling with your assertion.
Yes, but once you start reading the requirements in the body of the ad, it becomes clear that the "full stack developer" needs to be highly specialized in one particular frontend framework and highly specialized in one particular backend language.
Then a generalist applies for the position and says, "I've worked with a bunch of frontend frameworks, but not this one, and a bunch of programming languages, and while I'm proficient in this one I'm hardly among the elite. But I can recognize bad patterns across languages and have a good track record of identifying the right tool for the job." And unfortunately, a lot of companies just say, "Meh, we need someone who's really good at Angular and Rails."
Regarding not reading the docs - I think good generalists are as likely to read the docs as a specialist. Reading the docs is a shallow form of learning that most generalists would surely utilize - on the other hand, a specialist’s knowledge in a given field runs much deeper (they consume talks and research, draw from years of their own observations in that field, have a network of people who are also specialists in that field).
On the utility of generalists vs specialists in a setting like the one you describe, I think it’s extremely important to have both at your company.
I have a little bit of experience with almost everything, so my resume is all over the place — consequently, its very difficult for me to get a job. It doesn't help either that companies usually don't usually define what they're looking for well.
Recently, a friend referred me to an iOS job. In the call though, they really told me they were mostly looking for embedded C++ and someone who could dabble in iOS. So, I prepared for the wrong interview. Now all of these things are on my resume, but, I haven't done any serious iOS in 4 years, and the last time I seriously used C++ was in college.
My interviews always go like this-- because technology X is on my resume, the resident X expert grills me, and correctly concludes I'm only somewhat familiar with it.
The only people to get me were Disney Research. They went about it the opposite way, "What can you bring to the team?" Despite ultimately not being quite right for the position, they wanted to everything from could I weld, could I 3d print, could I 3d model, could I sew? It was absolutely refreshing. I got tell them about a lot of orthogonal skillsets.
However, I've concluded I need to pick a specialty or a new career.
See https://news.ycombinator.com/item?id=20094242 for commentary.