Wednesday, January 16, 2008

Programmers as Commodities

Originally Posted by [a gamer]:

I'm sure the "tallent" [the new Star Trek Online developer is] hireing is creative, not programing. programers are a dim a dozen, and not usefull over other programers.
Ouch. You're not a programmer, are you?

Your comment reminds me of something a manager at one of my former employers once said: "Programmers are a commodity; we can just hire them wherever we need them." In other words, the theory was that if a project got moved the company could save money by not paying to relocate the current developers to the new location. The belief was that programmers are basically low-value, interchangeable labor "resources" that can be found anywhere.

Those of us who actually did this kind of work did not agree with this manager's opinion.

There are a couple of reasons why, and they do relate to moving former Star Trek Online programmers over to some other development studio.

First, and most obvious, not every programmer will have knowledge of specific content-creation tools. "Programming" for games isn't always just a matter of cranking out a bunch of simple C++ code; it often includes using some particular scripting language like Python or Lua to define high-level behaviors. Since fewer programmers know these less popular scripting languages, it's not always possible to just grab those developers off the street -- if you want the advantages of a scripting language, and you want people to be productive without delay, then you have to be prepared to find and pay for the people who know that language.

A programmer who's already got experience with a specialized development tool is much more valuable than someone who has to be trained because the experienced developer can become productive much sooner. There's a diminishing returns curve on that, of course; eventually the cost of a very experienced programmer may exceed their value in productivity. (Or not, depending on the application.) But until then, some programmers are more valuable than others.

Second, while I generally don't make flat assertions of fact, I'm going to do so here because it's something about which I have specific personal and professional knowledge: anyone who thinks that programming is not a creative activity is wrong.

Not all programmers are equally talented. Some are better than others because they see solutions that other programmers don't. That comes partly from experience, but it's also a function of creativity -- if you can't imagine a solution, you can't program it. All programmers need to be creative to do a good job, but some are more creative than others.

Which brings me to the observation that if there are creative programmers who are about to be unemployed, and some other area game development house is about to get the chance to develop a major triple-A MMORPG, that new developer would be crazy not to try to hire those programmers.

In summary, the idea that any game development studio would say, "Meh, programmers are a commodity; we'll just round up some college interns" is completely unrealistic. There are no programmers just standing on street corners waiting to be hired by the hour -- as someone who is currently trying desperately to find trained programmers, I can promise you that this is not the case.

Programming isn't a creative activity? Programmers are a dime a dozen because they're all the same?

I respectfully disagree.