The best thing I ever read on this topic came from biology. In "The Diversity of Life," E.O. Wilson describes how specialist species thrive in stable environments. The stability allows them to evolve "deeply" into a niche and outcompete any species less specialized for that same niche. So if I'm really great at plucking fruit from tall trees, and you suck at it, I win. In unstable environments, however—say all of those trees burn down in a forest fire—it's the generalists that triumph, because they have more options and are therefore more resilient. Of course specialization and generalization are abstract terms. Reality can operate on a spectrum, often a discontinuous one at that. So maybe I'm a finch that's best at poking my long beak into a particular kind of tree, but in a pinch I can also hoover up ants off the ground better than most of the other creatures in my ecosystem. So it goes for humans competing in an economy too.
I've had a going theory on this - that it's a yoyo between generalization and specialization.
A particular topic starts with generalists but as time progresses and stability (i.e. a path worth pursuing) becomes apparent, specialization is needed to eek out more performance gains.
Then after a while, that particular area gets disrupted because there's a fundamental shift in landscape and the cycle repeats because the landscape is new to everyone. Many times this new landscape was brought on because a specialist applied a specific finding to a new, larger group. Then generalists help build that new space.
In economic theory this is well known, and related to S-curves. First innovation (requires integration, which requires generalists/people spanning disciplines), then specialization and price war / commoditization
Interesting. So, as the s-curve begins to climb up and systems demand specialists, then, is it the case that they'd be paid more and hired at higher levels than generalists?
Which is to say, specialists tend to get hired once stability is achieved but also tend to capture more value / status than the generalists that helped the system navigate the s-curve?
Alternatively, are all senior hires at stable systems like FAANGs, specialists? Even if they're generalists, do they get valued less than them: May be hired at Staff level instead of Senior Staff or above?
Generally agreed, but you're looking at stable FAANGs.
If you look at startups, for the most part, need lots of senior generalists who have a can-do attitude to 'just figure it out'.
Ideally, those generalists get rewarded w/ stock (side stepping the trigger topic on purpose) because they joined close to the ground floor. Most startups don't need and/or can't afford specialists until around Series B. Again ideally, if you needed a specialist early, you've got one on the founding team.
Many exceptions to the above statement, but it fits this topic's narrative.
> but also tend to capture more value / status than the generalists that helped the system navigate the s-curve?
Are you assuming that being a specialist in a mature market always makes you more money than being an early player? I don't think that's always the case, there are many stories in the news of early employees of Silicon Valley companies who are now multi-millionaires just because they were in early. E.g. one of them IIRC is the cook who was in charge of preparing meals for the early Google team.
Specialists need to be trained or train themselves. This is only really achieved by on the job training or very in depth courses.
So ultimately, you would hire good generalists and get them trained on the job to specialize in the field.
Nobody is born a specialist. Universities do produce some but it's research, not the same as development and deployment.
And you need generalists as well as multiple field specialists to not get locked in a quibble over comma or a comfortable but overcomplicated and bad solution.
So in this context, do you think generalists are needed to set high level strategy and specialists needed to execute it? If so, would this imply that generalists would be a better fit for senior roles?
True. I think every team needs both generalists and specialists to complement each others qualities. For example, my manager is kinda specialists and he is great at solving problems in his domains. But then I put my generalist ideas and solution is sometimes way simpler than what a specialists was trying. The reverse is also true. So a balance in team is needed.
I've been wondering something like this lately in relation to apparent species die-offs - we view and catalogue numbers in a timeframe that makes sense on an immediate human scale.
What if species have always gone through collapse/regrowth cycles and we happen to be viewing things through a too finely-focused lens that skews interpretation?
I'm not trying to make light of Humankind's horrific environmental impact, rather checking that we're not simply missing a fundamental natural law and so misinterpreting things.
This came to the fore of my mind particularly recently, listening to a podcast wherein part was talking about a rebound in the population of Peregrine Falcons, with them taking up homes across London.
- ed lol at me - 'taking up homes across London' sounds like the falcons are gentrifying. I meant, obviously, 'their populations are growing across London'.
These days I’m far less interested in what skills someone has. I’m far more interested to see if they have a track record of being able to adapt to changing circumstances. I’d much rather have someone who has shown they can adapt - or better still, will embrace the chaos openly :)
You don’t want to have everyone like that - you need a few “slow and steady wins the race” types to keep fundamental stuff going too. But I know which side of that equation I’d rather be on :)
I know you’re being downvoted but wouldn’t this be indicative of an unstable economy not an unstable marriage?
E.g., both parties may have to work and do household duties because a one-salary household is much harder to manage financially now due to wages, lack of employment stability etc.
This is touched on in "Beyond the 80/20 principle".
Much like your example, though I think it said specialisation itself can offer up new generalist opportunities, so internal forces as well as external shifts.
And once in a while, a really large disruption in all areas causes a mass extinction where all specialists are wiped out, and only a few generalists rebuild the new environment on their own.
My nickname for this phenomenon is the "robustness/efficiency spectrum." In this case, it would be the robust generalists and the efficient specialists on opposite ends of the spectrum.
(I'm not sure it has to be a two-dimensional spectrum in all scenarios —I believe there may be cases in which robustness and efficiencies are at least partially orthogonal/independent to each other.)
Taleb discusses this in his writing, if I recall correctly.
Tech recruiter here. What you are saying fits neatly with my observation that during a bull market the specialists tend to do great, amazing compensation, lots of contracting options.
When the market turns these are the first to be downsized because they are very expensive. The generalists are more sought after because firms try to produce the same output with fewer resources, and for this you need the jack-of-all-trades types.
I've also found that in suitably large enterprisey orgs, the generalists are the first to be let go under a cost crunch because no matter what they do, they have in their stable of people someone else who can do it better. And its very, VERY rare that a generalist is actually DOING more than 1 or 2 things, no matter how many things they CAN be doing.
The problem with this line of thinking is that there is a distinction between you and your current skillset. In nature a finch can't deliberately change the shape of its beak, but a human can alter their behavior. A fast learner can be deeply specialized in terms of knowledge during times of stability but then quickly switch over to being a generalist when conditions change - on the other hand someone who took a long time to become a jack of all trades may struggle just as hard as anyone else to adapt to a genuinely new development. When most of us picture a specialist, we think of someone with perhaps an advanced degree or years of experience in a narrow field, while a generalist has invested much less time in a niche, but really a specialist is someone inflexible in their thinking and focused on details whereas the true generalist is someone more focused on broad concepts and open to new ideas, regardless of career history.
I don't think it's a problem. It's just that specialization can happen in skill AND in genetic adaptability to the environment. We think of skill and genetics as separate things, but in this context it can be helpful to think of them as existing along a continuum of how we learn about the environment and adapt to it. Genetic adaptations 'learn' about the environment over multiple generations, and behavior changes happen within a single generation.
So for example, the finch is specialized exactly because it can't change its beak, and the human is a generalist exactly because it can alter its behavior. I think you could argue that any human behavioral 'specialization' is still probably less adapted to any given environment than animals who evolved for a million years to be suited to that environment.
But it is not useful here to think of skill and genetics as being on a continuum, it just produces confusion because these two orthogonal concepts have very similar terminologies, but its a mixed metaphor.
It's good to be a genetic generalist during times of instability specifically because you are incapable of changing your genes during the upheaval - and thus while you may not thrive in any circumstance the risk of extinction is also mitigated. If we had advanced genetic engineering, and could rapidly adopt different genes to suit the circumstances without having to wait for generations of random mutations, there would be no reason not to specialize genetically. While this is a pure hypothetical for genetics, it is reality for behavior - no matter how much you've invested into learning one skill, you can instantly switch to learning another, and you can choose exactly the skillset you want to curate. When a new field emerges, your experience in other, unrelated fields is irrelevant - the specialist is at no disadvantage compared to the generalist, and so they sacrifice nothing by specializing in a field.
In contrast to genetic evolution, which has very discrete goals (reproduce, survive, etc) and is agnostic about how these goals are achieved, skillsets can have a much wider range of objectives and the 'how' is integral. A finch might optimize for eating nuts or insects, or could remain a generalist to handle both, but is unlikely to come across a nut-insect hybrid where the generalist beak outperforms either the nut or the insect beak. But such interdisciplinary situations happen all the time - for example the roboticist with understanding of mechanics and software can do better than either a pure mechanical engineer or pure software engineer. The roboticist has a wider, shallower skillset, but that is only beneficial for tasks which happen to overlap - they won't have any easier time switching to say pharmaceutical development. It simply doesn't make sense to think of the roboticist as a generalist and the other engineers as specialists in the evolutionary sense.
Certainly any direct comparison of specific behavioral to genetic specializations is illogical. By what metric would you compare how well adapted a lion is to a big game hunter with a gun? How could you compare a dam-building construction crew to a family of beavers? Again, we might use similar words to describe what they are doing, but we are describing totally distinct concepts.
I love video games and this makes perfect sense to me.
Games could be seen as different universes, they have different rules. Generalists looking for 'meta' ideas that can help them understand the game rules quickly and take advantage first. Specialists tend to put more effort into the same game or the same genre practicing (like typical professional players) and then slowly outperform generalists.
In the real world, unstable or dynamic societies are continuously changing rules, and it feels just like jumping from games to games. Once the society becomes stable or static, specialists slowly come into play.
On top of that, there's also another dimension of the game: speed. If the game rule is very simple, then the specialists would win very fast. Otherwise, the process would be very slow when the game is very deep. I believe the same rule would also apply to different industries.
So if I were to apply this to my career, I should be a T-shaped engineer, right? :P
Joking aside, I love this comment.
To expand on this further - maybe the question of generalist vs specialist is not the right question. Rather, I come to this conclusion when exploring that topic - adapt to the environment.
So, the 3-step plan to become successful at life (TM):
1. understand what it takes to be successful in the current environment
2. adapt yourself to be successful in the current environment
3. understand that your environment will change, so iterate over time by going back to step 1
Honestly as a human being I think you also have to be careful what you're optimizing for. This is a nice framework if you're thinking about survival and to some degree career, but as human beings we also have a very complex psychology and those problems are mostly "solved" to some degree for many of us. Money and careers are obviously important to some extent, especially if you're struggling to pay rent or eat, but beyond that if this is the only framework guiding your life, you could easily make a bunch of money and still end up miserable. Treating ourselves as economic units maximizing utility I suspect is a big part of what has exacerbated societal ills like alienation and depression.
Yeah it's not quite a 1-to-1 comparison. Close, and I can see the overlap, but K/r is about low effort spamming vs. high investment intensive building.
Nothing says you can't spam specialist, niche offspring -- works well for certain kids of ants. Likewise you can spam generalist spawn as well, hoping that they'll be well rounded enough to get by in several different scenarios.
And our environment has been very stable for a long time. But the past mega trends are no more: Covid, global warming, end of boomer dominance, China dominating and collapse/stagnation of the asset bubble may change this for a while.
From a career perspective specialization pays better but in tech few specialities last a career. So also build skill sets and assets that can be leveraged into other tech or even non-tech domains.
I always feel like these types of posts are too kind to generalists. Maybe that's just because I am one and I am falling for the greener grass. It's true I've done well in my career, but I've never felt particularly competent. I can do a half assed job as a manager, developer, product owner, and salesman, but I am not any better at those tasks than someone who specializes in doing those things.
I could argue that I have a little more career resilience, since some creative editing of my resume gives me the ability to apply for 5-6 different careers, but my resume will be suspiciously lacking in details compared to people who have focused.
Generalists are definitely at an advantage when it comes to leadership roles and entrepreneurship, but it doesn't do me any good to be good at a role I have no chance to get without networking or a large cash base.
I think those who specialize have a more successful career, assuming their specialization doesn't die out. If I had spent the last 10 years being a really good C++ programmer instead of doing a little bit of everything, I'd have a lot of confidence in doing a lot of C++ focused jobs.
I guess it’s perspective, I’m a career long generalist and I feel confident that I can be put on any team and preform at or better than the average specialist in the same position. I’ve backed this up with every position I’ve had and have built a network of people that know and trust when I say I can do something. I think that’s more important than any specialist because if I don’t know an answer or how to solve something I will study and learn the material until I do.
It's also something of a continuum. I was an IT industry analyst working for a small firm. This made me acutely aware of consciously picking a point on that continuum. We definitely tended to be more generalist than analysts at big firms who knew narrow areas inside out--and therefore we were better at drawing connections between different topics. By the same token, we needed to be narrow enough to have genuinely deeper knowledge about some set of related technology areas than a more casual observer would have.
I still do something similar within a vendor today and I do find myself having to consciously tell myself "It's OK not to understand much about $X technology area."
There are certainly times when I have to be okay not knowing the whole picture of what I’m working on. I think most problems when broken down enough start to have very simple, similar solutions, or some combination. So if you don’t understand x technology as a whole, you may know a lot about the he individual aspects of the technology.
I tend to agree, and for strong performers/individuals (or just people who are willing to learn quickly/go outside of their comfort zone), it is often possible to become proficient at many ‘specialized’ roles. Especially with softer things, like moving between Java/C#/Kotlin/Swift, or Android/iOS development. There’s a lot involved in each ecosystem, but there’s also a lot of commonality. And, frankly, we shouldn’t pretend like the average contributor on every team is a genius.
There are still roles that probably do require actually specializing to become great at (e.g. graphics/game engine dev comes to mind) but those roles are comparably rare. Most of the Android/iOS/Java/C#/React/JS/TypeScript/etc developers I’ve met could become proficient in any of those other technologies, they just choose not to, perhaps out of comfort. FWIW, in my personal experience, willingness to learn new things/broaden perspective & skill base (a.k.a. being a generalist) is correlated with job performance to the point where ‘not in my job description’ and ‘no I won’t learn UIKit, I’m an Android developer’ stand out as major red flags. “I don’t have time to learn React because I need to familiarize myself with the 8 new types of pointers C++ added this release’ feels a little more reasonable, but again, the great C++ developers I’ve met are still willing to get their hands dirty in other areas.
Tl;dr specialists are (usually) generalists with an attitude problem
I kind of don't know where to put myself on that spectrum. While I'm dealing with a pretty narrow, specialist role - data engineering, there is extreme breadth of tools and approaches in the field. I feel that internally I'm generalist, picking up new tools and ideas with ease. Especially compared to people that mastered internals of Oracle DB for 20 years.
Imho bi / data people need to be generalists to be good. Even if you've only done data, if you're good, i bet you have got inside the heads many job roles, within and outwith IT. You've probably dealt with you're fair share of connectivity and authentication / permission issues. Not to mention being able to translate between strategic objectives and day to day data capture..
I started my career in digital media on interactive installations and I think that is the most influential position I’ve ever had. Every application was different and designed to the clients creative needs; wrote graphics engines, networking engines, transparent h264 format, hardware/software device integration, etc.
A focus on a single topic/category/skillset. The Ford dealership has a bunch of mechanics who specialize in Ford vehicles, but I find that my preferred mechanic does a better job.
(In this case better job means: fixes it the first time, with no new problems after, and the work doesn't feel sloppy unlike the warranty repair I had to have done by the dealer. In the later case they just reattached 2 panels wrong, something a specialist should be able to do without problems)
I have a very good friend who leaned into C++ hard about 10 years ago. He's now sitting on one of the languages sub-committees. I think he'll never have any shortage of employment opportunities doing work that he finds interesting. At the same time, I leaned into Ruby hard. I'm now leading a team that writes JavaScript and, quite frankly, I do not have the same confidence. I'm not even confident that I'll be writing JavaScript in the next 1-2 years...
Interesting perspective. I'm on the other end of the coin. Work with mostly C++. Looking at job boards, there are endless opportunities for Ruby and JavaScript positions, not so much for C++ these days. JavaScript will probably be fine for as long as the web exists.
There's a lot of churn in projects / jobs but also in tooling, ecosystem, etc...
I've written web applications in: Ruby, Python, C#, Elixir, and JavaScript in the last 5 years alone. I could technically add Lua to that list, too.
I can get a job done, even jobs that are fairly complex, and sometimes (I'd wager I'm batting 0.500 for whatever that's worth) those projects do have long legs... But I don't have the sort of depth of skill or command of language and specific tooling that I expected to have at this point in my career. That is what feeds into my feelings.
Another way of thinking about this is absolute returns vs risk-adjusted returns. Maybe as a specialist you’d have higher absolute returns, but the probability that your speciality dies may mean your risk adjusted returns are higher for generalists.
I am a generalist to the extreme, and I kind of hate it.
* For non-job stuff I am a human encyclopedia. Within tech, I am quite resourceful when it comes to the meta, but am never the go-to person for a particular task.
* Did MechE -> CS -> ML.... so have a generalists technical education.
* I have done meaty projects in all of Vision, NLP, ML for systems, Computational social science, HealthML at production/publishable levels.
* I am great a public speaker and have been recommended to do go down the MBA rabbit hole by many people. But, I am too well meaning to play office politics.
The constant feeling of imposter syndrome despite countless assurances becomes grating after a while. The only exception is cooking, and man does it feel good to KNOW that you are good at something. My greatest phobia in life is to be an "all bark, no bite" sort of person. I find anything and everything exciting, so my affliction seems to be permanent.
But, if anyone is in my position; hunker down and get yourself a specialization: a safe space. It will take 2-5 years of full-time work on the exact thing, but then there comes what I presume is a strong sense of competence that you never need to question. After that you have your whole life to generalize. Might be a grass is greener on the other side situation, but my 2 cents.
I am right there (those moments before finding the safe-space) looking for a job and it's no good to be a generalist with a almost junior profile. I have worked in different industries at the same time being a researcher doing data analysis on remote sensing data for agriculture and environment and manager of 5 people team in a bar bootstrapping it from me alone to five people ; working on public health and malaria and being a project analyst for start-up in a start-up. The last three years, I wore so many hat just because I was feeling constrained to specialized in one job. As a result, looking for a job outside of my network in another country puts me in competition with people with 3y of work in only one specialization in one field. The imposter syndrome keeps growing as the time pass and I get more refusal but I know that it will be ok when a door will open.
I assume it will take more time, more selling and sharpen some teeth before getting there. Thanks for the advice and the perspectives of a possible future.
I've been a generalist all my life, I don't think I could be otherwise because I love to learn above all things.
That's a curse and a blessing at my forties.
And I don't know who is more successful, but certainly I can tell that my main disadvantage is the constant, crippling imposter syndrome. Because I know some things about many things, but above all, I know how much I don't know yet.
> I can tell that my main disadvantage is the constant, crippling imposter syndrome.
IMO, that may in fact be an advantage. The biggest pitfall generalists face is Dunning-Krueger. They rush into a new field, think they know everything, and get burned by their overconfidence. Generalists can be very powerful, but only if they understand the boundaries of the unknown unknowns.
That requires a high level of epistemic humility, which often feels like imposter syndrome from the inside.
It's not generalist vs. specialist, it's capacity for learning and adaptability that really matters.
When things are steady state, learning capacity and adaptability don't really matter. You do the same thing, the same way, every day. When change is in play, and it doesn't matter if that is technical or organizational, those who can learn faster and change behaviors to meet the change are going to outperform.
I once was given a team of interns and newly minted developers. In 90 days, we were able to write an entire new ETL system while the legacy team struggled to just keep their steady-eddie system running. We replaced 10 years of code and a kill and fill system with a fully differential pipeline that reduced load on the upstream system by 98%. Literally from millions of documents to process every night to a few thousand. Why? Our team was hired for capacity to learn and ability to adapt. The old guard was hired for experience and knowledge. Yes, they knew their stuff. The problem was they were not able to deal with change at all. The best part? Most of the team had never even heard of ETL and knew zero SQL.
Was the legacy team free from daily responsibilities of maintaining the system or were you at an unfair advantage because you only had to work on new development?
This is probably the only way that anything gets done though. Someone has to keep the legacy system running, warts and all, while someone else has the free space to work on something better. The only thing that's misguided is comparing the two as if they were tasked with the same goal (they were not).
But, one can speculate that if the situation was reversed, and the interns and newbies were forced to maintain the old system and the old hands were given carte blanche to write a new system, that maybe they wouldn't have been as creative or open-minded about it. Or maybe they'd have deeper insights based on their experience? Who knows?
Richard Hamming talks of the development of FORTRAN and Algol in his History of Computers talk. He recalls FORTRAN being received as something between an abomination and a stupid trick.
Algol, in contrast, was backed by many international groups and is described as "an attempt by the theoreticians to greatly improve FORTRAN" (by way of all their great, formalized knowledge and 'wisdom').
The seasoned experts always think they have some secret that the upstarts are missing, a special sauce that no "true solution" built by "true engineers" would be without. And then their overengineered designed by committee and compromise solutions stumble out of the garage and collapse in a heap. Meanwhile, those things built by people more motivated by a desire and a passion than by signaling their expertise soar past and into fields and uses their designers never imagined.
People who have been in the trenches for years tend to have difficulty ignoring the current system and its limitations when building a replacement. So they end up rebuilding the same product over again.
I've seen it a lot and have been on both sides. Newly created teams have a massive advantage when it comes to replacing existing systems because they avoid getting bogged down in the details. However, they do invariably miss implementing key features in the new system, leading to a situation where the new system is better than the old one only 80-90% of the time.
> Richard Hamming talks of the development of FORTRAN and Algol in his History of Computers talk. He recalls FORTRAN being received as something between an abomination and a stupid trick.
Interesting. I recently designed an executable format that runs on seven operating systems and I've definitely been getting that vibe from a lot of my colleagues. I try not to take it personally since I feel like some ideas can only be discovered and the will of technology often isn't our own.
We were the maintenance team for the old system. We were allowed to only work on the parts of the etl pipeline that required updates due to changes in the data we were extracting. The more experienced team members were dealing with mostly database issues caused by trying to load 8 million documents every night.
> It's not generalist vs. specialist, it's capacity for learning and adaptability that really matters.
From a career perspective, you are going to get a lot less opportunities to show off your adaptability without specific (specialized) experience, today, that impacts your career. You need to be in the right place to make an impact, have someone who notices your impact, have a space for you to fill to move up in the hierarchy. These things rarely happen. This is the root of the answer to the question. Specialization wins.
The focus on skills and knowledge is a gross mischaracterization of the problemspace, outside of the article's assumptions and the soft terms "specialization & generalist". It's hard to argue that attractive sociopaths with political connections/wealth (which is a very specialized niche) do the best in American culture by most metrics. Specialization wins.
Some advice for would-be generalists from my career so far, as a definite generalist in technical services and sales.
- Companies really like people who are technically proficient, but who also have good social skills and can hold a room. If you think this might be a limiting factor for you, spend some time out of your comfort zone and work on it. I attribute at least some of my success to working in pubs when I was younger. It seems to me to be at least as important for progression to top roles as raw technical knowledge. High level people are usually people you can get on with.
- You have to get comfortable, early, with being honest when you don't know. Wear the limits of your knowledge on your sleeve: "I'm not sure to be honest, I'll have to get back to you on that" or even "That's not my area to be honest, you'd have to ask X person" are both absolutely valid answers. I've never felt like anyone has thought less of me for this - on the contrary, people really respect it and much prefer it to being BS'd. Make sure you do get back to them, though.
- Complete Udemy courses in your spare time for the fun of it. Python, UX, Game Development, whatever. They're hit and miss, but do it for fun. Do it on a Sunday. You don't need a clear goal in mind. Increasing your base level knowledge like this will go a long way in real world settings, and there is a joy in receiving pleasant surprise from specialist colleagues when you're able to show an appreciation for their field and what it's about.
I'm now bootstrapping my own stuff instead, but I've been offered C-level with equity positions in London at a relatively young age on this path. It's not to be sniffed at. There is at least one clear downside, though:
- You will not experience the joy of having a deep level of expertise and skill with one specific technology or field, the same satisfaction that specialists and academics feel. I can put a web app together and train a model, but I know that I am not an expert at these things and probably never will be. I don't get deep into projects that really get me out of bed in the morning, or that push the bleeding edge of research, and I do wonder what that feels like. Bet it's nice.
Well T-shaped individuals have greatest chance of success.
What rubs me the wrong way is the false dichotomy like one can only be a specialist or a generalist. It is always presented as if for example chess players would not even know how to eat. There was a joke in the "Top Gear" about "Stig" racing driver that would fall to the ground if taken out of a car.
There is also much more to it because world is complex. For example I am software developer so for business people I am a specialist. But I am also a "full stack developer" where for my fellow developers I am a generalist. Then I mostly specialize in .NET and Angular.
> Well T-shaped individuals have greatest chance of success.
Personally, I feel like T-shaped individuals are a chimera. I don't know anyone whom I'd considered T-shaped. Maybe it's just my location. I have noticed that even the highest placed engineers at my companies, and I'm talking world leaders in certain areas, often do not like to venture even a little bit outside of their specialization.
> For example I am software developer so for business people I am a specialist. But I am also a "full stack developer" where for my fellow developers I am a generalist. Then I mostly specialize in .NET and Angular.
This I can absolutely agree with. I would not call that a T-shaped person; rather, to me, the above is a generalist. I do think that this depends on a point of view. But T-shaped person signifies that a person has one deep specialization. I'd say that having a deep specialization goes against going wide.
From my observation, I've never seen a person who'd have both deep specialization and be comfortable with other technologies on the side.
I specialize in .net too, but in a general way. i'm bad at everything. People who i work with who don't know anything about programming thinks i'm a specialist for some reason. luckily i'm the only programmer in my company. I feel like a fake, because I work for a really good company.
You're probably better than you think. If your company is good, it probably has a good culture and it feels there achieving great things requires not that much effort. I've felt that in good teams, big outcomes are easy, while bad teams will struggle to deliver simple projects.
Also nowadays there are so many options to connect with other developers. Check the meetups (now most are virtual, so doesn't matter where you live much), or the indie hacker scene for example.
As with most categories, labels, and taxonomy, the dichotomy is a human construct. Of course it's not true absolutely. But it still has utility to ponder, and when applied to specific contexts can be powerful.
It's not at all clear to me why a T-shaped individual would be better than "square" individual of the same depth (ie something with more overall surface area).
I'd say the assumption is that your square shape would sacrifice breadth for depth across their breadth. The assumption is that time is fixed and you can only learn and master a certain amount of material to a certain degree. At some point you're going to sacrifice something for the other because time is fixed. There's probably another element to consider: memory, learning rate, and rate of change of a given industry. If an industry moves fast your dabbling in that field can useless fairly quickly.
The assumption that somebody needs to have sacrificed breadth for depth is only true in the hypothetical case where you need to choose between two applicants with exactly the same amount of experience. In practice, you will encounter candidates who are just better at everything than the other candidate. That is something experience can give you.
In an immature market, be a generalist. Be good at switching tools quickly because they'll come and go, and be good at the general problem-solving process because you'll face a lot of problems with new tools.
In a mature market, be a specialist. Be good at one very popular tool, and specifically solving one problem with it, and you'll find a ton of companies willing to pay you a lot in order to solve that one particular problem quickly.
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, analyse a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects.
I think this is like asking "which batter will do better, the one who swings low and inside or the one who swings high and outside?". Ok, I don't really follow baseball so maybe the metaphor is broken but my point is - it depends on what the situation requires and there is no way to predict that in advance. For any tendency or trait an individual demonstrates there will be times when that trait results in success or failure.
It is silly to generalize about which is "better" or more likely to succeed because an "ecosystem" will by design contain both so that as a whole the ecosystem is robust to a variety of unforeseen situations (or nothing happening).
In humans you have people who are specialists or generalists, bold or conservative, jay walkers or rule followers, finicky eaters or people who eat pizza that's been on the counter for a week, gamblers or savers, etc, etc. In every case there will be specific examples that make you think "damn I really wish I'd sunk my life savings into BTC 10 years ago!" but that doesn't make you "right" or "wrong" except in hindsight.
Humans (and other populations) should be judged on the spectrum of behaviors they exhibit and how that allows them to succeed in the specific distribution of challenges they face. Judging individuals seems pretty pointless, I guess, unless you are judging yourself and feeling unhappy with the specific tendencies genetics and your upbringing have dealt you. Anyway, just an interesting thing to consider.
The point is that you can calculate odds of success.
Yes, you cannot predict the future precisely, but if you can estimate, that there is an X chance that in the future 70% specialists and 30% generalists are required, and the population will be 50/50 generalist/specialist, then you can make an informed decision which path should you choose if your goal is money/job security.
You may proven to be wrong, you may turn out not to be a good fit at all in your chosen role, but at least you took a calculated risk, instead of gambling.
To find differentiated success as a specialist in such a world, you need that imbalance of supply and demand and to have a relevant specialty. A specialist in buggy whip making or blood-letting can still likely suffer for a lack of demand for their specialty relative to the supply that they’re offering, even if the global demand for specialists is high.
I am not sure I buy the authors argument. I am not even sure if I am clear about how the author defines a generalist and specialist!!
The way the world knowledge is evolving, there is a blurring of what we call specialist and generalist.
For e.g. If you are a medical researcher, then knowledge of biology, biochemistry, software development (simulation anyone) and maths is required. Now is this specialisation or being generalist?
To me specialists go deeper and solver harder problems. They work on a problem or set of problems in the same space for years together.
Generalists span either multiple disciplines and leverage the connections or have an overview of the field and jump between sub knowledge every couple of years.
And which is better? It all depends on context!
In a space which has higher population of specialist then generalist will be more successful as they will be able to tap into multiple peoples work which a specialist will find harder to do.
In case there are many generalists in a given space then specialisation is the way to go as you can take up problems that generalists will never be able to see or solve.
I long considered myself a generalist because I typically work with early stage startups to get them going and growing, and that requires being competent at many things, wearing many hats. I now position myself as a specialist at growing early stage startups, because that wide of a skillset is exactly what you need to be successful in that context.
If there are many generalists in a given space, doesn't that make them specialists? And you'd just be more-specialised?
Can you think of an example of when this might have occurred?
Seems by that line of thinking today's specialists are tomorrow's generalists, even if they do nothing differently.
If really recommend the book that the article is about. I'm a few chapters in (started it a few weeks) and it's a fun read so far with some interesting stories and data.
Someone told me you gotta have a "T shaped" skillset. Well, how else could it be? I've never met any one who is just a straight line deep. Everyone is is an upside down triangle with multiple spikes at the bottom (their specializations) otherwise you couldn't have gained the specialized knowledge without learning the general stuff. But that's a stretch, let's not deduce someone's career into a couple of difference shapes. Careers are complex as they evolve sort of in a chaotic system of professional environments.
T-shaped is largely a made up concept without any real observations, and it sounds good initially but after contemplation it falls apart. One of those urban-legends that keeps circulating in big corps.
100% agree - its a meme because it appears as a hiring criteria in the Valve handbook and Valve is successful therefore T shaped must be a great quality to have.
T shaped neatly sidesteps any mention of tradeoffs. Have your cake and eat it too! What utter nonsense. Why not Pi shaped or Comb shaped? (google those - they exist).
In my limited experience a specialist gets paid more, right up until they don't. Specialist areas from the 90s are so rarely used today as to be laughable, TokenRing anyone?
Generalists are slightly less compensated, but as long as they keep on top of new areas, they are able to stay relevant and actually stay in the industry. In my case, the VB6 specialists I used to work with still barely make a living with it, but meanwhile I've moved on through VB.NET, C#, and now F#. A deep investment is worthwhile to the industry, but is rarely worthwhile to the developer, and the landscape just changes too fast to make it worthwhile (at least for me).
I think the better strategy is to specialize in topics that are long living. For example, specializing into parallel programming, or virtualization, or APIs. Those topics are less likely to come and go than a library, product or technology building on top of them. In your case for example you seem to be specialized in the Microsoft programming ecosystem, which is probably a safe bet.
In mathematics, there is this thing called the “Curse of Dimensionality”.
In careers, there is the “Blessing of Dimensionality.” If you can make yourself good along multiples axes, you can carve a niche out for yourself. Maybe you are a top 20% coder. That alone, may be enough to get you a pretty good job. However, if you also have top 20% people skills, suddenly you have opened a very nice niche for yourself and are a very strong candidate for Director of Engineering or above.
Instead of obsessing about your weakness is a single dimension and worrying about if you are specialist or generalist, develop another dimension of competence.
I doubt, there's such a thing as a real generalist, that knows SW development, negotiation, history of Italy, international politics, engine design, ... to the same level of depth.
When we speak about successful generalists, they are still quite specialized. They might know some data analysis (maybe limited by Excel and VB macros), some teamwork skills, some marketing/sales/product ownership knowledge, some competitive intelligence, some understanding of work laws and how to form a company.
Such a person would be considered a generalist, but as I see it, such a person still ignores 99% of fields of study.
I think these sort of people exist, but they are likely quite rare. I think it'd lack humility to claim I am one of those people, but I will say that I found several other people who were like me but more in this regard during my career by trying many different hobbies and identifying people I respect and work with that share these hobbies. The Gallup StrengthsFinder personality assessment has two strengths, "Learner" (breadth) and "Ideation" (depth), people who have both are rare and perhaps jokingly called "certified know-it-alls", but it's been my experience that this is pretty much true and some people do have the personality to pursue many varied disconnected interests at depth. It's also one reason I believe STEAM is a real thing, because I've met many folks like this that are as gifted in artistry as they are in (physical) engineering and mechanics, as they are in software development. I certainly lack the gifts in artistry myself.
I don't think I've ever met anyone who has depth in every field of study, but I don't think this is a fair requirement to be considered a true generalist.
Being more capable in all situations can be a goal. What you are describing is a
Renaissance man, also called Universal Man, Italian Uomo Universale, an ideal that developed in Renaissance Italy from the notion expressed by one of its most-accomplished representatives, Leon Battista Alberti (1404–72), that “a man can do all things if he will.” The ideal embodied the basic tenets of Renaissance humanism, which considered man the centre of the universe, limitless in his capacities for development, and led to the notion that men should try to embrace all knowledge and develop their own capacities as fully as possible.
I know about Reneissance man, but this isn't what I had in my mind when writing it. With Reneissance men, you expect them to be extraordinary creatures who don't only have breadth, but also depth.
What I meant by generalists, it was a lot of breadth without depth. Like knowing one city from every country, but not knowing more in any. Like knowing one painting from all major artists, but not knowing second and third from anyone. Being able to paint a dog, but not a cat, a man, a castle.
Being such a generalist would not be practical. In fact, it would be useless. Even Leonardo da Vinci was a painter, student of anatomy and engineer. He wasn't archeologist, expert on India, or circus acrobat who can juggle with torches. Da Vinci was specialized too.
What I see in generalists today, are very often general managerial/entrepreneurial skills mixed with some level of expertise in one or two fields. And calling this generalist seems as bad naming practice.
Cyrano: I was wandering in a maze
I’d too many complicated paths to take:
I took ...
Le Bret: Which?
Cyrano: Oh! Of them all, the simplest one.
I decided to be brilliant at everything, with everyone!
This! I think of a generalist as someone who learn very quickly and adapt to the situation. Not necessarily as someone who knows many things. Thinking from a startup point of view, usually when looking for a generalist you are looking for someone who can help to jump on things on fire or take a first stab at a new process.
Never bored, I went from basic electronics and microprocessor to troubleshoot mainframes at bit/op code level, replacing heads and aligning disks, to admin'ing new then Silicon Graphics, Sun Unix and VMS and large scale databases, analog and digital research instrumentation (NMR, among others, RF, cryo, even writing minor pulse sequences and HW to control laser excitation of molecules, among others), new then IP networks, IBM Server and NT and automating rollout of thousands clients, email (cc:Mail international) architectures, the early network security configs and proseltyzing, a hospital systems ATM (not money machine, a net arch) mesh network, and later specializing study in computer science/information systems and all that, Apache servers, and automating certain new aircraft systems. The magic was being generalist, understanding fundamental concepts. You cannot believe how upset some people, who locked into their narrow fields, became when I was able to move around so easily(? - it was a lot of work though, but it was always a hobby so never a job). Now retired and following/studying NMR technology applied to quantum computing to leverage my way into the algorithms, and ESP32. that is how the generalist wins in many ways, in my opinion; leveraging fundementals to do interesting things. But I do find that without the steady back pressure, I tend to wander a bit much into the wilds.
Specialization only matters if the specialization is valued for top quality. A diner can make me a good enough burger, but there are places I’ll go to for a top quality burger.
In software development, business mostly wants good enough. The bulk of the products being developed don’t value top quality, so it’s becoming increasingly pointless to invest into a specialty.
I think it's worth keeping in mind that specialization is in the eye of the beholder. Among physicians, I'm a specialist (a pathologist). In the pathology community I'm a generalist (I don't have subspecialty training), but I'm also quite specialized in that I mainly work in AI (thanks to an undergrad in physics and a lot of time spent playing with computers). AI turns out to be something few physicians of any type have the mathematical training for because the prerequisites for medical school stop at integral calculus.
Following most of the comments I've read I fall in the generalist population.
But I'm trying to have a more nuanced perspective. My goal is to be a specialist in a couple of practices less likely to change not in the tools that are more likely to change.
For example, as a developer I would want to become a specialist in Object Oriented Design, not in Java/PHP/etc. I might not understand all the nooks and crannies of Java and the JVM but I understand enough to get the work done in 90-95% of cases and I'm comfortable enough to get my hands dirty with the official documentation in order to deliver good work in the rest 10% of cases. Yes it's quite probable that a Java specialist will be more effective than me in those 10%, but having a wider breadth of knowledge makes up for it in other areas of the project.
In my experience I can cover most of my lack of knowledge in a certain tool much quicker if I already have previous experience in switching tools. I'm becoming better in understanding what I can take and apply from my less-specialized expertise and what I need to learn quickly in order to minimize the impact of my "generalism".
Another interesting thing I noticed is a cross-pollination effect, I can bring experience from other tools and provide a completely fresh perspective in solving problems compared to specialists that otherwise wouldn't have even considered some of the new possibilities.
“Success” can be subjective. To some, it means being the richest, or the best in your field. To others, it’s the pursuit of knowledge and experience itself.
IMHO, there’s far too much compartmentalization in today’s world, and we’re lacking Carl Sagan types who can see threads running through many different fields.
But there are fields where generalists can thrive. Take filmmaking. By nature, it involves story, sound, cinematography, etc. Even just a good story requires some life experience, or at least exposure to a wide range of subjects.
You have to ask whether being the 1% elite of your field is your goal. You can still be much better than average, and pursue a wide variety of interests. Some see those other interests as distractions. But they can wind up being the thing that distinguishes you from everyone else in your field - or gives you the moment of insight that comes from left field.
Einstein didn’t give up the violin and say, “what’s the point?” or, “I need to focus 100% on science.” He drew on it, and it gave his life some balance. Perhaps some of his insights came as a result of that diversion.
Obviously the world and the economy are big enough for both but at least in terms of programming, I've observed the following:
The more senior programmer I become (both in age and skills), the less I can actually focus on a single programming task. I am expected to know a metric ton of tooling for 2000 separate purposes. So I learned to quickly master tools just good enough. Same goes for frameworks (which has been to the detriment of the projects sometimes, sadly; there are things you cannot afford to half-ass).
Basically, as a tech generalist and a polyglot, my job is to assemble bricks into walls into houses. Rarely do I get to write the perfect brick or glue. I am much more a plumber and architectural worker than anything else.
So IMO if you are not in a single company for most of your career and want to be competitive, you have to be a generalist.
Specialization vs. generalization isn’t what has driven my success, but my overall ability to adapt. At times in my professional life I have been a very narrow specialist - domain expert even. At other times I have greatly benefited from having more wider knowledge of multiple areas and being able to synthesize among them. It just depends.
The biggest issue I have had with people is when they get to a point where they don’t feel they have to learn anything new - “I shouldn’t have to at this point”. Always makes me laugh! You should never stop learning - I’ve seen that attitude pigeonhole and submarine otherwise smart people. If you want to be miserable, just let that mindset start to creep in and dominate your thought processes :/
I don't know where I read this, but few years ago someone was advising students on what they should do to survive professionally. And the answer he gave was:
Master one field, and that advise would have been enough for past generations. But for the present and coming generations the answer is, master one field but have at least some knowledge of other(2-3) fields that you think(from your general knowledge) are important for humanity; and don't let go of your hobby. This is a not so clear-cut answer because that is the reality we live in, it is a very dynamic and competitive world!
So, in today's world it does not help to either be a generalist or a specialist. The ethos should be "Jack of all trades, but master of one"
Alternatively, try to find an industry where your calcified skillset and knowledge remain valuable for 20+ years if possible. These seem to be more on the business and finance side rather than engineering side of things.
"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, analyse a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." -- Robert Heinlein
Some things do come at the cost of others, but I think you'll be surprised how many proficiencies you can come up with in a life well lived.
When this question comes up, I always think of Leonardo da Vinci. The man was perhaps the least focused genius in history and it's a wonder he got anything done at all. He spent years experimenting with science, engineering, new painting techniques, and various other things that went nowhere.
Yet, today he's probably one of the top five most successful artists of all time, largely for a handful of paintings.
So, when it comes to the arts, it seems like you can do both. Be a generalist, but make at least one work that is a masterpiece.
> Now please come up with a measure if an economy is elaborated and functional.
A friend once referred me to a "public transport" measure, which might not be the panacea for defining an economy's success, but it's certainly an interesting take.
I wish I could find the paper / article (I tried), but in essence, the extent to which an economy has implemented effective public transport can be used as a measure of economic success.
Edit: I also completely agree with your first point.
I wrote a blog bost[0] about the idea of The Stalactite Developer about a year ago. I like this metaphor better than T shaped and I have applied it effectively throughout my career.
The world problems however needs all the specialists and generalists. And instead of taking generalists too far, a specialist with minimum knowledge and experience in few other contrasting domains is good enough for him to get creative, draw analogies and solve problems.
In my mind generalists are more likely to do well with people (whether at selling, persuading or romancing), which can be advantageous - unless your definition of success is becoming an hermit.
This whole thing just sounds like it's based in multiple bits of poor logic and improperly used principles.
- Don't take away data points to find averages you like. When you have a category like "fastest growing successful startups", I want to know how many you looked at. And no, 45 is not unreasonable. Neither is 40. We're dealing with people aged 20-80. But actually, 20 is unlikely because you also put in "successful", which takes a few years to figure out. So like 25-80, with more at the young-ish end of that spectrum.
- "Specialists do not do well as predictors of financial or political trends. Nor are they good at predicting human behavior" is a bad generalization to make on specialists. EVERYONE is bad at predicting human behavior, financial and political trends. EVERYONE. If you think you've found someone who is good at that, I think you've found someone that's good at hiding how much they suck at it. Test them, with specific claims, and usually they reveal they're just as bad as anyone else.
- "Specialists often learn from experience" - of course they do. So do generalists. Also, so do you.
- "Inspiration is everywhere", hey, on that I agree. Inspiration is indeed everywhere.
- "What can do you to thrive in such a world?" - The author recommends all sorts of things, most of which are quite silly. Reading books every day? GREAT! Read magazines that cater to different hobbyists? Less useful. Listen to music from another country? I suppose... if you want. Learning about motor cycle racing and polymers? Again, if you want. But it's implied that this is somehow beneficial to your career, which it almost never is.
I know a bunch of biology, a smattering of physics, plenty of skeptical stuff, a touch of programming, little bits about music and cultures around the world, an enormous number of trivial things. I know those things because of my history, my experiences, and my curiosity. I am no better at predicting human behavior or economic markets than the world leading chess experts. And I'm no more likely to succeed at making a startup than someone who doesn't know about ancient tea and black powder muzzle loaders.
A lot of programmers think of themselves as generalists because they’ve built web apps in several languages and know both front end and backend development.
I disagree. These people are just specialists in web dev. The knowledge within web development is diverse and actually easy to learn but it does not make you a generalist.
You are a generalist if you have knowledge about different fields within software engineering.
So for example, if you’re good at:
machine learning and writing compilers,
doing operating system development,
front end development with react,
OpenGL/Vulcan development with c++,
Database development.
then you are a generalist.
Generalists are truly rare. specialists in compiler development are also rare. Specialists in web development are abundant. Practically every show HN is some sort of website.
Everyone knows a little about all these things. Heck the computer science curriculum at every university pretty much makes it so all students know a little of everything.
Does that make every CS student a generalist? No. The generalist must have competent capability to be hired in several of those fields.
I don't think there are many fields out there where you'd need comparatively that much expertise in so many subfields before you got to call yourself a generalist.
> Can a general practitioner call himself a generalist?
A generalist practitioner in the case of a Doctor isn't really a specialist. You need additional schooling to specialize. So a specialist technically knows more than a "general practitioner" for doctors. For this context, a generalist refers to someone who specialized in more fields than one. So a brain surgeon and a cancer specialist would be more general than someone who only does brain surgery.
>How many subfields does a mechanical engineer need to be competent in before they can be labeled a generalist?
Don't know. It's not formally defined. But it has got to be more than one.