| i think it's quite possible that i will never be happy working as a software engineer in any industry. but i can virtually guarantee i'll never be happy in the video game industry. the vast majority of video games are utter crap. it's astounding what pretty marketing can fool people into paying for. the entire process suffers from a tremendous lack of formality because it's a "creative" product. the code quality is atrocious because everyone is chasing a moving target, and apparently there just isn't time to document anything. i also have the sense that i'm not developing any particular skill set beyond dealing with excruciatingly undocumented apis & debugging excruciatingly unstable code (because the industry refuses to adopt developments in abstracting memory management - the vast majority of most games DO NOT need to be written in C++, despite what everyone would have you believe). there's also this expectation that i'm in it for the love of video-games, because why else would i put up with these shitty hours and pay? fool me once. i've actually worked at two video game companies (due to immigration issues), at two different extremes in terms of number of employees, etc. AND IT'S THE SAME BULLSHIT EVERYWHERE. so again, getting out of the video game industry is just a last ditch attempt at staying in the larger software industry. it mystifies me that i spend the majority of my free time enthralled by the latest developments in software/technology (i definitely look forward to google i/o more than christmas), and yet i hate every moment of my professional life - but there you have it. |
It sounds like you were working on shovelware for EA or someone like that. From having spoken to people who work in the games industry (though not just games per se, but middleware too: demonware and havok are two who are active in my area), I don't think this applies accross the board. Havok, for example, doesn't fall into the "code quality is atrocious" category (don't believe me? while you can't grab the source code, you can however use the library free of charge on PC's). From reading online forums and such, it seems to me that there are some really great game development houses who do have a lot of fun with what they do, do learn interesting and new things and so on. Definitely not all, but they do exist.
Sadly, I agree that a lot of games don't put as much effort into code quality as they should (which is why we have to put up with crashes and bugs and post-release patches...), but I really do believe that its not as bad as you make it out to be.
So, my advice would be to ditch the shitty money-crazed shovelware companies and find a small development shop which does it for fun and enjoyment just as much as for money.
Of course, even then the games industry might not appeal to you. At the end of the day, only you know for sure, so if you're unhappy, then by all means move on. As for where to - what have you worked on? (eg, 3d graphics? game ai? physics?) What do you enjoy doing/what areas would you like to work in instead? Its tough to give advice without knowing what your relevant skills and interests are. (Or, what in particular interests you about mobile platforms?)
As for C++, being good at programming in C and C++ is always a bonus. You make it sound like its dirty to have C++ experience! (I certainly hope not, I've written a lot of C++ code myself.. still do when it makes sense to). Everything you've been doing in C++ can probably be applied elsewhere.