Generalist to specialist? Both terms worry me in equal measure. The game industry has been expanding really quickly in recent years and with the advancements in technology so has what people come to expect. You don't tend to expect and awesome AAA title from a small start up company that to date has only made iphone app games, which means they can get away with making a shit game or 100. People won't notice and its relatively cheap for that company to keep trying, it could even be only 1 or 2 people doing it in their spare time, which would take people who generally know what they are doing in all areas. When they get lucky and make something that does well, like Angry Birds, they are sorted.
Big game companies however, can't get away with rubbish games. As games have become so much more realistic and complicated in practically every way, it takes a lot more money and man hours to get the game done. They employ huge teams of specialists and generalists to get things done. If it does well, great they may break even or if they are lucky make a profit. But if it doesn't do well, the company is lucky if it can afford to try again. In these situations people will get fired or the company goes completely bust and there becomes lots more people out there looking for jobs in the industry.
I think its difficult to think which of the generalist or specialist is really better. I remember in the 1st year I, and I think most others too, had this very issue. As 3D deadlines loomed and 2D got left by the wayside everyone was asking 'should I spend more time one on subject and focus my efforts into that and get really good OR just spend equal amounts of time on each and be an all rounder?'. We didn't get an easy answer. It feels the way the course is set up is designed to make us become an all rounder. We don't have the choice to not do 3D and focus all our time and energy into 2D, we'd fail. Only putting the minimum effort into one subject would still look bad on you and your grades would be rubbish. We have to become all rounders in order to do well. The reasons are fairly obvious, the course cant be catered for one subject or the other, everyone needs the chance to learn everything they might need. But even the 3rd year forces you to do both aspects, so you never really get the chance to become a specialist.
And then you go straight into work, if you're lucky anyway.
People are always going to be better at certain aspects than they are others. I think I've always been better at 2D than 3D, but I can still generally do 3D and I wouldn't consider myself a specialist at 2D. I haven't got the time to try to be honest. If I got a job it would end up being a generalist as I think most people would.
Saying that is hard to understand what companies really want. Given money is tight they might prefer to have a smaller team of people that are fairly balanced in all areas, rather than needing a specialist for each area. I would personally consider 60 people that can all actively move around areas of development of more value than 80 people who can only do 1 thing. But that is my opinion.
I guess having the majority of a dev team being generalists, free to move around and help out where ever things need doing, but a core team of specialists who really know what they are doing and can 'run the underlings' would work out best. And this seems to be what happens. One thing I have come to accept in the world is, there is always someone better than you. Always. And with that in mind I don't really fancy my chances at being a very good specialist. Its easier to get a job as 1 of 20 generalists than it is to be the 1 specialist. Bring on mediocrity.