Advice on what to expect from a game programming job position? Tips to improve required skills?

Started by
2 comments, last by frob 2 years, 9 months ago

Hello all!

I am a current student enrolled in SNHU's Game Programming and Development program. I have a passion for video games, and I've truly enjoyed my time learning to program. However, throughout my time here, I've only learned the basics of a variety of languages such as C#, C++, Python, and Java. There were no in-school opportunities to practice advanced programming techniques. Is basic programming knowledge enough to land a game programming position? If not, any advice on how to efficiently improve? Furthermore, what are some common programming techniques used in the industry that I should become familiar with? Desired techniques for debugging or setting up gameplay systems? I know these are very broad questions, but I would appreciate any input whatsoever. Thank you very much for taking the time to read. Happy coding (:

None

Advertisement

Not working in game industry, but have been programming for 30-something years.

To me, programming is not writing computer code. Writing computer code is just a necessary evil to proof the solution works. Programming is about the steps before that.

It's about designing the structure of the program, the classes, the modules. Designing how it actually works at global level. And it's about before that, how to capture the problem at hand needs to be solved. What does one need to do to solve it? What to do in which order in the program such that you cover all possible cases of the problem and be as efficient (memory-wise and cpu-time wise) as you can? How to fold that in a program structure that fits?

You don't need to know programming languages much for the latter, but you do need solid math knowledge, logic reasoning, solid knowledge of data structures and their properties (such as space/time complexity). Probably I forgot a few things here. For inspiration, have a look at what they teach at regular Computer Science studies.

At a broader view, “Game programming” is just an application area. Computers aren't different, they are still the same devices. They still have the same properties and the same limitations as they have everywhere else. You have to deal with computers in the exact same way as you do in every other usage context. You solve these problems in the same way too. Knowledge and experience from outside “games” is extremely valuable and useful.

I think the above will keep you busy for the remainder of your life ?

In a more practical sense, you should get more experience. Make games! Also finish them! (often stated here, and I think it's a good advice)

I tend to not write games, but participate in hacking open source games. In particular, I like improving the complicated parts that everybody else avoids. They provide lovely complicated entangled problems to solve, and provide infinite opportunity to practice code refactoring. Also, I can practice code reviewing.

ChrisBeaucage said:
Is basic programming knowledge enough to land a game programming position?

Generally yes, it is enough.

As a fresh graduate you aren't expected to be a grand master. While a graduating senior feels like the best in the world because they're comparing themselves to other students in the school, when you enter the workplace you'll quickly discover you're a complete novice relative to people who have been doing it for decades. You will be expected to learn and develop skills on your own.

When you are interviewing you aren't competing in a vacuum, you are competing against other applicants. Having a better understanding of using a language or tool might improve your chances of a successful interview.

ChrisBeaucage said:
If not, any advice on how to efficiently improve?

Always be learning on your own.

I recommend experimenting with the basics of one new programming language every year or so, or making a deep dive into some part of a language you already know instead. An easy way to learn a new language is to apply core CS theory like common algorithms and data structures and implement them yourself in the language of choice. Go further and make some simple tools and processors, maybe a sudoku solver or something, that touches various systems like disk, display, and the rest.

This topic is closed to new replies.

Advertisement