Advertisement

Hard Questions for Professional Developers

Started by July 31, 2012 02:17 AM
8 comments, last by M6dEEp 12 years, 3 months ago
So I have an assignment due later on tonight that requires me to ask professionals questions about the work environment, the industry and their experiences so what better place than here. I would like to hear some responses from any professional game developers that may stumble across this.

. What are the biggest differences in the development process between the game industry and enterprise software development.
2. How important is it to have a Master's Degree in the game's industry, and why or why not?
3. What in your opinion is the "industry standard" for appearance, culture and communication? Is is similar to enterprise development as far as professionalism and dress?
4. In your opinion, what are the most desirable attributes that a company looks for when they hire a game developer?
5. What is being an intern like? Do you make them stock vending machines and only give them "non critical" work or do you treat them like an employee?
6. What made you interested in becoming a game developer?
7. What advice do you have for someone who wants to enter the game industry as a programmer?

I know that some of these may be answered around on the forums, but I'm looking for answers from professional developers who are in the industry. Thanks very much for taking the time and I look forward to hearing your answers!

1. What are the biggest differences in the development process between the game industry and enterprise software development.


In general, game development teams even among the larger game companies tend to be fairly small, ranging from 10 to 100 people. This has a huge impact on nearly all aspects of development. Also, in my experience, the game industry is much more prone to middleware than other industries. Beginning in the early 2000's we started realizing there were companies out there dedicated to the development of amazing graphics and physics engines, and today that's expanded to include AI and general tools as well. The skills required to develop amazing graphics and physics are very specific. If a company can afford the up-front cost of a good engine, it's generally the right course of action.

Also, most other industries are always on the doorstep of the next big thing. Meanwhile, the games industry tends to lag behind new innovation and new technologies for quite a while after they've become mainstream, preferring instead to eek out as much as we can from existing and proven technology. For example, we were still writing tight loops in ASM long after C had become the predominant language. We were still using C when C++ was considered "too slow" to be good for games. And now we're stubbornly sticking too C++ when the trade-off in the reduced development time of managed languages has more than proven worthwhile.

Finally, only in game development will you have such a mix of roles, ranging from art, creative design, music, and programming all collaborating at the same time.


2. How important is it to have a Master's Degree in the game's industry, and why or why not?


It's not important at all, and in fact, can be counter-productive. Generally speaking, people with a Master's Degree demand a higher salary. In the game industry, however, how much you're worth is based more on how many ship cycles you've gone through, what your credibility is, and how well you've proven your ability to get the job done in a real production environment. This creates a bit of a problem because if you're joining a game company with no previous titles, you're still just a Jr. programmer, and are often paid the same. Demanding a higher salary for your Master's Degree can make you over-qualified and passed upon by hiring managers who are willing to take a recent undergraduate with the same amount of work experience for less.


3. What in your opinion is the "industry standard" for appearance, culture and communication? Is is similar to enterprise development as far as professionalism and dress?


It's as you would expect. Shorts & a T-Shirt is pretty normal, as are jeans a tenis shoes. Aside from the money controller and perhaps HR, it's unusual to see any game developers in "business attire".


4. In your opinion, what are the most desirable attributes that a company looks for when they hire a game developer?


The same as any other industry - passion and skill. If your skills align with the problems they're trying to solve, and your passion and enthusiasm make you seem friendly & motivated, you're a hire. If you seem disinterested, unmotivated, or like you'll be unable to endure the tight schedules often coming with games, they'll pass.


5. What is being an intern like? Do you make them stock vending machines and only give them "non critical" work or do you treat them like an employee?


While I haven't been an intern myself, when we had interns at my previous companies they were given non-critical work. But, I imagine this varies widely from company to company, and for example, isn't like that at Microsoft. In either event, that's true for Jr. Programmers as much as it is for interns. And in both cases, once you've proven yourself capable, you'll be given more responsibility quickly.


6. What made you interested in becoming a game developer?


In truth, Kings Quest, Space Quest, and Leisure Suit Larry. I got a Sierra bundle when I was in Jr. high. After playing the games for a while I got the idea I could do better, so I taught myself to program and began making my own games.


7. What advice do you have for someone who wants to enter the game industry as a programmer?


My advice varies depending on your existing situation, and I'm always happy to mentor people. But in general, you need to develop and demonstrate the skills a company would be looking for. In specific, you need to get familiar with C++ and probably C#/Java as well. You need to develop your math skills, specifically Linear Algebra, and you need to start working on games. It's best if you start with an existing engine such as Unity, or at the very least a functioning library, like XNA, but you'll want to work on your own engine eventually. First, work with your artistic and creative friends if you don't have those skills yourself, and put together a portfolio of completed titles. They can be 2D or 3D, but should cover a wide range of topics.

In fact, it's best if you get your hands into all the different systems of a game engine, and then pick one or two you like most to specialize in. These fields being graphics, AI, physics, networking, gameplay mechanics, sound, user input & interface design, and tools. Once you've made a few games, become familiar with the different game systems, worked on your own engine, and started specializing in a desired system area, you'll be more than ready to start sending out resumes.

Cheers and Good Luck!
Jeromy Walsh
Sr. Tools & Engine Programmer | Software Engineer
Microsoft Windows Phone Team
Chronicles of Elyria (An In-development MMORPG)
GameDevelopedia.com - Blog & Tutorials
GDNet Mentoring: XNA Workshop | C# Workshop | C++ Workshop
"The question is not how far, the question is do you possess the constitution, the depth of faith, to go as far as is needed?" - Il Duche, Boondock Saints
Advertisement
1. The biggest difference is that games are a one-shot event so they have a heavy QA effort and little-to-no support after release. The game may get a patch, but then it is shelved.

The projects are different, but much of the process is the same. We use scrum in the industry and I've used it outside the industry. We have similar bug tracking systems. We have similar software releases. We have similar infrastructure. Etc.

2. Someone having or not having a masters degree is irrelevant to the industry. The industry itself could not care less. However, the additional knowledge and skills I gained in graduate school helped me to move up faster than my peers, and helped me significantly at the negotiating table a decade after graduation. It helped me, and it helped several others I know who sought graduate-level education. It may or may not help you.


3. No, dress code is very different. Outside the industry I was expected to wear a button-up shirt, tie, and slacks. In the game studio I'm currently at, t-shirt and shorts are the norm, shoes are optional. Generally I found game companies to be more open in communication, more quick to react, and more open about QoL issues. In the formal work environments quality of life (QoL) was rarely mentioned, but it is an open discussion in the games business.

4. Will the do the job well, and will they fit in. That's all any company looks for in a new hire.

5. Intern jobs depend on the company. In the past I have seen our game studio interns do work on tools and prototypes. It is somewhat non-critical, and it is something that could be reworked by an experienced developer in less time, but it is still something useful.

6. I programmed my first simple text video game at age 5 in basic. It was just a simple question/answer text game. My brother read it, and showed me how to improve it by introducing a for loop. I was hooked.

7. Love to program. Making games is very different than playing games. You will hate the game and probably never play the retail copy of the games you develop because you end up being sick of the game when it is done. Develop games because you love software development. Don't do it because you love money, since other fields pay more. Don't do it if you don't love programming because many days you will have a serious love/hate relationship going on with your code. If you don't love programming generally, you will eventually hate the job. If you love programming, and you love games, then it can be a good career. If you don't love programming, or you don't love games, then it is probably a bad career choice.
1) You often don't know exactly what the end product is going to be with a game. One of the most important things is to make a "fun" product, but specification sheets and design documents must first be implemented before you can evaluate whether it's fun or not. There's a lot of iteration, which is why "agile" methods are much preferred over "traditional"/waterfall methods.
2) It's what you know, not what paper you have. University is important, but it only teaches you the foundations, not your day-to-day skills. Having extensive formal education is good, but it in no way demonstrates that you've got the job-required skills. Industry experience is much more valuable than a masters.
3) In my experience, the dress code is "wear what makes you comfortable". For some people, that's smart casual, but I've worked with others who look like they're about to go to a punk nightclub. Whatever, as long as your personal hygiene is ok. As for professionalism, people are much more likely to joke around and act like mates most of the time (especially when playing Mashed in the lunch room), but still be extremely professional when it's actually required.
4) Talent, passion, teamwork, ability to get along with people... and talent.
5) I've never seen an intern. We had a 15 y/o work experience kid once - he got sat with lots of different people who were more than happy to explain to him different issues they were working on, from co-planar triangles to cache-line aliasing, which he lapped up. He also got lumped with tedious work, like auditing the dev-kit inventory, or finding repro-cases for QA.
6) Playing games, and discovering that I enjoyed programming.
7) Never stop practising and learning. Be proud of your work, but not be blinded by your pride -- realise that your code sucks and if you did it again in a years time it would almost always be better (because you've learnt more and practiced more by then).
PS - if you want to be in the industry, don't leave things until the last minute. "I have an assignment due later on tonight"... uh huh.... wink.png

PS - if you want to be in the industry, don't leave things until the last minute. "I have an assignment due later on tonight"... uh huh.... wink.png


Ha it's not as bad as it sounds, I've asked some of the game development faculty at my school way ahead of time and they gave me some good information as well. I just wanted to contrast what they said with the thoughts of the GameDev.net community. More info never hurts.


As far as the Master's degree question is concerned, I just wanted to hear everyone's thoughts as I am getting close to graduation myself (my bachelors in CS) and I wanted to see the real benefits of going through with getting one. So far it seems like it's something better suited for people who want to teach, get more in depth school in a certain area and those who want negotiate for more money in other industries (like enterprise stuff).

I've interned at two places so far, one being a banking software company as an intern developer and currently at a gambling software company called GTECH. It's all very professional and business like, which I don't like to be totally honest. Also it doesn't help that I am way more interested in games development, most notably computer graphics, than in web development and gambling software. I really would like to intern at a studio before my last semester but I've heard some silly stories from guest speakers, like having interns do vending machine stocking and white board cleaning etc. I wouldn't have a problem with that, it just sounds so different than what was expected from in my current work experience.

These are all great answers, and I appreciate it a lot guys. I'll be sure to give you credit lol.
Advertisement
I'm going to assume we're past your deadline, but since I don't know your timezone...


. What are the biggest differences in the development process between the game industry and enterprise software development.


Almost everything has been said, but I will stress this. A lot of methodologies for development (such as Agile Scrum) take for granted that all your team members are able to perform all of the tasks at hand. This isn't true in the game industry as JWalsh said, as you're dealing with several different very specialized resources. This comes with its own challenges in terms of resource allocation during sprints.


2. How important is it to have a Master's Degree in the game's industry, and why or why not?


The truth is that, although I kind of know the answer here, I don't. I'm no H.R. fortunately/unfortunately. The degree shows that you have a minimum of understanding, which will insure you will speak the same 'language' as your future co-workers, but it does not insure skill for example. It's one part of the deal, but you have to show practical skills too (I'm surprised Tom Sloper hasn't put a link to this yet, but seriously look at the PORTFOLIO on sloperama)


3. What in your opinion is the "industry standard" for appearance, culture and communication? Is is similar to enterprise development as far as professionalism and dress?


All places I've been to are casual dress code, but I've only worked in Canada. I don't know what Romania and China look like for example (even though I've worked with teams at both location).
Most people that have been around for more than a few months' contract will know that business time is business time. A lot of that can be seen in bug reports and how people comment on them (I take bugs as examples as they are a wide example most can relate to). People are generally concise and clear and though truth is told, being polite is necessary. You have to realize that in a AAA market, you'll be dealing with a lot of people that have put tons of hours into something. It's not so much an ego as actual dedication. This is why you should never see a bug report that says 'this sucks'. Derogative terms are generally removed, and explanations are required. Likewise, whenever a bug gets reassigned to somebody else, it shouldn't look like a 'it's not my fault, he didn't do his job' kinda thing.
Unfortunately, I've seen a little bit of both, but its an exception and isn't tolerated by higher management for long.




4. In your opinion, what are the most desirable attributes that a company looks for when they hire a game developer?


Technically, it all falls down to: Can you do the job, do you want to do the job, can we let you do the job without worrying.
What the job requires is mainly skill and dedication. And you do need both.
Productions have been known to crash because of the 'superman syndrome' - A guy comes in a production that faces a challenge, kills himself in overtime (or not) and gets the job done. Everyone's happy, there's the savior. At any given point between now and the end of the release, the superman will be part of the next problem. This happens all the time. Better to work steadily and efficiently than to try to prove a point and put everyone at jeopardy later down the road.
And obviously, you need qualified resources. I felt bad a few months back when we had to let go someone that was clearly the most dedicated (and by dedicated I mean someone that sustains a level of dedication longterm). The guy was always there ready to back everyone up, but the truth was that his technical knowledge was sub-par, and it led to countless mistakes. As you know, mistakes have a cost in time and money, and it was detrimental to the project as a whole despite the man's attitude.




5. What is being an intern like? Do you make them stock vending machines and only give them "non critical" work or do you treat them like an employee?

Most interns we get are generally artists. Mind you, we rarely get any. For the most part, we expose them to the entire pipeline and insure that they get to see as much as possible, but, unless we don't have a choice, we put them on non-critical work.


6. What made you interested in becoming a game developer?


I've been making games (crappy) since I was like... 6 or so. And started coding them (poorly) at age 9.


7. What advice do you have for someone who wants to enter the game industry as a programmer?


There's really no magic trick there. You attend school, you work hard, and you get yourself a nice portfolio:
1 - Attending school actually requires a mind shift: It's not going to school like back in the highschool days. Now, it's about performing. You want results, not in terms of grades (they are important for your diploma only) but in terms of learning. Make the most out of the resources you are given. A lot of programmers would love nothing more than to have a teacher at the ready to ask their questions, or a library close by to get books on a new language they want to tackle. True, it's all readily available on the internet nowadays, but you have so many excuses not to do it that it's better to do it while you're in school, obviously learning.
Make the most out of your time in school and you won't regret it.
2 - Working hard & getting a portfolio goes hand in hand. No one really wants to hire you straight out of school: they want someone that can prove they have the skillset they need. So you need to 'do stuff'. You can do one big thing, but I'd rather go with many smaller things that are significantly different so as to show you are versatile. My experience here is that H.R. are generally looking for generalists, and not specialists. You can grow into a specialist over time, with industry experience, but it may be unreasonable to attempt to do so freshly out of school.
One of the things I've seen working well is people making Mods or Tools. Mods are great because they're the perfect example of what you'll actually end up doing: work in other people's code and add features. You rarely get to be (and especially when starting up) the guy that starts the new game from scratch.
Tools are also great because its an overlooked part of development that can save other people tons of hours. A programmer that proactively looks into tools can really make a difference, and it tells a lot about your attitude (that you want to help the development team as a whole, not just doing your own thing).

Hope that helps a bit.
Ooo. I feel compelled to answer this questionnaire!


1. What are the biggest differences in the development process between the game industry and enterprise software development.


Plenty.

Games are art products. So the core of the development work primarily focuses on how the game feels and looks, and less focus on functionalities. To give you an example, development of game A might involve discussions about how the main character looks, how he moves, how he jumps, how he attacks, the design, playability, and difficulties (and the gradually-increasing difficulties) of the levels, the design of the enemies, how the big the bosses are, and all that. Development of enterprise product A focuses more on functionalities and less on looks. Development of Social Platform XYZ might focus more on the infrastructure of the login system, how users manage their profiles and privacy settings, how they upload pictures and insert comments.


2. How important is it to have a Master's Degree in the game's industry, and why or why not?
[/quote]

None. As pointed above, game development focuses more on the feel of the game. Master degrees won't teach you that. Someone who is well experienced on various game designs has more chance in landing a job than someone who just graduated with a master.


3. What in your opinion is the "industry standard" for appearance, culture and communication? Is is similar to enterprise development as far as professionalism and dress?
[/quote]

Enterprise tend to enforce business casual dress code, though this varies from company to company. Game development companies tend to be more casual, so are the culture and communication of the company. I have observed these at least in the companies I have worked so far.


4. In your opinion, what are the most desirable attributes that a company looks for when they hire a game developer?
[/quote]

Educated and passion in games. Different than a gamer. Gamers play to compete and win, but they don't necessarily have the capacity to look underneath the skin of the game and dissect it. For example, a game developer would notice how reloading work in Gears of Wars and make a note about its pros and cons for his future games, vs a gamer who just play to get the highest score.


5. What is being an intern like? Do you make them stock vending machines and only give them "non critical" work or do you treat them like an employee?
[/quote]

So far, I have only seen interns given non-critical work or side projects. They are usually treated just like any other employee.


6. What made you interested in becoming a game developer?
[/quote]

Wanting to make my own games.


7. What advice do you have for someone who wants to enter the game industry as a programmer?
[/quote]

Play games, observe games, think how they can be improved, and add some skills to that (art, programming, sound, whatever).
I'm not currently in games, but worked there for a few years, so I guess I'll contribute my 2c with my little experience there:


1. What are the biggest differences in the development process between the game industry and enterprise software development.[/quote]
Different companies do things different, and due to lack of much experience, I'm not sure.
But from what I experienced, we had to fight more for actually getting payments agreed upon by the publisher earlier... in my game jobs than in other ones. There was a constant struggle for money, mid-size company with reputation and promising products, or small studio with no reputation.
There were more frequent change requests (by game designers), especially in the small studio, which drove developers nuts.

2. How important is it to have a Master's Degree in the game's industry, and why or why not?[/quote]
From the impressions I got, it's not really important maybe unless when applying for top notch engine stuff. But if you can't demo anything impressive, such a degree won't help much.

3. What in your opinion is the "industry standard" for appearance, culture and communication? Is is similar to enterprise development as far as professionalism and dress?[/quote]
Where I was, we didn't have dress code.

4. In your opinion, what are the most desirable attributes that a company looks for when they hire a game developer?[/quote]
Able to do the job, really interested in games, teamwork ability / matching "chemistry"

5. What is being an intern like? Do you make them stock vending machines and only give them "non critical" work or do you treat them like an employee?[/quote]
In the small studio interns did some important work, because they were cheaper than regular employees...

6. What made you interested in becoming a game developer?[/quote]
When 12 years old or so, playing with an old Commodore 64 that I got for a few bucks from a buddy, and I read through the manual, I discovered that you could actually make stuff yourself, and from that day on, my skin would become considerably paler :-D

7. What advice do you have for someone who wants to enter the game industry as a programmer?[/quote]
Not sure.. perhaps, prepare for horrendous overtime ;-) At least in small, inexperienced studios with bad management. And it appears, there are plenty of them.
Thanks for all of the extra answers, even though I've already done the assignment (received and A by the way) I can see a lot of trends going on from the extra information.

I actually did a mock interview with a professor and he said that I did pretty good. I showed him some of my stuff and how passionate I am about games development and he said that's what really sold him. Thanks again guys.

This topic is closed to new replies.

Advertisement