Generalist or Specialist?
A friend of mine recently asked me if he should learn JavaScript and AJAX or PHP? He is already really good with xhtml and css to the point where he could write some fascinating articles about the subject, but he is finding that his pay rate is limited because of competition. I told him that if he wanted to avoid a fair bit of competition he should learn JavaScript and AJAX rather than jumping on the PHP bandwagon. What he noticed though is that as a freelancer, there are many more jobs for PHP. I told him that maybe he should try learning both and be good at each.
He didn’t really like that idea, as he is the type of person that spends the time and effort becoming and expert at something before moving on. He enjoys being a specialist, and being able to fix problems that others cannot.
I have always been more of a generalist. I like to learn a bit of everything, so that I have a wide arsenal at my disposal, but I always have to research or contract out on the more difficult bits.
It started me wondering what is better, especially from the point of view of a freelancer. Should you be a specialist, and focus on one subject that you are the best at, or a generalist, and load your brain up with bites of knowledge from hundreds of disciplines?
Have your say in the comments below.







Want an avatar? Get a gravatar! • You can link to this comment
i am a freelance frond end. Few months ago (about a year or so) i can’t imagine myself knowing anything else but xhtml/css. I had a client who need a lot of javascript&ajax things done and i learned. Learning process was naturally and very easy.
i think is better to work with technologies, not to learn. this should be like: “i will try to make this stuff workin” and not like “hmmm… it’s a good day for learning javascript”
anyway, either you are a freelancer or employed, you should have your area of expertise (and be THE BEST) with few knowledge of something else than a one man show (average)
Want an avatar? Get a gravatar! • You can link to this comment
It’s pretty obvious, just try to find a sweet spot somewhere in-between. If you can be specific enough to answer almost every question, while also being general enough to accomplish multiple tasks in multiple disciplines then you will be far better off than just picking a or b.
Want an avatar? Get a gravatar! • You can link to this comment
I was just thinking about this. To be honest, there are new specialties created almost every day. Being a “generalist” is a far safer methodology I believe. Tons of people can do JS, CSS, PHP, etc., but very few know enough to get the job done in all of them.
Remember it’s not about knowing everything but knowing where to go when you need something.
Want an avatar? Get a gravatar! • You can link to this comment
I’m sort of in the same boat as your friend. I’ve been learning JavaScript, particularily the DOM aspects of it, while learning PHP. I’ve found that as a front-end guy I can do a lot more with some pretty basic programming skills than I ever could with straight XHTML and CSS.
Want an avatar? Get a gravatar! • You can link to this comment
I have been pondering the same thing. After recently finishing studies I am looking for my next direction, and wondering if I should focus on excelling at ASP VBScript and carry on from my studies, or learning PHP (that we did not cover in my studies) as I too have noticed a lot more jobs wanting PHP experienced people.
But perhaps learning AJAX is the smarter option, and the future of things to come?
Want an avatar? Get a gravatar! • You can link to this comment
Well, I do prefer being generalist, but I believe it depends of your behavior too.
For one thing I find it useful being capable to tweaks lots of different things and being capable to explain exactly what I need, understand and judge the quality of the work of others.
Add it to the fact that I’m fascinated of all the things you can do, have many interest and want to try everything… well simply said I can’t focus enough to because a specialist.
Want an avatar? Get a gravatar! • You can link to this comment
Be a generalist, market as a specialist.
Want an avatar? Get a gravatar! • You can link to this comment
What all of you are asking is… what kind of “T” should I be.
http://www.fastcompany.com/magazine/95/design-strategy.html
Short and fat or tall and skinny? Maybe I can make an “H” out of myself.
Good luck to all of you.
Want an avatar? Get a gravatar! • You can link to this comment
Great article, I’ve always considered it to be a good idea as a specialist, however recently have noticed the benefits of specializing in column A while knowing a little from column B and C.
As a freelancer I can forsee being a generalist more beneficial to some degree. Obviously there are many factors involved in being a freelancer and that work that is being produces is one of those majors.
I’m currently at a fork in my career where I am wondering whether I persue and try to improve my design side, or whether I improve on my front end capabilites. All food for thought. And perfect timing for me to see the article.
Want an avatar? Get a gravatar! • You can link to this comment
Personally I think its best to start off with the more generalist approach. Lots of people ‘specialise’ in one area or another so to set yourself apart from the competition its best to widen your skillset. Once you have established yourself i think is a better time to start focussing on becoming a master of your trade rather than a jack of all trades.
Want an avatar? Get a gravatar! • You can link to this comment
I have a design background and hand-code xhtml/css. I picked up Javascript, PHP & MySQL from working in a web app development environment for a few years, and reading books & the web. I love knowing enough to get by in programming. I can create sites top to bottom that have light duty scripting involved.
I’ve found though that true programmers are invaluable for complex projects. My head just doesn’t work that way, or not fast enough to be effective anyway.
I say learn everything you can. It can’t hurt. With programming, knowledge crosses lines too. Many concepts I learned studying FORTRAN and Pascal in college are the same in Javascript and PHP.
One thing I find is that the more I learn across boundaries, the harder it is to define myself in a job search. Small price to pay though.
Want an avatar? Get a gravatar! • You can link to this comment
Somewhere between the two!!
Be an expert specialist in a field or two (eg: xhtml and css) and then be a ‘good enough to get by’ in other areas like graphics, php etc
Want an avatar? Get a gravatar! • You can link to this comment
I would like to be a specialist.because “I’m not afraid of a a fighter who knows a 10,000 kicks but i’m afraid of the one who has practiced one kick 10,000 times”
So be specialist in one field and glow like a moon.