A colleague sent me this article which I really appreciated. It talks about why many people go into programming (to make games--- more on that later), and what skills are important to be successful in the world of professional IT.
I very much agree with the author in this follow-up that having a CS degree is not, and should not be viewed as, a prerequisite for being a talented software developer. That is a little biased of a statement as I do not have a CS degree, or any degree for that matter. After what seems like a lifetime of coding (yikes, over 20 years!), I'm going back to school not to learn to code, but to study things other than software development. My consulting background will tell you that being successful has as much to do with communication as it does pounding out code. It is very refreshing to come across folks who also believe this, and aren't interested in whether or not you have the correct buzz words on your resume; do you know how to build software or not? Tools come and go, are companies hiring people entirely on their ability to use a tool? A CS degree can help develop the critical thinking and logic skills that are necessary to be a good programmer, and I've seen that in many of my peers. I've also seen it where people graduate from college with a piece of paper, huge debt, and lots of drinking stories.
Yet I digress. I do disagree with the author that computer gaming technology is very much important to being an IT professional. I too got the itch to program playing Q*BERT and other games in the very, very early eighties, and many of my first programs were game based. True, you are not going to write a ton of DirectX code displaying a Sims like landscape in a database application (unless it is Google Earth).
But think beyond the visuals. The Sims, like many games, should have driven home the point that applications need to be easy to use and understand in order to be usable (and fun). Sometimes, the typical gray Windows app with the File and Edit menu are not appropriate for a particular application. Games, in their various ways and means to present information and facilitate interaction, can often lead to improved usability. Software that isn't usable, well, is crap.
Further beyond the visuals, think of modern massive multiplayer games. With all that data flying around to ensure your exact location is synchronized with hundreds, if not thousands of clients all over the globe isn't a clear cut use of data optimization than I don't know what is. Data is data, whether its a stock quote or a bullet trajectory. How its managed through its lifecycle is what is important. And in that, games and “real world“ IT have very much in common.
So lets hear it for the gamer programmers, and give them their due. They are IT professionals as much as anyone.