This is a very common question – particularly with video games. Kids really enjoy playing them and are often drawn to the potential of creating them as well.
I’ve hired a lot of programmers in my career. I’ve also not hired even more. So I definitely have some thoughts and advice.
First, what’d I’d call the basics:
- Learn to program, THEN learn to program games. I can’t stress enough that it’s the fundamentals that will serve you well over the long run. “Listen to your heart. Good programmers love to
- Listen to your heart. Good programmers love to program. Heck, that’s true for any profession – it’s the “do what you love” admonition. If after a while you find yourself dreading the work, perhaps it’s not for you.
- Program. Use any excuse. This’ll be easy if you followed the previous point. There is simply no replacement for experience. That applies to the eventual resume, of course, but to your skills as well. The real world is full of lessons – find them. Use them.
- Once you have some basic skills, get an internship, or a part time job, or a volunteer position using them. It’s everything that I just said about the real world, but with a boss. Your career will include a boss – perhaps called manager or maybe customer. If you intend to make money at it, you’ll need
to know what it takes to do what you love, even when others are telling to do what they want.
Some points that are very specific to video or computer game programming and design:
- Programming video games is very very different than playing video games. Programming video games is much closer to programming an operating system like Windows, but with even more demanding customers. (If it’s the playing that excites you, perhaps a test position is more interesting, especially if you’re good at breaking things.)
- Everyone and their brother seems to want a career programming or testing video games. That means you’ll be entering a highly competitive market. Be prepared to do the work that it takes to excel if you want to compete.
I really need to reiterate the fundamentals. Don’t get hung up on what programming language or what platform … programming is more about how you think than whether or not you can express your thoughts in C++ or Java, or on a Mac or a PC. “It’s just another language” is something you’ll hear from
Take the programming classes that you have access to: high school, community college, vo-tech, whatever. Then go get yourself a Computer Science degree or a closely related Engineering degree. I have mixed feelings on whether you need a Master’s degree.
My own pet peeve: PLEASE make sure that you learn assembly language along the way. It won’t make sense today, but it’ll help you understand concepts and techniques that a lot of programmers today have trouble with. AND it’ll help you write better code and aid in debugging it as well.
There are so many skills that could help, I could go on. Math. Logic. English. Heck, verbal and written skills are areas that I wish I had spent more time on and I would recommend strongly to anyone entering any profession.