How To Become A Video Game Programmer
Meet Dan Posluns, Video Game Programmer
Dan Posluns began his adventure in the cold northern lands of Canada, but journeyed to the USA to pursue a career programming video games. He’s worked on top franchises such as Spore, The Simpsons, The Sims, and LEGO Star Wars, and has written code on multiple platforms including handheld and mobile. He speaks with us today about what it takes to become a game developer, and how you can start your own quest programming games.
What exactly do you do at your job each day?
My days are spent implementing gameplay features, fixing bugs in existing features and systems, and working with artists and designers. I have to make sure they’ll be able to use the features I’m developing, and that my solution correctly achieves what it is they want to do.
That last part is important. A game programmer needs to understand the more ephemeral concepts that artists and designers come up with, and translate them into concrete systems in code. I’m usually the only one who really understands how those systems work. I need to completely simulate the ideas of those artists and designers, and at the same time consider the runtime performance costs.
How did you become a Video Game Programmer?
I’ve always had an interest in game development. I worked on my own indie games very early on, whether plunking away on my Apple IIc or on a TI-85 calculator. I think that’s how a lot of game programmers get started: by working on their own little pet projects.
I have zero artistic skills, so I had to steal art from other games just so I could achieve progress on my own work. One of the great joys about being a game developer is the cross-disciplinary experience of it: now I get to work with some of the most talented artists in the world!
After getting my degree I actually spent some time working on websites before being pursued and ultimately recruited by a game company. They had noticed my homebrew Gameboy Advance work online, and got in touch to offer me a job interview.
What do you like, or not like, about the job?
My favorite part of the job is developing systems that neatly wrap a problem, especially when they improve our overall pipeline. Sometimes when I’m implementing a feature, I’ll have to write three other utilities or abstractions that will then help save time and effort for other people in the studio. You can really feel the positive impact you’re having when you can do that. Game development is a team effort, so anything that furthers the team is a big win.
Game development is a team effort, so anything that furthers the team is a big win.
My least favorite part is probably working with systems that are “black boxes.” For example, third-party libraries that I don’t have the source code to. The majority of them aren’t a problem, but sometimes I need to bend a lot of my project around a system that’s poorly designed or has limited APIs or is intended for someone doing something kind of like what I’m doing but not quite. It can be frustrating to have to invent around those limitations. The worst part is having to track down a bug that’s inside a library when I don’t have access to its internals.
What aspect of the Game Programmer job would be people find surprising?
I think one thing that’s surprising is how complicated and time consuming an individual feature can be. For all of the advancements since the 1980’s, and all the powerful new hardware and software available to us today, the technology is still immature in many ways.
It can be hard to strike a proper work-life balance in games, so it’s important to take responsibility for your own health and well-being.
Game developers are infamous for having to “crunch” (work late) to meet deadlines. While the amount of crunch varies widely from company to company, it’s pretty rare to find a studio that doesn’t occasionally go through a crunch of some kind. It can be hard to strike a proper work-life balance in games, so it’s important to take responsibility for your own health and well-being – you can rest assured your company won’t do that for you.
What kinds of talents and personality does it take to succeed as a Game Programmer?
Good software engineering skills are important. You can get away with a lot when you’re writing code for just yourself, but when you’re working on a team it’s essential to be able to minimize complexity in the systems you develop.
It’s hard, too, because games are inherently complicated! Some of my favorite pieces of code are tiny and do next to nothing, but they greatly enrich the functionality of the other code that uses them.
Beyond that, it may be trite but games require developers with excellent communication skills. You are dealing with some people who are very artistic and others who are obsessive, and you can measure your success by how well you’re able to help them be successful at their own jobs. So you’d better be able to communicate effectively.
What advice would you give to somebody who’s thinking about game programming as a career?
Anyone considering game development shouldn’t get into it for the glamor or the money or the job security – because you won’t find any of that. You should be truly passionate about games. Not just playing them, but interested in how they work. Wanting to dissect them and make them better. It helps if you’re artistic – if you like to create things.
You’ve probably heard it before, but my advice is this: Go and make games. It doesn’t matter if you finish the project. (Guess what? You probably won’t.) The practical skills you develop writing your own systems and code can’t be found in any educational program.
Then, find yourself a good educational program. There is a lot of disagreement over whether to go for the two-year technical college program or the full degree. But I have always found that, when hiring, candidates with a four-year Bachelor of Science (or better) have been far more prepared with the mathematical and scientific fundamentals than people coming out of a two-year program. I find that the two-year programs focus more on project work and other work designed to pad out your resume. They are intended to get you hired, not to equip you with the scientific foundation you need.
Go and make games. It doesn’t matter if you finish the project. (Guess what? You probably won’t.)
That said, a B.Sc. program is often underwhelming in the amount of practical coding you do. But if you’re following my earlier advice and making your own stuff on your own time, then you’ll still be ahead of the game there.
What books or other learning would you recommend to someone just starting out?
There are great online resources that didn’t exist when I was just starting out. Find some tutorials and start working through them. My advice is to never copy-paste code from a tutorial – as you’re following the tutorial along, take the time to re-type the code, using whatever notation and stylistic conventions you prefer. Rename variables and functions in the style you’ve adopted and using names that make sense to you. That will force you to keep doing it as you continue to add new tutorial code that uses those variables and functions.
The best thing about being a homebrew developer nowadays is that you can develop for almost any platform you choose, and relatively inexpensively. So pick the platform you love the most and make a game on that platform. Find the forums for developing on that platform and contribute to the conversations. You will have lots of questions to ask, but eventually you will be able to answer other people’s questions as well. Don’t be surprised if you attract the attention of a game company if you’re active in the forums for a platform they’re developing on – after all, that’s how I got my first break into the game industry.
You can reach Dan via his website. If you liked this article, give back by sharing on Facebook, LinkedIn or Twitter.
Read my new book!
Making games for a living is an incredibly rewarding career, but itโs hard to break in unless you have insider knowledge. This book levels the playing field.
This is a very helpful article.
Thanks, Ulises, I’m glad it’s helpful. Thanks for stopping by!
After reading the others in this category, it’s looking like this is the part of the game industry I want to work in.
I did notice you don’t have an interview with an AI person, though. Assuming you haven’t already interviewed someone and just haven’t released it yet, do you think you could look into interviewing a woman for that job? I know programming is a job that generally attracts men, but I’m sure I’m not the only woman who wants to do this.
Hi Denise, I do want to interview an AI programmer I just haven’t lined anything up yet. You’re right that there are women in the game programming field, in fact I’ve worked with 3 different AI programmers who are women so I’ll see if I can get one of them to do an interview. Thanks for the suggestion!
Great article, I am a full time technical support rep. and I am finishing my associates in Computer Programming and Analysis. I found the information about making your own games and continuing you education to the 4 year level to be particularly useful. Thanks.
You’re welcome – I wish you the best of luck with you career in games!
Okay, so I’m a junior in high school and I’m considering joining the military, possibly being a reservist. My question is: how likely is it that a game company would hire me as a programmer if I was in the reserves? (I plan on going to college and the military would help pay for that. I just want to know if I should retire before attempting to break into the game industry)
Hi Jamie, I have worked with several people over the years who were in the reserves. As long as you can generally work full time, it shouldn’t be a problem.
Can u please tell how many yrs cource is it
It depends on the degree, school, country, etc. In the US, Bachelor’s Degrees usually take 4 years to complete.
To become a video game programmer, do I need to enter in Computer Science Technology at college. If not what other programs at college/CEGEP I should enter? BTW your article is helpful :))
Hi Yan, glad this was helpful for you. Computer Science is probably the most common way to get into a game programming job, but it’s not the only way — any courses or degree program that teaches you how to code (especially with a focus on coding games) would be good.
I have to be good at maths to do this job? You know if in Switzerland I can work programming video games?
Hi Dross, there are a lot of game studios in Switzerland, you can find a partial list on GameDevMap.com. To be a game programmer, you should be at least “okay” at maths, but most of the time you won’t need to do much math while programming.
Great site and great article. You are really saving us months are looking through forums.
Awesome, glad I could help. Thanks for reading!
Would a recruiter look into a portfolio of a thirty some years old software engineer who just , after over 10+ years of being professional software engineer, figured out he wants to pursue a long forgotten dream?
Hi Ali, yes, a recruiter would certainly consider someone with your experience! It would be helpful for you to do some game-related programming projects on your own, to add to your portfolio. But even without game-specific experience, you may be able to get a job at a game studio, as a game tools programmer for example.
Thanks for the help. I love that you have been interviewing different kinds of professional game programmers and this has definitely pointed me in the right direction for my future career. Really, thanks a lot.
Great, I’m so glad to be of some help with your career in games, Oskar. Take care!
Thank you Jason, I think I know in which field I want to work now! ๐