As with many things, happiness is found somewhere in between...
It's true, at every stage of my career I've picked up more skills and honestly, the only reason I ended up where I was doing what I was doing was because I felt it necessary to fill a niche in production. My first job was actually as a VFX intern, but I did some facial animation, rigging, cinematics, modeling, hell, I even have a sound credit from my first job, of all things. So I, of all people, definitely appreciate the value of the generalist developer.
Now, I'm probably not telling anybody anything that they're not already thinking, or more correctly, haven't already realized. At the same time, I feel like I've been one of the more vocal proponents of the Tech Artist as Tools Programmer, or at least the notion that Tech Artists should specialize in something at some point. And yet, here I am, finding myself not really specializing in anything, or even more ironically, specializing at being a generalist...talk about taking the red pill.
Just take both of the pills, seriously, the purple pill is f'ing wicked...
I guess what I'm really saying is not to specialize or generalize, but more like don't pass up an opportunity to learn new things. One of the most disheartening statements I'd ever heard uttered was something to the effect of "Well, i'm working in Max right now, I don't need to learn python". Yeah, but you could! It's not about learning python, or C#, or C++, or Lisp, or MSP, it's about LEARNING. When I was at Bungie, sure, I was a Maya guy through and through, but that didn't stop me from taking advantage of the fact that I was working with some great C# developers and learning C#, a skill that's serving me really well now. And once you're comfortable with that new skillset, Apply It! Take some time and come up with some creative solutions, in the process you'll gain a deeper understanding of said skillset. I started learning Django just for fun, but in the process, I realized what a great asset management system Django would make, or to be more specific, what a great asset management you could write on top of Django. Being able to apply technologies in new ways is a great way to keep your interests up, especially if it's technology that already exists and is just waiting to be put to a creative use. As Grandmaster Harper says "Take What's In Front Of You".
Tech Art...The Kajukenbo of Game Development
The industry being what it is, you never know what your job sitch is going to look like in the next few years, heck even in the next year. The skills you learn now are going to protect you for your entire career. Who knows? If it ever comes down to it and you have to jump from content creation, the fact that you used Python to do more than just write Maya scripts may be your saving grace.
So in the end, expand your horizons, learn all you can, and embrace your generalist self. I'm definitely not sorry I did, given the dividends it's paying now.