There's an old math joke that goes like this:
There are two groups of people in the world; those who believe that the world can be divided into two groups of people, and those who don't.
OK, I didn't say it was a good joke. But it's a way to introduce an observation that I have about the working world. In it, I see two groups of people: Specialists, the people who have a very deep knowledge of their particular subject areas; and generalists, people who have adequate knowledge in a number of areas.
I'm a generalist. I've been a software developer. I've been an IT manager. I've been a director of marketing. I've been a salesman. I've been a product manager. I've been reasonably good at each task, and very good at some of them.
There are particular situations that are well-tailored for generalists, while others require specialists. In the very early days of a startup, generalists are preferred as they can wear many hats and accomplish the diverse kinds of tasks that come up in that environment. Companies that have evolved past the startup stage -- small, medium and even large businesses -- tend to require specialists who excel at handling specific tasks.
The preference for specialists in larger companies means that skilled generalists are often overlooked. However, in the software development field, specialization may not matter all that much. Jeff Atwood of Coding Horror had this to say about the supposed value of specialist experience:
"It's been shown time and time again that there is no correlation between years of experience and skill in programming. After about six to twelve months working in any particular technology stack, you either get it or you don't. No matter how many years of 'experience' another programmer has under their belt, there's about even odds that they have no idea what they're doing."
We've all heard of ridiculous experience requirements in the workplace. Some might even call them prejudices. I have been coding for 30 years using a variety of languages and platforms, including C++, Java, and PHP. I've never "specialized" in any of them, but use them as necessary, and can easily learn new technologies as they arise. For instance, I jumped on the Facebook API when it first came out, and even launched two Facebook applications. Nevertheless, one company that wanted to launch a Facebook app declined my services, claiming it was looking for someone with more experience. Considering the newness of the development platform, what more could they be looking for?
Another issue that employers fail to understand is that specialists may come into job situations with other baggage, as noted in Dr. Dobb's Journal:
"Specialists often have difficulties working with others: Either they lack the humility to recognize that other people have something of value to offer, or they are so narrowly focused that they may not realize that their work may cause someone else to do significant rework later on."
I am not trying to suggest that generalists are perfect. If you are building banking software or you are launching a space shuttle, where well-defined processes are essentially repeated over and over in the building of the software, then specialists may be preferred.
However, in the Web 2.0 world we live in, where new products and APIs are introduced seemingly every other week, specialization loses its allure. Six months of experience on a particular platform might turn a generalist into a de facto specialist.
At the same time, a generalist brings a variety of hard and soft skills to the task at hand. They often have the ability to quickly assimilate a new technology or skill, and may be able to quickly accomplish tasks in unfamiliar situations. And, from what I've seen in the past few years working with the Web, everything is an













Comments
Larry,
Great post and thanks for making me aware of the creative generalist blog:
http://creativegeneralist.blogspot.com/2008/02/what-specifically-do-gene...
Garrick
My pleasure Garrick. Thanks for reading!
Hi Larry,
Thanks for this great post. Have added my own thoughts and cross referenced at Creative generalists rock the tesseract!
( http://www.dialogcrm.com/blog/2008/05/08/creative-generalists-rock-tesse... )
hank you very much for this useful article. I like it nakliyat evden eve nakliyat
Post new comment