I recently got a request to answer this question on Quora: “Im graduating with a Computer Science bachelor’s degree, and I LOVE games and their stories! Which job would be suitable for me in the Game industry?”
Here’s my full answer (not the abbreviated one I posted on Quora):
It’s interesting that you prominently mention story, which is the one area where programmers generally have little sway. (Designers and producers usually drive story, but there are always exceptions.)
The good thing is that a top-notch programmer can usually cross disciplines with little difficulty because a top programmer is so valuable. The downside: a top programmer usually has too much work to dabble in story, and management will discourage you from working on story if you are needed elsewhere. Story can be extremely time-consuming, esp at the micro level for an MMORPG or RPG with thousands of lines of dialog. The broad strokes of story are drawn during concept and pre-production, when a programmer’s usually fully drained by engine building and laying the technical foundations.
Also, if you’re writing chops aren’t finely honed, or you don’t have a lot of writing credentials, management may be even more unenthusiastic about your writing interests. Another sad fact: often game stories are fairly locked down well before it reaches the game team. The creative director or producers have already chosen the direction, or you’re locked into a sequel, and even the designers are only laying in polish or filling missing chapters in a tale that’s already finalized.
In short, the game industry is always slammed for time and impatient with talent that wants to step outside the usual roles. If you can produce on the fly and not impact schedules, sure. But if you need time or assistance, it’s not always smiled upon. To draw a sports analogy, it’s kind of like baseball players who want to hit and pitch too. It sounds attractive, but in the actual application most teams would rather players picked one and excelled at it rather than risk injury and mediocrity trying for both.
My recommendation: consider working in the indie games space. That’s where small teams can crank out important work and everyone has to cross disciplines. Of course, indie games don’t pay well and the marketplace for indie games is increasingly choked with competition. On the other hand, the mainstream game industry is equally brutal, with frequent mass layoffs, dehumanizing crunches, and a general lack of creative control and ownership/revenue sharing. In my opinion, a talented graduate is better off working a low-demand day job writing accounting software or something prosaic, and working on an independent project when possible. In this era of self-directed remote work, a good programmer can easily spend half her time on her own projects while still enjoying the stability and benefits of a traditional programming career.