Pros and Cons of a Game Programming Career
Game programmers are responsible for bringing the game designers' visions to life through code. You can explore the pros and cons of game programming below to determine if it's a good fit for you.
Pros of a Game Programming Career |
---|
High earning potential (average salary of about $82,690 in 2014)* |
Variety of game programming specialties to choose from (graphics, artificial intelligence, network, user interface)* |
Allows you to work with others who share your enjoyment of games* |
Can provide a way to help children learn and to influence society for the better** |
Game programming skills can be used in other industries (computer systems design, data processing)* |
Cons of a Game Programming Career |
---|
High stress to make a highly profitable product*** |
Long hours when nearing a deadline**** |
Most positions require at least a bachelor's degree*** |
Must keep up-to-date with new changes in technology* |
Increased chance of back strain and other injuries due to sitting for long periods of time*** |
Sources: *U.S. Bureau of Labor Statistics, **Entertainment Software Association, ***O*Net Online, ****International Game Developers Association.
Career Information
Job Description
Game programmers take the ideas created by the design team and figure out how to translate those ideas into a form that can be understood by a computer. They usually start by creating a prototype of the game so the designers can make sure their ideas are being properly rendered. Programmers work with artists, designers and writers throughout the development process. After they've completed the game, they run a series of tests to debug the code and find breaks and errors that need to be fixed. The entire production process can take just a few months to a few years, depending on the scope of the game and which platform it is designed for (phones, consoles, etc.). The hours may be long, especially when a deadline is looming. Programmers spend some time communicating with other people involved, but a good portion of their time is spent alone and working independently.
Specializations
If you're working on a large development team, you may be responsible for working on a specific area of the programming. Here are some specializations you may be able to pursue:
- Lead programmer: a supervisor who is responsible for delegating responsibilities to team programmers and coordinating their production schedules.
- User interface programmer: responsible for organizing game information in a way the player can easily understand and interact with. Also works closely with art team to make sure information is visually pleasing and straightforward.
- Artificial intelligence programmer: codes the way the computer-controlled characters and objects react to the players' actions.
- Tools programmer: creates code for the game designers to help automate tasks that may be repeated, such as making new levels in a game or integrating graphics.
- Graphics programmer: similar to the tools programmer, but works with the graphic artists to render 2D and 3D art within the game.
- Physics programmer: determines the natural laws a game will follow, such as gravity (or the lack thereof) and figures out how objects within the game may interact with each other.
- Network programmer: responsible for creating the code that enables a game to be played by multiple people over the Internet or local networks.
Salary and Career Outlook
The U.S. Bureau of Labor Statistics found that programmers earned an average salary of approximately $82,690 in 2014. The BLS reported that job opportunities for programmers were expected to grow 8% between 2012 and 2022, which was about as fast as the average of all occupations. Many companies are beginning to outsource computer programming jobs, since programming is often able to be done from anywhere. However, it also means that telecommuting may also be a possibility, which may make it easier to find a job without relocating. The BLS noted that programmers who know a variety of programming languages and have a bachelor's degree should have the best job prospects.
What Are the Requirements?
Education
Game programmers usually need a bachelor's degree in computer science or a related field. Some schools are beginning to offer programs that are specific to game programming, but these are often harder to find than computer science programs. You might also look for courses in programming languages such as Perl, Lua or Assembly, which are not typically included in most computer science degree programs. As technology advances, you'll need to continue your education to keep up with the new developments, software, languages, etc.
Top Skills for Game Programmers
Since you'd be working with a team of artists and game designers, you need to have excellent communication and listening skills. Stress is a natural part of the job, given the tight deadlines and the inherent difficulties in coordinating the ideas of multiple people on a single project, making the ability to work well under pressure extremely valuable. Even though you're working with other team members, you should be self-motivated and able to work efficiently, since you'll be completing some of your work with minimal supervision. If you're interested in becoming a lead programmer, you'll need to be able to keep track of details, multiple schedules and be able to effectively lead others.
Job Postings From Real Employers
Employers are looking for potential employees who can think critically and have a passion for games. They also want applicants who have experience with multiple game development interfaces. Below are actual job posts that were listed at the beginning of April 2012.
- A game studio in Los Angeles is looking for a game programmer who will be responsible for a number of duties, such as developing low-level platform specific code, coding graphics and fine-tuning gameplay features. Knowledge of Fmod, Havok and Scaleform and experience with Maya API and Python scripting is required. The ideal candidate has a bachelor's degree in computer science or four years of equivalent work experience.
- A gaming company in Texas is looking for a gameplay programmer who would be responsible for coding, rendering and fleshing out a new game. Applicant must have at least four years of C++ programming experience and have familiarity with object oriented design and Unreal Engine 3.
- A game company in Seattle is looking for a lead programmer who would coordinate the production process from the prototype stage to final release. They're looking for someone with a background in game engine design that works with multiple platforms, experience with Adobe Flash and ActionScript and advanced knowledge of OpenGL and DirectX. A bachelor's degree in computer science or a related field is required, along with at least three years of experience.
- A mobile app company in Los Angeles is looking for a game programmer to work on a temp-for-hire basis as they create games for the iOS and Android platforms. Applicants need to have experience in C++, Flash, Java and HTML5. Candidates should live in Southern California and have either a bachelor's degree in computer science or be able to demonstrate the necessary level of programming ability.
How to Stand out
Creating a portfolio that demonstrates your coding abilities and highlights your experience can give you an edge over other applicants. Look for opportunities to work for game companies while you're in school. As long as you have an understanding of some of the common programming languages, you should qualify for a number of internships. Landing an internship can give you experience that gives you an edge over other college graduates who have similar education. Getting involved in online gaming forums, blogs or other media can also help you make connections with people in the industry.
Alternate Career Paths
Software Developer
If you'd rather focus on the overall development process of software and minimize the amount of coding required for your job, then you might be interested in becoming a software developer. Software developers work on the main design of the software; they analyze the users' needs, figure out how to meet those needs, and help programmers understand exactly what needs to be coded. This field should have excellent job prospects, as the U.S. Bureau of Labor Statistics (BLS) estimated this field would grow 30% between 2010 and 2020. This field also offers solid earning potential; according to the BLS, systems software developers earned an average salary of $100,000 in 2011. Education requirements are similar to programmers, as you'll need at least a bachelor's degree and a solid understanding of multiple programming languages.
Systems Analyst
If you'd prefer to spend more time with people than with code, then a systems analysis position might be a good fit for you. Systems analysts figure out ways to adapt hardware and software to the users who interact with them. A background in business may be helpful for this career. Many of these professionals have a bachelor's degree, but you may find some jobs with an associate's degree and related experience. The BLS projected a 22% increase in jobs for systems analysts during the 2010-2020 decade. Systems analysts earned an average yearly income of approximately $82,000 in 2011.
Computer and Information Systems Manager
Computer and information systems managers determine the computer needs of a company and figure out the best methods for meeting those needs. This person may work with other information technology specialists and oversee a team of workers. A computer and information systems management career might be a good choice if you don't wish to focus solely on software and you'd rather be involved with a broader spectrum of technologies. The BLS projected that job opportunities for these professionals would grow by 18% between 2010 and 2020. The average annual income of computer and information systems managers was about $126,000 in 2011. Although you may have high earning potential in computer and information management, these positions are more likely to require you to have a graduate degree than some of the lower-paying careers listed above.