Wednesday, April 18, 2012

in defense of the generalist

        A while back (years almost, come to think about it), I made a post on a friend's facebook on why I thought generalist as it related to Tech Art was probably a bad goal to pursue in the long term. I'll admit at the time I was definitely not in the best of headspaces and not at all thinking straight.  I'd also been through a few interesting work stints that had me questioning the value of Tech Art in general, or in other words I was feeling sorry for myself and projecting onto other people, trying to "save" them from a professional fate worse than death.  Or something to that effect.  But as I alluded to in my post the other day and as I remarked (or maybe admitted) to the same individual who i had previously publicly lambasted for being a generalist, if it were not for my own background as a generalist, there's no way I could be doing the job I'm currently attempting to bungle my way through...

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 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".

bloodymayhem gregharper_200x20
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.


  1. Yes. Specialize in learning. It pays off, kids. :)

  2. Truer words I cannot think of...

  3. False dichotomy ;)

    To roll with your "kaju of game dev" analogy...I can say that as far as physicality I "specialize" in boxing. However, being a good boxer doesn't just mean one thing, it's a collection of skills: technique, speed, conditioning, strength, endurance, explosiveness, mental toughness, and so forth. So while I "specialize" in that single sport, as a result I have respectable (though not world-class) lift maxes, 5K time, and what have you. I don't think that I would describe a [good] boxer as a specialist, nor a generalist. It means having a decent toolbox of skills and an ability to apply them.

    An ability to think, extrapolate solutions, acquire new skills, and understand how existing ones relate to one another is of utmost importance, particularly for longevity in a given market. It is also important to be good at things ;) And no one is truly badass at everything.

    I don't think you necessarily disagree with what I'm saying, as it sounds like what I'm describing does apply to you -- being super badass at some things, but in the context of a broader skillset and an understanding of how it can all be applied to solve new problems. I just don't see it as a dichotomy. The two extremes of specialist vs generalist, while polar ends of a spectrum, are not at odds.

    Ultimately, rather than engaging the dichotomy, I think it's more fruitful to ask oneself, "Do I have a skillset that will allow me to solve new problems, or only carry out a known solution to existing ones?".

  4. You know, I actually feel like there's quite a bit of potential for overlap between those two skillsets (solve new problems or carry out known solutions), at least in Tech Art land that's how it starts. Given that the breadth of technologies that are available for solving those problems gets wider by the day, at least in the beginning, you HAVE to grow your skillset to solve the existing problems with known solutions. At some point I think it becomes more about the drive to keep learning new things to do with said skillset, and of course, push into new areas outside the boundaries of the problem set.