What Game Companies Want From Graduates
simoniker writes "Game education site Game Career Guide has a new feature talking to recruiters from notable game companies like EA, Insomniac Games, and THQ. They discuss the best university courses and qualifications for getting hired to be a game developer. EA's Colleen McCreary comments on the rise of some TV-advertised mass market game schools: 'Our concern with for-profit institutions is that students may not learn the fundamental tools for understanding and solving complex issues... We are most likely to hire someone who has a BFA or MFA from a traditional art college and a BS, MS, or PhD in Computer Science for our entry level artist and software engineer positions.'"
What Game Companies Want From Graduates
Your soul? (Or are we talking about companies that aren't EA?)
The theory of relativity doesn't work right in Arkansas.
The question I have is as games branch out from just being entertainment. How does that affact what one needs to focus on as far as education?
'Our concern with for-profit institutions is that students may not learn the fundamental the tools for understanding and solving complex issues,
Then don't hire people from vocational schools. Hire those who have excelled through self-learning and those who took the education seriously at an actual university. People who just jump into a cheap vocational school do so because they either don't have the patience or qualifications to attend a university or the self-determination and drive to become self-educated. They're like all the people who jumped into IT a decade ago and ruined the market and the reputation, because it went from being a place for people who enjoyed technology and were thrilled to make a living at it to people who jumped into it because they needed to feed their five kids and they heard it paid more than teaching or digging ditches.
what they really want is for someone to work like a dog without any complaint.
dont fool yourself -- paper degrees arent going to make a game company profitable -- slave labour will.
I want my time and bandwidth back. The article is basically four pages of corporate recruiter speak that makes me want to hit someone in the head with blunt implement.
"Bring your A game" indeed. Why don't I synergistically ping my cheese with your bandwidth while I'm at it?
I went to a well known liberal arts college and received a masters in Computer Science. I ended up going to work for a consulting firm instead of taking the engineer path. Knowing what I know now, i would have definitely applied for a games company or similar. Two of the people from my graduating class (a total of 10 computer scientists) went to work for EA (what exactly they do their, i have no idea). In any case, i've been noticing that those with more liberal computer backgrounds tend to get picked up sooner and by more interesting companies. I think it speaks volumes when gaming companies are saying they don't want straight EE, CS, etc.
I slave full time but still study for a BSc part time and, as I've been at the school for longer than your average undergraduate, know quite a few PhDs, Professors, and the like.
They all have such a drive for their research. All they want to do is conquer their current topic of research and make scientific progress. I cannot imagine any of them wanting a job like this (EA's treatment of staff, namely 80 hour weeks with no overtime pay, aside).
is for you to use your new salary to buy lots of games. Duh!
The problem is young kids who grow up gamers and decide they want to "make games" have no clue what it means to actually make a game.
I attended a private school with a game program and the kids enrolled were the most misguided group I have ever seen. Almost all wanted to "make games" as in, design a game based off their awesome idea. Well sorry to tell you, that is not going to happen outside of college for 99.9% of people. The other 0.01% end up adapting their idea to a mod, a flash game, or maybe even an indie project.
So basically, non of these kid enter college with a solid idea or plan on how to reach their end goal of designing games. Few understand basic business practices and development processes and it shows.
The fact is that nerds/geeks who played games before college make up a vast majority of the students who enter school with the intent of working in the game industry. These same nerds/geeks spent more time with their games then understanding how the real world works, so when they are introduced to it, well lets say it is Shock and Awe. Few realize that you need to specialize yourself in some way in order to get a job in the industry.
Bottom line is, in the gaming industry today, you need to put in your time and prove your worth with a company before you start making decisions about the next game said company puts out. You cannot do that unless you work for the company first and I guarantee they are not looking for a 22 year old kid to contribute to their game design outside of maybe beta feedback.
Invexi - a Phoenix, AZ based web design and web development company.
I'm reminded of what the American Psychologist, William James said while reading your post. "A great many people think they are thinking when they are merely rearranging their predjudices."
P.S. Thanks, Slashdot, for the lame stylesheet entry for blockquote. Can't italicize, color is faded so even bold is ineffective...neato.
"A great democracy must be progressive or it will soon cease to be a great democracy." --Theodore Roosevelt
If you're not already in the industry, you don't get into the industry.
God spoke to me.
The wants of the major studios are pretty simple.
They want programmers who already know whichever technology they happen to be using on the current project. Kids who are willing to work 80 hours a week and don't cost them any real training time. By the time technology changes the title will have shipped, the coders will be burnt out, and they can be replaced with fresh grads so no raises are required.
They want masters or phd students in computer science willing to work in entry level positions. Someone to bring them new technology and ideas without spending time on R&D or even staying current with academic research or other industries.
They want to very best artists they can find. Provided these artists already know how to create content in their format of choice, have a portfolio that matches the style of the game, and are willing to work just as long as the programmers.
What they do not want, and usually can not afford, is to actually train, research, or develop innovation in house.
As an ex-EA employee, let me lay my cards down.
:).
1) Graduates are a cheap and renewable source of grunt workers. Peons, if you will (for the Horde!). Looking at that list of requirements, I'm shocked. All they will use a new graduate for, in general, is the usual and mundane runner work. As long as you can string a few lines of code together, and step through someone else's code to debug it, you can do the job.
2) I've watched this cycle happen again and again. New graduate joins, is elated to have a job at (ZOMG!) EA. Said graduate works his ass off, earnestly, and has no qualms about being taken for a ride with 80 hour work weeks, because he feels he's up-and-coming. Six months later, the burn-out takes hold, and he quits, with nary a smidgeon of job satisfaction in sight.
3) We all know that the number of letters after your name means very little when it comes to being a good developer. It's not about how much "rote" knowlege you have, or about how many ways you've learned to solve the travelling salesman problem. It's about being able to come to grips with other people's code. You need to be able to pick something up, turn it around, find the bugs, update it to the next generation of the source base. Especially important is the finding bugs part - when you're working with a foreign multi-platform source base hundreds of thousands of lines of code long, you need to have a big L1 mind-cache, if you'll forgive the metaphor. It's about capacity. Simple hard work and devotion will not cut the mustard on these sorts of projects. The managers know this - the qualifications mean next to fuck all in this industry. They just need to keep the positions looking attractive.
For the Horde!
-posted anonymously, so as not to offend any of my ex-coworkers who might still be at my old studio (and no, we had *nothing* to do with WarCraft, despite the references
At least know what the farking dot product is and what it does.
word.
Suckers willing to give all their free time for slave wages who can be discarded the moment they are burnt out.
The cake is a pie
They want graduates who don't know what talents they actually have to get them to work cheap and sign away any right to thier creative ideas theve've amassed during thier fomative years. Same with MS and all the other companies.
"Enjoy what you're doing! If it becomes drudgery, you're doing it wrong!" - Jim Butterfield
I slave full time but still study for a BSc part time and, as I've been at the school for longer than your average undergraduate, know quite a few PhDs, Professors, and the like.
Sounds like you are just what the recruiters want. Cheap slave labour that doesn't know better.
-- http://thegirlorthecar.com funny dating game for guys
Hold on a second the snippet above left out a very important line. Sure it quoted:
"We are most likely to hire someone who has a BFA or MFA from a traditional art college and a BS, MS, or PhD in Computer Science for our entry level artist and software engineer positions."
But not the line right after:
On the other hand, Baker comments that although "the idea of 'Game Schools' is still a relatively new aspect to the industry" which leaves the answer to whether they provide enough relevant experience a little "unclear" she feels that "schools like Guildhall [at SMU] and Full Sail have merit."
Honestly with the Bias that many traditional school graduates have against these schools and the type of discussion that this type of article starts, this is a very important thing to leave out. The snippet that was pulled out implies a completely different perception of these schools by the industry then the article describes.
I work for a large game development studio. The slave labor approach only works for low innovation products. There are definitely studios that make those sorts of games, but even with aggressive overtime an inexperienced workforce will never return a superior value:cost ratio to warrant such an approach. We just finished managing a team of over a 100 people. We were trying to innovate, but such a large team made us too slow. Every new junior person we added after about 80 people probably lowered the overall quality of the product due to the increased communication overhead. Management in many development studios know this and are trying to make their teams more effective.
As it relates to "what developers want": We want smart people who like video games. We'll pay them well and send them home at 6pm. Slave labor studios will continue to exist, but innovative studios are on the rise and hiring aggressively. Ubisoft and Vivendi are two that come to mind.
If you didn't go to school, but you are energetic, disciplined and passionate, apply for QA roles and then commit to understanding the mechanics you see when you are testing. I know an Executive Producer of an extremely successful 2006 game that started in QA and absorbed the processes he saw around himself. He moved into design years later and applied this knowledge while absorbing process from new disciplines around him. Then he was a respected Producer for years, mainly because he understood what it took to get things done in each area. Most recently he applies all of this with a talented team and makes a great game.
Even young punks who think they know it all can grow up in QA. It is quite an eye-opener for these know-it-alls to be around disciplined, confident CompSci graduates who really do know their stuff. They often mature during this process can move onto more responsibility. The ones that don't are easy to spot.
If you have the education, the only thing that you need if you are missing experience in the games industry is modesty and passion. Modesty to work on the boring systems, and passion to make those seem exciting. The industry really needs more candidates. We routinely hire talent from other countries because we don't get enough local resumes.
I can definitively say that game companies (and lots of other companies for that matter) want graduates that are 1) Experienced, 2) Youthful and energetic, 3) Hard working, 4) willing to work for little pay 5) In touch with their audience (see also 2, although under 17 would be ideal) 6) also agree that This Is The Way It's Supposed To Be, 7) Single, and 8) willing to work in excess of 168 hours a week.
"No problem. I have the capacity to do infinite work so long as you don't mind that my quality approaches zero."-Dilbert
I interview graduate programmers for a large video games company. When an engineer gets in the interview room with me, it's all about whether they can use a dot product, do some C++, maybe twiddle some bits, and talk about the complexities of various algorithms to solve a simple problem. You'd be amazed at how many people can't even do that - Sturgeon's Law applies to games programming too.
I'm looking for engineers who are smart, who are enthusiastic, who I can collaborate with on problems. I've interviewed games engineers of 5+ years' experience and had them fail all my questions. And I've interviewed graduates who fly through that stuff in 10 minutes, leaving us time to get on to more interesting stuff.
So EA want PhD for entry level software engineer position? Do they want Grigory Perelman as a janitor too? PhD generally are less interested in games than kids out of collage, and if they are they tend to join/organize independent studios. And with Bubble 2.0 on the rise they could find better salaries and working condition than EA suggest too.
If you are in a traditional liberal arts CS degree program at some school, you are not going to learn what it takes to make games, you are going to learn what it takes to be a utility programer. The fact is that traditional CS programs dont teahc you the math, languages, or algorithms that matter for game development. I know this because I went and got a minor in CS at a liberal arts school and am now getting another BS in Game programming from the singls best school for it in the country. We get linear algebra freshman year, we know Win33 C and C++ by the end of freshman year, and are doing graduate level work in cumputer graphics our sophomore year. On top of that, every year we (as teams) develop a full game which applies all our skills. For exaple, by the end of Sophomore year we code/create 2D games comparable to any early nintendo/SNES game. I am currently finifshing my sophomore year here and it is 10 times more intense than my previous degree. we work 20-22 unit semesters for 4 years and when we get out we have intimate understanding of physics, linear algebra, calculus, 2D and 3D computer graphics, game physiscs, Windows programming, and the moajor languages and their respective algorithms. This is why students here coming out with a BS are highly valued. My advice to anyone in a traditional CS degree program is take as much physics and linear algebra classes as you can and study computer graphics in your spare time. Companies want employees with applicable skills and just knowing programing wont cut it. Traditional schools give you a taste of a lot of things but rarely make you get good at any. I think probably the best test of an outgoing grad looking to go into game development is if you can code up collision detection for an arbitrary convex models. It tests many pertinent skills and is an applicable skill. This is just my opinion though
Future indie game developer of America (and possibly Canada)
Except that's traceable to management failures again. Lemme see:
1. First and foremost, the games industry doesn't even try to keep talent. Last I've heard, they have a burnout rate of about 5 years. They basically take the cheapest (which sometimes doesn't mean the most talented) graduates available, overwork and underpay them, then they burn out and move to other jobs, and a fresh new batch is hired.
I'm sorry, but then don't wonder why the architectures are bad, non-scalable and extremely hard to modify or maintain. Sad to say, and that's from a college graduate, college and coding small cool stuff in your free time teaches all the bad habits and none of the good practices. You come out of college having worked only on _tiny_ projects, individually or in 2-3 person teams, and with requirements that are fixed, clear and never changing.
The funny thing is: a program of 1000 lines, you can hold completely in your head. You don't even need test cases to tell you what you'll break by changing this or that, but even that's ok, because you won't have to change anything ever in an assignment. Plus, the scope is always simple enough so it either works or it doesn't, and you can manually prove one or the other in 5 minutes. (E.g., if your assignment is a heap sort, wth, you can just type in some numbers and see if they come out sorted. Why would you bother with a unit test for that?) You don't even need a good architecture or clear interfaces, because again, you'll never have to re-discover what it does or ever have to change it. It's always by definition write-only, so it's OK to write write-only code. Even 10,000 lines, if you're reasonably smart, you can do it. And that's already more code than in _any_ college assignement ever.
Move on to the real life and a 1,000,000 line project (which is actually a small one), and all the cool write-only hacks and the "it'll be manually tested at the end anyway" mentality you learned in college become a liability. You have to actually unlearn all the write-only habits that college taught you, and learn how to actually produce quality code.
Except in the game industry, by that time you've been overworked and underpaid to death, and the original enthusiams has worn off. You may have started with "woohoo, I'm coding cool stuff for the next great game, I'm so much cooler than those boring guys writing boring VB programs for a living", but in a few years you get to the point of, "fuck this shit, I could be writing one of those boring VB programs for twice the money and a tiny fraction of the unpaid overtime, if any." So you move on. And all that experience is lost to the industry, who then proceeds to hire another fresh enthusiast and watch him do "cool" unmaintainable hacks, and spend half a year introducing two new bugs for every bug fixed.
I'm sorry, but failure to retain talent and experience, _is_ a management failure. You can't just point the finger at the programmers and say "bah, it's those guys writing bad code", when that's the guys you've hired. And in fact, when you just got rid of those who had just learned how to do a better job. It's like buying an old Yugo and then complaining that it's not a race car. Well, that's the car _you_ bought.
2. I'm sorry, but if you pressure people into holding unrealistic deadlines and into working 80 hours a week, don't be surprised if they produce worse code. People (A) make more mistakes when they're tired, and (B) tend to do the quickest dirty hack when it's either that or working yet another Sunday. Writing well structured, scalable and maintainable code takes more hours than writing the quickest hack. Except usually noone gives you a deadline where you have the luxury to do the former. So if you want to do a good architecture, those hours will come o
A polar bear is a cartesian bear after a coordinate transform.
I have a BS in Software Engineering and am currently in my third year of my PhD. I would like to work in a game development company!
What? you do not sponsor international students?
bummer... I guess you are similar to all the other game devel companies I have applied. Next luck next time.
Ubuntu is an African word meaning 'I can't configure Debian'
This pretty much goes for any software company worth its salt. Starting in beta or Q/A testing is a good way to go, however. First it teaches you to express exactly what's wrong with X, then it teaches you how to suggest "low hanging fruit" Y to avoid future problems. At the point you know how to suggest Y (and have the tech skills to either code it or lead the coding of it), you're a real asset to the company.
In short, beta - Q/A testing should be a good place to start if you want to fast-track your way to a company's decision team anywhere. (It worked for me, anyway.)
A big problem with many candidates is that they don't really draw any distinction between game design and implementation.
;). They're the ones who will gain the most satisfaction from taking the vague directives from the Design Team, ironing out all the kinks and contradictions, filling in the remaining blanks and making something concrete out of it all.
This is even more of a problem with people who come from dedicated game development schools, since their courses rarely focus just on one role but usually require students to participate in design, art, production and programming. Many expect their real-world job to be the same and quickly become dissatisfied when their entry-level position requires that they "just follow the design spec please".
At our studio, the candidates we do look out for (and I can only really speak for programmers here) are the ones who recognise that programming is design (thanks Spolsky
Ironically, its rarely people who grow up living and breathing games who realise this, but more often people who have come from a 'standard' IT background. After all, who here can truely say they started in programming because the have a real fire in their belly for Statistical Analysis Solutions for the Insurance Sector.
So when EA says things like "We want candidates who have a true passion for games", I think they're talking out their corporate blow-hole. Games are just software. Software needs programmers and programmers have to enjoy programming. Animators have to enjoy animating and Producers have to enjoy project management.
Unfortunately many people who enroll in these courses just want to make their dream game come true. 99% will not accomplish this. They may have a passion for games, but they also need a passion for the process.
I work for a AAA game studio and we hire "vocational" game school students all the time. You have to remember that this industry is portfolio-based- especially for designers. They're looking for computer science students who are focused on gaming, particularly. If they think you're going to bounce off to Google, you won't get in.
:p
Most people here have Liberal Arts degrees. We handle our own recruitment, no thank you, THQ Recruiter Lady.
Sally Struthers: ...and with this correspondence school, you, too, can become a key punch operator...
...And with this correspondence school, you, too, can do VCR repair...
...DVD repair...
...Travel Reservationist!
...and with this correspondence school, you, too, can become a video game designer...
Correpsondence School Manager: No, key punches haven't been used since the mid '70's. Computers are all keyboards and online storage since then.
Sally: No key punch operator? Ok. Well, ummm.
Manager: Nope, DVD players now.
Sally:
Manager: Nobody repairs DVD players, they're like $20 now.
Sally:
Manager: Dead ever since airlines started launching direct booking via the web.
Sally: Well, what?
Manager: Lemme think a sec... Ok try this (whispers in her ear.) Lights, camera, action!
Sally:
(-1: Post disagrees with my already-settled worldview) is not a valid mod option.
Amen, brother.
It's the simplest linear algebra there is, and yet I've still encountered numerous game programming interviewees who couldn't answer the most rudimentary dot product question.
If you really WANT to program games, you need to LEARN these things. It's not that hard, and if you think it is, you belong in a different career.
I'm a lead server developer at a MMOG company in the Bay Area. What do we want? We want talented programmers. If you can hack it, then education, experience, resume, all that crap is immaterial. The most important stuff you have to teach yourself. Learn what's out there, play with it, use it, fix it, rewrite it. If you know it, the job is yours. And by job, I mean that literally, since we're actively hiring. I'm not very hard to find.
The people that RUINED the IT market were those expensive ivy schooled college folk who sold out the less costly vocational school used by true plain AMERICANS.
Your attempt at class warfare and discrimination is really sad. You are truly jealous and afraid of competition.
It's an interesting point, but it doesn't work. Trust me, you're not the only one who thought of that. (Management still loves flowcharts for example.) _Lots_ of people try, the problem is noone managed to make something that actually works better.
I've actually had the experience of using, well, basically a flowchart compiler back in the 90's. The problem is that the damn thing didn't scale. Oh, it was superb for making 10 line programs or functions. It was an absolute nightmare for anything, say, 100 lines long. Things which would have fit a screen comfortably in a normal language, meant scrolling in both directions just to follow the logic there.
The more important thing: it wasn't even more useful for small functions either. At the size where you could be comfortable with it, it was not much more of a problem to understand the text version either.
Plus, so far we have a mountain of evidence that just messing with the syntax candy tends to not do any good.
For whoever has the abstract thinking capacity, C's cryptic syntax is no harder to use than the more verbose Pascal. And for whoever lacks the ability to think abstractly, no level of syntax candy or pictograms will do them any good. Once you know what "{" and "}" mean, they're no more cryptic than Pascal's "begin" and "end". And going one level higher and writing COBOL (now _that_ is verbose) doesn't bring anything more either. Writing "add X to Y giving Z" instead of "Z=X+Y" doesn't make any actual difference.
The thing is, no matter how you write or represent it, you still have to be able to think abstractly and algorithmically. You still have to take a problem like, say, "fetch me a glass of water", and split it into all the little steps taken for granted in normal conversation, _and_ think about all the things that could go wrong or not be in the expected places. If you didn't train your brain for that, no pretty graphics will do you any good.
And finally here's a funny thought for you: the usual "bah, I could be such a great programmer if someone gave me a paint program instead of making me think" argument tends to always come back to the same example: electronic circuits. The argument goes, "see, if they can design an electronic circuit with all those funny symbols for transistors and diodes, the same can apply to programs." The funny part is that even electronics only uses those for really small circuits. If you think that, say, your CPU was drawn like that, square miles of symbols, you'd actually be wrong. It's basically designed like a program, by the numbers. Go figure.
A polar bear is a cartesian bear after a coordinate transform.
Well, noone denies that better tools would increase productivity. That much is obvious. And, yes, as I was saying before, the interest exists, so I'm not surprised that IBM would be interested. Everyone else is.
:)
The only question is what would be a better tool. So far noone managed to come up with something visual that actually works better. So far all those visual tools worked worse.
So far the tools that _do_ work are more along the lines of doing the clerical work for you. E.g., that you can CTRL-click in Eclipse and instantly see what that called function does. Or that you can CTRL-space and see all the method names starting with "get", instead of having to manually grep the file. It's stuff that saves time by elliminating the chores, not stuff that puts pretty management-ready graphics on it.
And to address your point about pretty 3D animations: it doesn't scale. Watching the flow go slowly around a loop is ok for a 10 line piece of code, but it's a nightmare for a 10,000,000 line program. Trying to follow that going around in 3D would be like trying to see what every single person in New York is doing.
It also solves the awfully wrong problem. The problem _isn't_ seeing that that one is a loop. The problem is understanding what all the other called functions do, and who else calls this function. E.g., if I see someone else's program send a "MyCustomGUIEvent", who's listening for it and what do _they_ do? In detail. Does one of them set some global variable and could be responsible for the race condition we're having? What other piece of program thought they'd take a nasty shortcut and call this unrelated function just for the side-effects?
The problem with maintenance is that basically it's like trying to see the Sixtine Chapel through a cardboard tube that lets you see a square inch at a time. You can see very well that, say, that's a fingernail, but what's the bigger scene there. What are the implications of changing that finger to be bent instead of straight? Would it ruin the whole scene? _That_ is the problem.
What's _really_ missing is the _big_ picture, not cutesy representations of what the current function does. The problem isn't telling that a "for" is a loop, and frankly anyone who needs cutesy animations to realize it's a loop can go back to MacDonalds. What's missing is all that other stuff that this loop triggers, some of it burried under 20 levels of calls within calls.
And if you need to see the exact flow, including going into whatever functions within functions are called there, we already have a tool for that: it's called a debugger. It does just that. It's slow and tedious, but it already does just that. And watching it in 3D would make it no less slow and tedious, since it restricts your scope even more.
But other than that, don't let me stop you. If you honestly think that watching some animated toon walking around the loop in, say, 10 seconds is better than reading the "for" in a fraction of a second, sure, go ahead and try. Several others have already tried and failed, but, hey, who knows? Maybe you're the one who gets it right
A polar bear is a cartesian bear after a coordinate transform.