February 11th, 2008Generalist or Specialist: Why not Both?
For a while I’ve been planning to write on this subject. The question of whether going broad or going deep into a subject area has always been present in my life. In this post I will scratch some of my current thoughts on the subject. Feedback and other opinions are welcome!
Some Background
My parents always told me that I couldn’t be good at everything. But they’ve always been very supportive on everything I decided to do. Being a great musician, magician, and programmer was not an easy task, but that never stopped me from trying. But then I read something funny that became a good argument for a while… Â
The Specialist Paradox
An specialist is someone who knows more and more about less and less, ultimately knowing everything….. about nothing!
That even made me review my resumé to remove any reference to the word “specialist” and include the word “generalist”. :-) Â
Swinging the pendulum
But I forgot that you can always change the argument to take the other extreme and come up with a “Generalist Paradox”. And then I watched Kent Beck’s keynote speech last year at XP 2007 about Ease at Work. We are always trying to be the best, but then we realize how bad we are and start thinking we are the worst. A great lesson that I took from his words is that while swinging that pendulum back and forth, we never stop to think that neither of those extremes are good. Being at ease is trying to find how to stay in the middle. In our discussion, the extremes of the pendulum would be the common view that generalists are best at defining the problem or goal and specialists are best at solving the problem or “executing the plan”:
While researching about this subject, I learned that you have similar concepts in Biology (highlights are mine):
A generalist species is able to thrive in a wide variety of environmental conditions and can make use of a variety of different resources (for example, a heterotroph with a varied diet). Specialist species can only thrive in a narrow range of environmental conditions and/or have a limited diet. Organisms do not fit neatly into either group, however. Some species are highly specialized, others less so, while some can tolerate many different environments. In other words, there is a continuum from highly specialized to broadly generalist species.
We can leverage that same idea, letting go the “Us vs. Them” argument and starting to think about generalist and specialist as complementary skills. David Armano has already suggested changing the “or” to “and”, but I would dare taking it one step further… Â
It’s all about context
Specialty is contextual. Anyone in my family would consider myself a specialist in programming and software development. But they don’t have a clue that Computer Science is a broad area with so many fields. Some interest me more than others, so I could say I’m a generalist at that level. But since my interest in software development and Agile Methods is greater than other fields, one could say I’m a specialist, although I wouldn’t consider myself an expert at anything :-) I can see the XP principle of Self-Similarity applied here. I think that the above picture is just a simplification of reality. There are some dots underneath the surface that you can only connect if you specialize a little bit. And I would say that the same fractal structure would appear as you go deeper and deeper into your endless search for knowledge. Sometimes you will have to go back and look broader for a while, but that’s not wasted effort. That’s why I now see value in being both a generalist and a specialist in different contexts.
March 13th, 2008 at 4:14 pm
I’m glad you have found the answer that it’s all about context, Danilo. I have often posed myself this question and gone through this angst just like you and many others
June 13th, 2008 at 10:23 am
Hey Danilo,
Interesting Post indeed.
I happen to work out of ThoughtWorks Studios in Bangalore.
I am “primarily a C++ programmer.
Here is some of my (open source) work:
1) VTK Desginer : http://www.vcreatelogic.com/oss/vtkdesigner/
2) KWebTest: http://code.google.com/p/kwebtest/
I have managed to do a lot of work with C++/Qt. I consider myself proficient in it.
I am on the Selenium team here and work primarily with JavaScript and Java.
This decision was hard for me. I wanted to continue working in the C++ language. Decided to language-agnostic and learn Java & JS and it’s been fun ( Doing that for a month now)
While I consider myself a C++ specialist; I consider myself a generalist application programmer as well.
Nice article, I’ll pass this link on to my friends.
— Manish Chakravarty, TW Studios, Bangalore
June 16th, 2008 at 5:17 pm
I think that you might find the concept of becoming a generalizing specialist, http://www.agilemodeling.com/essays/generalizingSpecialists.htm , to be of interest. Why go for the extremes of being a specialist or a generalist when you can get the best of both worlds?
– Scott
July 6th, 2008 at 8:19 pm
I read similar article also named Generalist or Specialist: Why not Both?, and it was completely different. Personally, I agree with you more, because this article makes a little bit more sense for me
August 28th, 2008 at 12:14 am
[…] process and should be seen as a Good Thing. And I have already shared some of my impressions about Generalist vs. Specialists, so I’m a bit biased […]
June 8th, 2009 at 10:28 am
[…] Generalist or Specialist: Why not Both? […]
August 21st, 2009 at 7:41 pm
Great post, Danilo…
I think when you tell us that’s all about context, we may have a look also over “epistemology” and “complexity theory”.
Calling someone a specialist or a generalist doesn’t mean so much, I also believe.
We are all part of related systems, data, processes, people… All have direct or indirect influence over the others…
It may sound strange or superficial, but I prefer the sense of WISDOM.
Think about an elder Martial Arts master…
Well, it´s a bit subjective or personal.
But what isn’t that way, when we talk about people comparing to people?
Just a matter of accepting that FACT…
By WISDOM I mean, how much knowledge, experiences and emotions one person had contact in life, and how intensely and “bravely” this person extract learned lessons from both.
It´s about bad and good experiences, bad and good knowledge acquired, and finally all the sense of what is bad (anti-value) and what is good (valuable stuff), now according to context…
And it’s not so far a complete vision… never will be…
Big Hug!!! ;)
September 8th, 2009 at 11:46 pm
[…] and a Specialist:Â This issue has generated a lot of debates and we can find several articles and blogs discussing it. The book advises us to be both generalists and specialists. “Generalists are […]
February 3rd, 2010 at 1:08 am
[…] journey to find the right balance between a generalist/specialist in software has led me to projects where I had to play not only the developer role, but several to […]