I have worked at two major game studios, helped found a small indie studio, and currently work as a senior rendering engineer at an Autodesk subsidiary working on middleware.
I first started at EA Tiburon in 2005 as an entry-level software engineer working on Superman Returns. Retrospectively, it was the perfect project on which to cut my teeth, as the experiences I had helped me to shed my youthful idealism pretty quickly about how the industry actually works. I got to see it be brought up from the very beginning. We crunched for 3-4 months on an 'X05 convention demo that didn't even end up being shown publicly, then we decided that we were using the wrong libraries and started re-writing that portion of the engine. Our designers were all fairly new and had that classic "kid in a candy store" mentality towards features. I still remember when Chris Gray, the executive producer on the project, known for such blockbuster titles as "Fiendish Freddy's Big Top O' Fun", insisted that the engineers help the designers implement an altitude meter for Superman. Why? Because it would be cool! Designer, artist and engineer time was wasted implementing this feature, and sure enough in the next round of focus testing, people didn't get it at all, and he just had it taken right back out. This very process was repeated over and over again as we crunched almost endlessly: The tool with which designers were supposed to make levels, Zod, wasn't ready until well into the alpha stretch. It was five days before we were originally slated to go to manufacturing (May 10th) and there was about *one* finished level. The writing was on the wall, we were going to have to slip the release date, but that didn't stop the managers from effectively forcing us to work 60+ hour weeks under the illusion that somehow everything was just going to fall into place.
After Superman Returns shipped (six months late), they stuck me on their internal Flash UI team, "ION", writing ActionScript - never mind the fact that I am first and foremost a C++ engineer and had never coded a lick of ActionScript in my life. ION was a popular scapegoat for the main game teams, as it was chronically understaffed, and while there may have been five other reasons for why a given deadline was missed by the game team, they would primarily blame us. I eventually worked on NCAA '08 and Tiger Woods PGA Tour '08 before jumping ship in late 2007 to go work for Vicarious Visions.
At the time I was an enormous Guitar Hero fan, to the extent that I had even written my own 2D clone of it based on data I had managed to rip out of the game before anyone else had. Apparently this was what piqued interest at VV, as at the time they were working on Guitar Hero 3 for the Wii. I ended up getting the job, and got to work on nearly every Wii version of Guitar Hero. Aerosmith, World Tour, 5, Band Hero, Warriors of Rock. That was also another lovely experience, because it made me realize just how little a monolithic publisher actually cares about a given game itself. Guitar Hero 3 hit massively at the proverbial box office, so what's the most sensible thing to do? Make a new version every three months, of course! Never mind the fact that those of us rank-and-file employees who actually cared about the franchise were basically screaming to anyone who would listen what a horrible idea it was. We were all so very relieved when it was communicate to us in a meeting that ATVI recognized that the peripheral market was saturated, and then so very not surprised when three months before release, white plastic die-shots of the all new peripheral arrived and we were told to add support. After the release of Warriors of Rock, those of us at Vicarious Visions were slated to work on all three SKUs of the next Guitar Hero, but the plug was pulled in early February 2011, also known as The Great Guitar Hero Layoff. ATVI cut about 500 jobs company-wide, with about 50 of those jobs (a third of the staff) being cut at Vicarious Visions, myself included.
Eventually, a few other friends who were laid off around the same time and I decided to form our own indie studio and try our hand at making what we wanted to make. Profits were miniscule and we still basically ended up subsisting off of unemployment, so a year later we all decided to get "real jobs", with me ending up here at Autodesk.
From my perspective, it's a much nicer job to some extent, as there's much more insulation from the whims of the market. If a given game that uses our middleware fails, it certainly didn't fail because of our middleware, so our own customer base does not subsequently shrink. I get to work with basically all current consoles and platforms, the benefits are great, and for the most part it's a simple 40-hour work-week. It may not be quite as flashy an office, and there may not be quite as much to brag about, but at the end of the day it's a stable job, I'm still technically working in the game industry, and it leaves my mind sharp for all of the hobby coding I still do on emulators on the side.
Ultimately it boils down to what CyberBill pointed out up above: There's a reason I still work in games, it's because it's something that I love. I don't know if it's out of some messed-up sort of Stockholm Syndrome, but I can't imagine myself doing anything other than working in the game industry. I love to code. I go to work, code for 8 hours, then I go home and code for another 4-5 hours before heading to sleep. I get to work with creative, eclectic people who haven't been forced into their own little ticky-tacky boxes by the suit-and-tie version of software development. To some extent, the game industry very much preserves the pioneering attitude of 70's computer-industry startups, where people are free to be themselves. I can't imagine myself doing anything else.