• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

What are the current position requirements for programmers in the industry ?

Past the knowledge of C++ and object oriented programming, what other technical skills are usually required of programmer in a next-gen console or PC project? Physics? Character models?

I'm looking for more information on the job, so any words of wisdom are helpful.
 
It varies greatly from studio to studio. What we look for in our company for a Programmer role is as follows (broader than just the technical skills requested I know)

University Computer Science degree or equivalent
Strong C++ programming and math skills
Understanding of object oriented design and programming techniques
Comfortable working in a managed team environment
Able to work well under pressure and to tight deadlines
Good communication skills
Professional game development experience desirable but not required
Experience working on at least one of PS3, PS2, PSP, 360, Wii, Gamecube, DS and GBA desirable
Knowledge of AI, 3D graphics, 2D graphics, sound, or physics principles beneficial
Experience in large, team based software projects preferred
Ability to guide, mentor and train junior programmers to meet the needs of the organisation highly desirable


Skills around communication and teamwork are a big, big thing.

Hope that helps.
 
Mario said:
It varies greatly from studio to studio. What we look for in our company for a Programmer role is as follows (broader than just the technical skills requested I know)

University Computer Science degree or equivalent
Strong C++ programming and math skills
Understanding of object oriented design and programming techniques
Comfortable working in a managed team environment
Able to work well under pressure and to tight deadlines
Good communication skills
Professional game development experience desirable but not required
Experience working on at least one of PS3, PS2, PSP, 360, Wii, Gamecube, DS and GBA desirable
Knowledge of AI, 3D graphics, 2D graphics, sound, or physics principles beneficial
Experience in large, team based software projects preferred
Ability to guide, mentor and train junior programmers to meet the needs of the organisation highly desirable


Skills around communication and teamwork are a big, big thing.

Hope that helps.

Wow i have all of those except the experience in working on a game. I should get a job at a company somewhere :)
 
ksamedi said:
Wow i have all of those except the experience in working on a game. I should get a job at a company somewhere :)

Well, we are hiring programmers right now...
 
Mario said:
It varies greatly from studio to studio. What we look for in our company for a Programmer role is as follows (broader than just the technical skills requested I know)

University Computer Science degree or equivalent
Strong C++ programming and math skills
Understanding of object oriented design and programming techniques
Comfortable working in a managed team environment
Able to work well under pressure and to tight deadlines
Good communication skills
Professional game development experience desirable but not required
Experience working on at least one of PS3, PS2, PSP, 360, Wii, Gamecube, DS and GBA desirable
Knowledge of AI, 3D graphics, 2D graphics, sound, or physics principles beneficial
Experience in large, team based software projects preferred
Ability to guide, mentor and train junior programmers to meet the needs of the organisation highly desirable


Skills around communication and teamwork are a big, big thing.

Hope that helps.
So how does a junior programmer get a job? By that, I mean someone who has no experience on PS3, PS2, PSP, etc...
 
Ecrofirt said:
So how does a junior programmer get a job? By that, I mean someone who has no experience on PS3, PS2, PSP, etc...

Its "desirable" but not required. Most of our programmers never had games experience before joining our studio - we hired them on the basis of strengths in the other areas.
 
methane47 said:
HOORRAY for Dutch people ... I'm from the Netherlands Antilles... does that count?

...

I even have a Dutch Passport

Hmm, it's not often one bumps into a fellow Netherlands Antilles person on a gaming forum.
 
Tempy said:
Hmm, it's not often one bumps into a fellow Netherlands Antilles person on a gaming forum.


To make it even more fun, I'm half Dutch half Aruban...


Let's all join in the Tulip orgy!
 
@OP: you are posting on GAF, which would be one of my first hurdles cleared: an active interest in games. I've come across a lot of programmers in the industry, even gameplay programmers, who don't play games.

Otherwise Mario has it pretty much in the bag there. Would be good to make yourself a game demo as a sort of portfolio work. It really helps. Get going with XNA soldier

edit, XNA is C# but it's easy to get to grips with and would demonstrate that you can complete projects and understand implementing gameplay. Alternatively get working with OpenGL and C++ :)
 
I think you forgot "don't mind having no existence outside the office until the game is done." That seems to be a pretty common thing these days; just watch any documentary on any game... The people pretty much sleep and eat their work until the game goes gold.

edit, XNA is C# but it's easy to get to grips with and would demonstrate that you can complete projects and understand implementing gameplay. Alternatively get working with OpenGL and C++
C# is great if you only plan to make PC or 360 games, but AFAIK -- and someone correct me if I'm wrong... -- but everyone else still works primarily with C++.
 
Mario said:
Well, we are hiring programmers right now...

Do you help with relocation? I've applied to a large number of the West Coast game developers but I could be convinced to relocate. Albeit right now I'm only looking for an internship, but come January I am in need of a full time position.

Also for anyone wanting to become a game programmer, be ready to take a test for every company you apply to.

Some other things, most of the places I've talked with aren't super particular on previous experience provided your fundamentals are strong (hence why they test you). However it doesn't hurt to have some experience that shows you have initiative and like working on games. A few of the companies have recommended having demos that show off your skills/interests (ie a shader demo, or some kind of AI demo etc), usually they say it should be something you spent no more than about a month working on.
 
I'm a computer science major currently. If the industry is mainly focused on C++, why is every class taught in Java? Granted, I'm only a freshman but is there a reason they're teaching us a language that no one uses?
 
I'm a computer science major currently. If the industry is mainly focused on C++, why is every class taught in Java? Granted, I'm only a freshman but is there a reason they're teaching us a language that no one uses?

My guess would be because of economics. Its much cheaper for universities to get Java development software vs. C++/C#.
 
Karki said:
I'm a computer science major currently. If the industry is mainly focused on C++, why is every class taught in Java? Granted, I'm only a freshman but is there a reason they're teaching us a language that no one uses?

It's easier at teaching theory. All that Object Oriented mumbo jumbo.
At the same time - every studen should suppliment their education by coding on their own, on the side, in C or any language of their choice. Colleges teach theory - not practice. So practice.
 
Karki said:
I'm a computer science major currently. If the gaming industry is mainly focused on C++, why is every class taught in Java? Granted, I'm only a freshman but is there a reason they're teaching us a language that no one uses?

Fixed. And with the fix comes the reason. Few areas outside the gaming industry still rely heavily on C++, and most computer science courses don't focus on preparing their students to be game developers.
 
I took a total of 5 quarters of computer programming in high school, 2 of which I was taught Pascal, and the rest were Java. To my understanding, students are taught Java in high school for the sole purpose of taking the AP test.

Currently, I'm a freshman at DigiPen, learning how to make games. DigiPen doesn't require any prior programming knowledge, so they start by teaching everybody C. In high school, I was taught programming in front of a computer, but in college, students sit in an 85 minute lecture and are given assignments to do outside of class. Initially, I thought being taught how to program without a computer in front of me would be counter productive, but I was shocked at how much I could learn by listening to the professor preach about C. Getting back on track, I was grateful that my high school offered computer programming at all, but I don't fully understand why students don't begin learning C. Maybe it's the fact that high school is just that: high school, and you get what you pay for in college.

To make one final point, after learning C, C++ was much easier to grasp. And seeing how C++ is hugely used in the games industry, I think it would be great if high school students were taught C.
 
M3d10n said:
Fixed. And with the fix comes the reason. Few areas outside the gaming industry still rely heavily on C++, and most computer science courses don't focus on preparing their students to be game developers.
On the one hand that statement is totally wrong, but on the other hand you did write "fixed".
We have a conundrum!

Why do people speak with such certainty on stuff they apparently have no knowledge of?
 
Mighty said:
Currently, I'm a freshman at DigiPen, learning how to make games. DigiPen doesn't require any prior programming knowledge, so they start by teaching everybody C. In high school, I was taught programming in front of a computer, but in college, students sit in an 85 minute lecture and are given assignments to do outside of class. Initially, I thought being taught how to program without a computer in front of me would be counter productive, but I was shocked at how much I could learn by listening to the professor preach about C. Getting back on track, I was grateful that my high school offered computer programming at all, but I don't fully understand why students don't begin learning C. Maybe it's the fact that high school is just that: high school, and you get what you pay for in college.

To make one final point, after learning C, C++ was much easier to grasp. And seeing how C++ is hugely used in the games industry, I think it would be great if high school students were taught C.
I'll be starting at Digipen this fall (RTIS major), so I'm glad to hear it won't be too hard to learn C from the lectures.
 
Karki said:
I'm a computer science major currently. If the industry is mainly focused on C++, why is every class taught in Java? Granted, I'm only a freshman but is there a reason they're teaching us a language that no one uses?

Because your school has a lousy curriculum? By language our courses go something like:

101 C
102 C++
105 Java
201 Java/Javabeans
271 Prolog (with one assignment in your choice of C++/Java)
303 No language
402 C/C++

Also in elective courses I've done:

351 Perl/Javascript/CSS
480 C++/OpenGL
485 Generic SQL

And in courses for game programming minor its been C++ and C#.

All that being said if you know one OOP language you should be able to learn another pretty quickly. All of the classes I've taken the professors have made it clear that we could do all the assignments in C++/Java and that the language chosen was either professor's preference or because it made the work a bit easier.

coolcajun said:
My guess would be because of economics. Its much cheaper for universities to get Java development software vs. C++/C#.

GCC is free...
 
What other jobs are there for people who aren't programmers? I'm going to likely be going to college to become a writer, and I'm just curious.
 
Eteric Rice said:
What other jobs are there for people who aren't programmers? I'm going to likely be going to college to become a writer, and I'm just curious.

Well from my intro to the games industry class:

Writers
Producers
Designers
Artists
Sound people

etc

Not too mention all the people who have to handle things like business, hr, marketing, legal.
 
In order of importance, from my experiences, it seems to be:


#1 - EXPERIENCE (Shipped game prefereably, your own homebrew stuff 2nd)
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
#2 Technical degree,
#3 C++ abilities
#4 communication/interpersonal skills



Getting your foot in the door is the most difficult part.

edit:

If you can find a company that recognizes that you don't have as much experience, but you've got great communication skills, abilities and potential then you're good to go. :)
 
bluemax said:
Because your school has a lousy curriculum? By language our courses go something like:

101 C
102 C++
105 Java
201 Java/Javabeans
271 Prolog (with one assignment in your choice of C++/Java)
303 No language
402 C/C++

Also in elective courses I've done:

351 Perl/Javascript/CSS
480 C++/OpenGL
485 Generic SQL

And in courses for game programming minor its been C++ and C#.

All that being said if you know one OOP language you should be able to learn another pretty quickly. All of the classes I've taken the professors have made it clear that we could do all the assignments in C++/Java and that the language chosen was either professor's preference or because it made the work a bit easier.



GCC is free...

We use a free IDE called "Dev-C++" in our college classes. Works great.
 
bluemax said:
Because your school has a lousy curriculum?

Lots of schools have lousy curriculum then. Texas has been 99% Java since 2002. You have to go out of the way to learn other languages (typically 1-hour filler courses).
 
Zoe said:
Lots of schools have lousy curriculum then. Texas has been 99% Java since 2002. You have to go out of the way to learn other languages (typically 1-hour filler courses).

Eh saying lousy curriculum was probably a bit out of line. As long as you learn the theory and concepts going to another language won't be a big deal. You'll obviously be at a disadvantage to people exposed to other languages in that you may not know some of the more advanced features available but I think if you understand the fundamentals you'll be all right.
 
Zoe said:
Lots of schools have lousy curriculum then. Texas has been 99% Java since 2002. You have to go out of the way to learn other languages (typically 1-hour filler courses).
I wouldnÂ’t go as far as saying that (especially since I donÂ’t know the ins and outs of the curriculum).
But I do believe that a graduate who have 99% of his programming college experience in a GCed language will be at a disadvantage.
 
Or you can get in like I did:

1. Get arrested for "computer trespassing" in high school.
2. Have a producer who's known you for years call you and offer you a job at his development studio.

Done and done!

(I got so damn lucky.)
 
I'd add that it's probably worth writing some kind of program related to the type of job you want - a game if you want to do gameplay, maybe some kind of graphics demo if you want to write engine code.
Basically, if you can demonstrate that you can actually write code outside of class assignments and the like, it's bound to make you look better (and it's the nearest thing you'll probably get to actual 'experience' until you have a job in the industry).
Also, it demonstrates that you can be self-motivated, and that you're actually passionate about what you want to do.
 
bluemax said:
Eh saying lousy curriculum was probably a bit out of line. As long as you learn the theory and concepts going to another language won't be a big deal. You'll obviously be at a disadvantage to people exposed to other languages in that you may not know some of the more advanced features available but I think if you understand the fundamentals you'll be all right.

I agree with that. The drawback is if those don't stick past your final exams, you come out of school a lousy programmer. I've had to work with them, and hell, I'll probably be one of them :(
 
Thanks for the information guys


I'm considering doing a little 1 year degree in "game design" after I do my Bachelor's in CompSci. There's a couple to choose from in Montreal and they're mostly funded by the government.
 
bluemax said:
Because your school has a lousy curriculum? By language our courses go something like:

101 C
102 C++
105 Java
201 Java/Javabeans
271 Prolog (with one assignment in your choice of C++/Java)
303 No language
402 C/C++

Also in elective courses I've done:

351 Perl/Javascript/CSS
480 C++/OpenGL
485 Generic SQL

And in courses for game programming minor its been C++ and C#.

All that being said if you know one OOP language you should be able to learn another pretty quickly. All of the classes I've taken the professors have made it clear that we could do all the assignments in C++/Java and that the language chosen was either professor's preference or because it made the work a bit easier.



GCC is free...
Not true. The reason why many schools teach Java now as the first language is because they want students to learn Object oriented progarmming as soon as they can. Memory management can be learned at a later time.
 
shpankey said:
We use a free IDE called "Dev-C++" in our college classes. Works great.
Learn to use Eclipse or Visual Studio, those are the best.
 
diddlyD said:
ability to work really long hours :[

Is it really that bad? Who am I kidding, I know it is, but do you usually get time off after working day and night and finishing a big project? It's only long hours during crunch time right?
 
Top Bottom