Last year, an issue of Harvard Business Review had someone defend their research about an old debate in business: generalists vs. specialists. Every issue of the magazine has someone make the case for the results of their research, and this one stands out because it would be really interesting to do this in other professions besides the one involved here (it found that generalists get better offers than specialists among MBA students).
In particular, I would naturally be interested in technology, as it’s the field I work in.
There may be some room to quibble with the methodology used in the research, including how the researchers determine what constitutes a generalist or specialist. I feel like in technology, that becomes the case over time as a professional, as opposed to once out of school. (I realize that MBA students usually have professional experience while getting their degree, often getting it at night while working during the day.)
I have worked with a lot of engineers who might be called specialists in that they have one or two skills they do especially well. One might be an analog electronic design specialist, or a Java programming specialist, or something else. They might specialize in Linux and C programming. This does not mean they do nothing else well, but when I think of a specialist, I think of someone who does one thing exceedingly well and nothing else as well as that. They might do something else well, maybe above average, but there is no mistaking that what they specialize in is their forte.
Oftentimes, especially if I am in a job transition, I feel like being a generalist – what I consider myself to be – is not necessarily an advantage. While I have my clear strengths – C, C++ and Linux programming – I do much more than that, and have a background in much more. I have taken courses in Java and done minimal programming aside from that, but if I was placed on a project with it tomorrow, would have no trouble picking it up. I know SQL well enough to get started on a project needing it, so I can be productive while ramping up to know it better. While my preferred line of work would involve embedded systems programming, I am not married to that.
In engineering, it is not uncommon to know people whose skills primarily translate to one industry. When I was in ATE, dominated by the likes of (then) LTX, Teradyne, Advantest and a few others, I knew a lot of people who went back and forth between those companies and would have a hard time going elsewhere. It is a highly specialized segment of technology. Thankfully, I was able to go elsewhere.
This is often a function of a particular reality: few companies are technology-agnostic when it comes to what they use. Companies tend to be Windows or Linux shops in terms of what computers development is done on; following from this, they might be .NET and C# or C/C++. They might develop for one and not the other, which may be dictated by the primary market(s) for their product(s). A company may use Java, with little to no C or C++.
Over time, engineers working in such companies tend to become much stronger in one than the other – for example, a very strong Java programmer but not nearly as adept with C, or a strong Windows developer who has no clue how to develop on Linux. You can’t blame someone who has made a living in C for not taking time to learn Java well enough to use it, unless the person has reason to believe C is about to fall out of favor and Java will take over. (Don’t bet on that happening, at least not anytime soon.) Some will want to learn it to expand their possibilities, or just because they enjoy learning, but pragmatically, you can’t blame a person for not bothering entirely.
In other industries, things may translate differently, although the article notes how this can translate into sports – and in this case, it translates similarly to what the research shows. For example, in basketball, some players are shooters. There is a place for those players, because not everyone can make shots consistently, especially from deep, but unless such a player can do something else, you almost certainly won’t see that player ever signing a max contract in the NBA. In fact, it’s not uncommon for teams to have to hide a player whose specializes in shooting at the defensive end. Even so, some manage to play for a long time because they have a skill not many others have. In baseball, there are left-handed relief pitchers who are good at getting left-handed hitters out; they tend to be able to pitch until their arm falls off, but you won’t see them signing deals for, say, $50 million over three years.
The irony of my sense that being a generalist in the field of technology is not an advantage is that job descriptions are famous for having a long list of qualifications and/or desired skills. It’s not uncommon for a software engineering job description to come out to about three pages as a Word document or PDF. Because few people can truly check off all the boxes on many of them, it makes reading many job descriptions a chore just to figure out what really matters most to a company.
The generalist vs. specialist debate will surely rage on. It won’t go away. For that reason, more research will be welcome, though people will still make the choice to be a generalist or specialist, depending on what suits them. I know what suits me; I like my versatility. Others may prefer being closer to a one-trick pony. To each their own.