To make a wild generalisation, specialists are made, but generalists are born.
There is any amount of material out there to help people to specialise in a particular subject, ranging in formality from a quick YouTube video to entire academic fields of study. If your question is "how do I get better at X", someone is out there who can help you answer it. From that point on, it’s more of a question of the time, resources, and effort you dedicate to the pursuit — the now-debunked ten thousand hours of practice.
The result of this process of specialisation is (more or less) deep understanding of a particular field — but that understanding is restricted to that one field. Generalists, on the other hand, have an understanding of individual fields that is almost always shallower than that of specialists in that field, but they compensate by spreading their study across many different fields. The value that a generalist brings is the unexpected insight based on correlation or analogy with a different field.
One problem is that there are very few job descriptions out there that call for generalists. I’ve hired a few, but that’s always been on the basis of me being given the opportunity to create roles for myself as a generalist, and then the roles expanding to the point that I needed to build teams to keep up with demand. However, if you go on LinkedIn or whatever and look for openings, most of the job descriptions are looking for pretty narrowly specified skill sets: ten years of experience in this, certification in that, or documented contributions to the other.
Almost by definition, there is no single course of study that will produce generalists; you have to pick and choose between many options. It has not been possible since the actual Renaissance to be a "Renaissance (hu)man", with at least a passing familiarity with the entire corpus of human knowledge and thought. This is of course a Good Thing, driven as it is by a vast expansion in that corpus, but it can make it hard for specialists in different domains to communicate effectively with each other and share insights. It also makes for a lack of formal recognition for roles that are not based on deep specialisation in different fields.
This lack of visibility can be disheartening to generalists or would-be generalists, on top of the impostor syndrome that can come from talking about a particular subject to people who have specialised deeply in it and therefore know it far better. However, generalists are enormously valuable to organisations in a couple of different ways.
One benefit is to prevent the situation where specialists get "so preoccupied with whether or not they could, they didn't stop to think if they should", to quote Dr Ian Malcolm. Generalists are well placed to keep specialists grounded, to be the person in the room saying nope. Maybe they have experienced similar situations in other domains, maybe they are more aware of the constraints that apply to other aspects of the problem space, or maybe they simply don’t get so wrapped up in the elegance of possible solutions.
Another benefit generalists can bring is to be the Swiss Army knife for the organisation. They might not be the best at any one thing, but they can do a lot of things at the drop of a hat without retraining. This is admittedly the sort of benefit that becomes easier to bring to bear after a few years of experience, with some gravitas to lend credibility in the absence of formal certifications. Generalists can be parachuted into developing situations and plug gaps until specialists can be deployed to tackle more permanent solutions.
I’m a generalist, partly as a deliberate career choice, and partly out of circumstance. My university degree is in Computing Science1, but I came to it via a high school that focused very strongly on the humanities. I had more hours of Latin and Greek than of maths or other scientific subjects, about the same as history and philosophy. My original plan had been to specialise in sysadmin work, which done right is a pretty generalist role in its own right. What actually happened is that I ended up spanning between technical and human aspects, translating business requirements into technical specs and explaining technical constraints and possibilities in business terms. This sort of thing works well when you have a lot of different experience to call upon, including from different fields, so you don’t get too narrowly blinkered and end up proposing the same one-size-fits-all solution to every problem you are presented with.
To make this concrete, here are some of the skills I have accumulated in my magpie fashion over the years:
- Graphic design
- Web design (including accessibility)
- UI & UX
- Presentation design
- Public speaking
- Writing (technical and otherwise)
- Programming (I’ve learned over a dozen languages, and while I’m not great or even good at any of them, I can pick something up and hack at it until it works)
- Software localisation and internationalisation (l10n and i18n)
- Availability and performance monitoring and observability
- System deployment, configuration, and maintenance
- Network design and admin
- Database design and admin
- Cloud stuff ranging from IaaS to PaaS to SaaS
- RoI and business case development
- User survey and interview
- Competitive analysis (both tech and GTM)
- Training and enablement (development and delivery)
And I can do all of that and more in three to five (human) languages, depending on how formal I have to get.
Some of these I’m only barely competent in, but I can at least have a reasonable conversation with an actual specialist where we understand each other, and I have the basis to go deeper if I ever have a need to. All of these skills have come in handy as parts of paid jobs where they absolutely were not part of the job spec, and several times a skill that was way outside my job description has saved someone’s bacon — mine, a colleague’s, a customer’s, or my employer’s.
Don’t underestimate generalists — and if you’re a generalist, or thinking about branching outside of your specialisation, don’t underestimate yourself.
Yes, Computing, not Computer; at my university, those were two separate courses, but one was basically straight-up software engineering, while the other also included a grounding in networks, databases, neural networks (in the late 90s this was cutting-edge stuff!) and even human interface design. ↩