|See what's going on with flipcode!|
Getting A Job
Question submitted by (09 November 2000)
|Return to The Archives|
|I got really interested in programming games after I read Diane Grubers book a few years back. I'm currenly undergoing traning at a software institute. I would like to be a professional game programmer but have no experience. I'm writing a 2D side scroller demo with DirectX. Should I post this demo to prospective employers? How do i land me a job?|
There is no single answer to this question. If you ask 100 industry veterans,
you'll probably get 103 different opinions on the topic. So after you've read my
opinion, hunt down a few more opinions on the net from other industry veterans.
First and foremost, you need a clear understanding of your goals. What exactly do you want to do? This should always include a good amount of research. If you simply answered, "Dude! I want to make games that rox0r!" then stop reading right now; you need to mature before you'll be able to deal with the responsibilities and challenges that are required for any job, let alone game development.
Still here? Good. Next question, do your goals match your talents? If your goal is 3D engine design and programming but your talents are in physics, then you'll need to refine your goals to include a few intermediate stages that lead up to your final goal. This leads us nicely to our final question...
Are your goals realistic? This can be taken a few different ways, so I want to be very clear about what I mean by this question. I do not mean, "Can you ever hope to achieve your goal?" On the contrary, if you set a goal that you know you can achieve then it's quite simply a bad goal. You should choose goals that you consider impossible; they force you to excel and improve more than you expect. This question was meant to ask if what you think you want to do is really what you want to do.
For example, if you choose to go after 3D engine work, do you have any idea how lonely that job is? You may be working on an engine in your spare time now, but when it's your job things are a lot different. You can't simply take a few days off because you want a break – just as you expect your paycheck, your employer will expect you to produce. Notice that I used the word "produce" not "work". You may pour your heart into your work, but that's not good enough. To an employer, that's not what matters. What matters is when your work actually produces something. This is the primary difference between coding for fun and coding for a profession. So, are you prepared to pour your life's blood into something and have it end up being "not good enough" at the end of the day? A lot of engine coders are revered for their work. In reality, I think you'll find that the challenges of the actual code are dwarfed by the indirect challenges that come with the job.
In a recent telephone conversation with Billy Zelsnack he was telling me about his new approach to coding. His reasoning behind the new approach stems from not wanting to do the "100-hour work weeks" any more. He, too, touched on the topic of loneliness when he mentioned features that he's worked on that "only six people in the whole world would ever see."
Even if you didn't choose 3D engine work as your goal, most of these situations will still apply to you.
Before I completely turn you off from trying to find work in the game industry, you should also know that there is a balance. All the things you thought would be cool about the work that ended up being the opposite are balanced with those things that really are cool that you never knew about. I remember one day I was working on a particularly hairy piece of code and outside the door to my office was an executive of the company rolling around on the ground, wrestling with a blow-up dinosaur. I remember the birthday-party cookouts on the company's gas grill where one of the producers, "Joeske", was practicing his master ability at cooking hamburgers. I also remember the excited shouts from people across the office as they all got together after hours and play-tested the games they were creating. I remember a lot of great things, and hope to create more of those memories.
I hope at this point you'll have some idea of what you really want to do, and have at least an inclination of what to expect realistically from a job in the game industry. So how do you actually land that job? Well... that's the easy part. Well, at least it's easy to explain. :-)
If you're still reading, then you've probably got the desire. What you need is not the desire, but rather the aggression. I don't mean showing up at an interview with guns-a-blazin' demanding a job. I'm talking about targeting a specific position at a company (or set of companies) and going after that job – calling them up and scheduling an interview. Notice how I specifically did not mention asking for a job. I call this "polite aggression."
You want to hear a good story about aggression? I was reading an article about a company that had the best sales force of any other company in the world. The man in charge tells his secretary to tell the candidates that they're not interested in hiring them. If they call back, she's supposed to tell the candidates (again) that the company is not interested. If they call back a third time, they get an interview which is a whole different story involving the president of the company standing over the potential employee pounding questions at them. If they survive this process (and very few will) then the company knows that they've got the most aggressive employees working for the good of the company. Any company would want this, so keep this in mind.
Before you grab for that phone to schedule that interview, you had better have a good reason for them to hire you. Think about it. If you don't have a good reason for them to hire you, you're only wasting their time and yours. What's a good reason? Well, that depends on what position you're trying to get, but there is a one-size-fits-all answer to this: you need to impress the person you're interviewing with. For example, if you're hiring into a simulation-based company and you're trying to get a job doing physics work, you'll probably be interviewed by a project manager or producer that is used to seeing impressive physics work. You had better have a demo or a portfolio that impresses your interviewer. An easier way to think about it would be to consider somebody in the same position you're trying to get. Would your work impress them? If so, go for it!
Is a demo or a portfolio that important? Personally, I wouldn't try getting a job without one.
Hopefully, this makes perfect sense to you so far, but there's a little more to it. You also have to survive the interview process. For some companies this is as simple as showing up, showing them your demo, meeting the team members (to make sure they like you – very important because you'll be spending a lot of time with them) and talking about your background and theirs (remember, you are interviewing them, too!) Other companies have an interview process that spans multiple days, meeting with multiple project leads and meeting none of your future team members. So when you call to schedule that interview, don't be afraid to ask them to describe their interview process.
I remember my interview at Terminal Reality some four years ago. It included a few hours of the president (and resident 3D guru) pounding me with 3D questions, including a few trick questions. The ones I didn't know I simply said I didn't know, but I also asked what the right answer was (I was sincere in wanting to learn.) As a result, I even learned a few things during the interview. But so did he, he'd never heard of second-order Gouraud (I was struggling to find something to impress him with. :-)
There are two huge mistakes that interviewees often make (I should know, I've hired many people from various companies.) The worst one is confusing confidence with arrogance. Confidence is good but arrogance is not. The other common mistake is they forget that they're also interviewing the company. They forget that the interview is a two-way street and let the interviewer control the interview (some interviewers do this on purpose!) Don't be afraid to ask your questions, too. You should have plenty of them. If they don't introduce you to the team members, you might them to. How about a tour of the facility? What's the typical work schedule? What about crunch times – how long have they historically lasted? What kind of design structure do their projects work under? Is there even a design document? What's the future direction of the company? How much does the job pay, and what are the benefits? (Yes, you have the right to know!) Are there bonuses? If so, how are the bonuses distributed? And before you leave the interview, always setup the next contact time. Often times, they won't know when a decision will be made, so you might consider saying something like, "If I don't hear from you by the end of next week, I'll give you a call, OK?" And every time you make contact, setup the next contact time in a similar way – this goes a long way to show your polite aggression.
If I had to sum up the essence of the interview, I would describe it much like a conversation between two colleagues on the subway going to work. Two people simply discussing their work on equal levels. They're not putting up a front to impress one another; they're just discussing their work.
Response provided by Paul Nettle
This article was originally an entry in flipCode's Ask Midnight, a Question and Answer column with Paul Nettle that's no longer active.