How To Become A Video Game Server Engineer

This is one of more than 30 interviews with professional game developers. For more, visit Which game job is right for you?.
"New problems will occur on a daily basis. Treat every problem as an onion and peel one layer at a time."
“New problems will occur on a daily basis. Treat every problem as an onion and peel one layer at a time.”

The Tastiest Code

If you’ve ever thought about becoming a game programmer, you were likely enticed by the obvious parts of game programming: The artificial intelligence; the physics engine; the visual effects system. And who could blame you? Those are tasty systems that players interact with most, and they’re interesting challenges to sink your code chops into.

But the meatiest code of all may be a part of the game that you’re barely aware of. In fact, it’s nearly invisible to most players, because it doesn’t even exist on your computer – it exists entirely “in the cloud.”

I’m talking, of course, about the game’s server software.

An Extra Serving, Please

Ten or 20 years ago, most games didn’t need server software. They were either single-player experiences that didn’t talk over a network, or they were multiplayer games that used a “peer to peer” method of talking between players’ computers directly.

But peer-to-peer systems are easy to hack and cheat, and they don’t allow for the always-online worlds that we demand of today’s top games. As games grew from single-player experiences into massively-multiplayer persistent worlds, they started requiring sophisticated “back end” systems capable of connecting thousands of players in giant game worlds available 24/7.

Today, we’re talking with Elvir Bahtijaragic, one of the rare software developers that knows how to build the complex back-ends that make online games possible. Elvir has built and maintained game server infrastructures for top game companies such as KIXEYE, Glu Mobile, and ArenaNet. Let’s find out how he got started, what it takes to do the job, and how you could get started too.

How did you get your first job as a Game Server Engineer?

I started my programming career with an internship at RealNetworks. I was a software engineer for their ecommerce team and worked primarily on web-services and payment front ends.

See also  How To Become A Video Game Tester

After being at the company for a few years I learned that they have a game studio, GameHouse, and decided that I wanted to follow my passion to work on games and the only way I could ultimately contribute was to work on the server side. This was perfect timing, because at the time, GameHouse was starting to work on social games that needed a server back-end.

What’s your favorite part of the job?

Each day, I interact with my peers, write code, architect new systems, and maintain existing systems. My favorite part is interacting with people from different disciplines. Getting away from staring at terminals and your favorite IDE [integrated development environment] and focusing on the game with other people from creative disciplines, is a wonderful way of letting your subconscious mill around with your ideas.

What parts of your job aren’t so great?

My least favorite part is that there usually aren’t many other server engineers on your team – at least not on mobile game teams. So it is hard to toss around ideas and indulge on some critical feedback when you’re the lone server engineer.

What aspects of Server Engineering would people find surprising?

It is actually really fun, and most other engineers view you as a super hero.

Most engineers in games focus on gameplay, graphics, etc. because that is what excites most people – they want to work on the things that everyone can see. But what they don’t understand is that there is more that goes into creating games. Someone has to write the tech that can process the thousands of analytics events per second that come from game clients, ensure that saved games in the cloud never get lost, and so on. Since most engineers don’t have a high level of expertise in networking and server development, they soon realize that you are a critical part of the team.

What skills and personality does it take to succeed as a Game Server Engineer?

Problem solving is the key talent. New problems will occur on a daily basis. Treat every problem as an onion and peel one layer at a time.

See also  How To Become A Video Game Producer

As for personality: “Just be cool.” It is a much smaller industry than you think, and good relationships go a long way.

What advice would you give someone thinking about a career in game server engineering?

Find out which languages and technology are popular in server development – currently Java, PHP, and C# top the charts. Get a computer science degree from a reputable college, then search for server engineer jobs. They are always in high demand in the gaming industry, and it’s a wonderful way to get game industry experience.

It is a much smaller industry than you think, and good relationships go a long way.

If you are not able to get a full time job at a game studio, you can start out by getting some experience at a non-game company that uses the same tech, then apply for game jobs again later on.

You can connect with Elvir via his LinkedIn profile. If you liked this interview, please give back by sharing it with a friend.

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.

READ: Start Your Video Game Career

Tagged with: ,

3 Comments on “How To Become A Video Game Server Engineer

  1. hi i’m a computer science student from tunisia and work as a solo indie game developer , i know all of this programming languages but after knowing them , what are the tools/softwares to focus on learning them to be a server programmer , i know some of them used for non-game companies , i want to know are they the same ?
    thank you!

    • There isn’t a standard technology stack used for game servers, but Java-based backends are common. It’s also common to integrate with a variety of commercial game server tools and utilities such as Photon and GameSparks, and cloud technologies like AWS or Azure.

  2. Good read. Thanks sharing! I agree that backend server programmers are super heroes. Millions of kids around the world get to connect and have a good time because of people like him.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.