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.