1
\$\begingroup\$

this is my first post on this SE, and I have noticed the large numbers of closed/downvoted career-related questions, so I will try to ask in a fashion most gingerly.

What would the career roadmap for a video game programmer be like? There seems to be a consensus that the video game industry is not so structured, and a roadmap would not be useful at all.

To be more specific, I understand the difference between role and title, IE there may be one person with the title "Engine Programmer", but he may do other things, and other people may do his role as well.

How would I chart out my career road map? Would it be simply moving from a junior programmer in a certain field, to a more senior position on that field, or are there certain fields which are inherently more senior than others?

Notes:

  • I am currently studying for a degree in video game programming
  • This is for an assignment, and I am told to consult real developers to be able to better perform.
\$\endgroup\$
4
\$\begingroup\$

I recommend you not getting a degree in video game development, but in Computer Science or Software Engineering instead (The name sounds a bit more sophisticated to me) . Programming video games is more of a hobby because it's fun. Having to develop things with timelines may dull out how interesting it can be. If you believe you can handle full time game programming (If that's what your doing), then go ahead.

As for a "road map", make sure you read a lot. Sometimes, answers can become perplexing online and a good old fashioned book can get the job done. Here's a list (in order) of what I personally see the game developer road:

ROAD MAP

  • Learn to program neatly and efficiently - Doing Eulers and Katas should help
  • Understand how a game loop works
  • Practice rendering/velocity and choose a development tool - Something Low Leveled like OpenGL or higher leveled like Unity (You should understand how low level things work later on)
  • Learn game development techniques and how math applies to game dev(A lof of good books that teach it)
  • Between all of this, practice little DEMOS (don't think to big. You almost always end up confused when attempting big projects too early)
  • Join a community - Places like here let's you learn from others as well as contribute to help others
  • Enjoy what you're doing - Again, starting too big can cause frustration from how fun game development is :D
| improve this answer | |
\$\endgroup\$
  • \$\begingroup\$ Thanks for your answer. Also, I highly enjoy programming, and was planning on making it my career anyways. \$\endgroup\$ – grimmsdottir Apr 20 '15 at 3:21
  • 1
    \$\begingroup\$ @grimmsdottir Programming something non related to game development as a job would probably keep things interesting. It's sort of like candy - Awesome to eat, but makes you sick after a while. Good Luck! \$\endgroup\$ – Positive x Squared Apr 20 '15 at 3:35
2
\$\begingroup\$

As time goes on and game Dev gets more complex, specialized roles are getting deeper and the barrier for entry gets higher. In older days a person might work on both rendering and network code, but these days you likely have a specialist for each if not a team of specialists. However I've heard from many employers that what they are often looking for is someone who is a specialist in everything, that can change hats and do good work in many different areas as the needs of the team change. All this said, I think its important to become familiar with everything you can, never stop learning, and try to get experience being a specialist in every area that you can, and every area that you have any interest in. I think entering as a gameplay generalist (or other entry level positions) is a good way in, and then as time goes on you will have to start carving your own path based on your personal goals.

| improve this answer | |
\$\endgroup\$
2
\$\begingroup\$

@Positive x Squared pretty much said it, I just wanted to add my 2c of personal experience. If you're in school right now, we are probably not too far apart in age (I'm 26 now)

I graduated in Computer Engineering (basically CS with some EE), and since I got into the degree I wanted to make games. I have not been programming all my life like some people out there, but I enjoy it a lot, and that's a big requirement IMO if you plan on ever making a game.

When I was finished with school, I applied to dozens of game companies and interviewed with several. Overall it was a good experience in terms of facing the madness of interviews, but after a couple months I realized the following:

  1. I have big ideas of my own. These would be squashed by any big company I was talking to, and they would never see the light of day.

  2. Many programmers at these companies are highly overworked and live a stressful life because of deadlines.

  3. It is EXTREMELY difficult to get an entry level job in the game industry because it is highly competitive, interview questions are very difficult, and often requires some serious networking (people-wise) before you can get anywhere

  4. I watched Indie Game - The Movie and felt that the indie game scene was a big enough inspiration

So, I took a year off after school and ended up publishing 3 games on iOS/Android. It was an amazing experience. ..I did not become a millionaire. In fact, it was barely enough to get by, so I ended up getting a regular job at a data company.

Moral of the story: One of the offers I received from a game company in San Diego was 45k base salary. WHAT?? I could have used it to gain experience and get my foot in the door, but instead I declined and followed my own route.

My first job after my period of unemployment was almost double that offer. And I have zero job stress because deadlines are not nearly as strict. What's best, I get to continue working on my games on the side.

So if your passion is game development, I say build your own team, find some interesting people who share your enthusiasm, get a job that will earn you a real living, and do it little by little. Maybe you will be the next Phil Phish.

Good luck mate

| improve this answer | |
\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.