Interviews

Founder
Posts: 1,138
Joined: 2002.04
Post: #1
Jake had a good OT snippet in another thread...
Quote: I had a dream last night (more like a nightmare) that I wound up taking a test in C++ for a job interview. The other interviewees were finished in twenty minutes, but it took me three hours and everyone was mad at me for holding up the show. The only solution that actually worked was mine, but I didn't get the job because I took too long. The other job candidates all got hired because they played along with the corporate culture, even though they cranked out sloppy code that didn't work!
Any other real life interesting interviews?

Carlos A. Camacho,
Founder
iDevGames
Quote this message in a reply
Member
Posts: 156
Joined: 2002.10
Post: #2
I interviewed for IBM, and one of the exercises we were put though was answering the questions from a panel of interviewers (and other interviewees) on a scenario that you hadn't been given any advance notice of. I got the following:

"You are a product manager for a corporate IT networking product. You get a call from one of your customers, a bank, who have just installed your latest upgrade, which has taken down their system, and they are losing several million $s per hour. What would you do?"

So I gave several answers, including "Roll back the upgrade, if possible" - sorry, no roll back is available. "Wake up lead devs, gather crash logs, work up a patch fix" - sorry, first patch does not fix the problem...

I tried another line - if I was the project manager I would have ensured there was a secondary system that the customer could fail-over to in the meantime, that we would have tried the upgrade on a similar test system first, that there would have been structured testing including component, system, and beta that would have covered these scenarios. Guess what? None of these things had been done either.

At that point I said "If I was responsible such a shoddily build and tested product, I would resign."

I got the job.

- Iain
Quote this message in a reply
Member
Posts: 749
Joined: 2003.01
Post: #3
Hehe, that's a good one Iain.

©h€ck øut µy stuƒƒ åt ragdollsoft.com
New game in development Rubber Ninjas - Mac Games Downloads
Quote this message in a reply
Moderator
Posts: 3,577
Joined: 2003.06
Post: #4
Haha, that is good! I wonder what would have happened if you said it the other way around? "I wouldn't be responsible for making shoddy software like that."
Quote this message in a reply
Founder
Posts: 1,138
Joined: 2002.04
Post: #5
Quote:At that point I said "If I was responsible such a shoddily build and tested product, I would resign."

Too funny.

Carlos A. Camacho,
Founder
iDevGames
Quote this message in a reply
Moderator
Posts: 435
Joined: 2002.09
Post: #6
Years ago when I interviewed for Microsoft, I had some bad luck- the first taxi driver Microsoft sent to my hotel picked up someone else, and the 2nd taxi driver actually got lost on the way to the MS campus (keep in mind that as the largest employer in the vicinity, EVERYONE knows where it it.) The HR people seemed a bit dubious about all this so it was a bad start.

But then I did two things wrong that I'm aware of. When pressed to guess how many lines of code were in the 3d breakout game I'd written ("would you say 1,000; 10,000; or 100,000?") I guessed 10,000, an order of magnitude too high to be remotely plausible. Lesson 1: know your own work and be prepared to talk about it.

The 2nd thing I did wrong was I had trouble writing a buffered read function on a whiteboard. The guy asked me to reason aloud, which is not my style so I was silent a few times as i pondered it. In the end I realized that I had misunderstood one of the constraints he'd told me, which made the problem impossible. So I was stuck, didn't know whether to say "but I thought you meant X" which would have looked lame or just take my lumps. I stayed quiet, which I think now was a mistake too, but if I'd described where I was stuck as I went along he would have corrected me. Lesson 2 & 3: speak out; follow directions, sometimes they are there to help you.

I probably wouldn't have gotten a job offer anyway- MS's HR kept a steady stream of candidates coming through even when there isn't really a spot for them- this lets them grab the truly exceptional people they happen to spot, and the lets teams fill open spots as needed, but there often wasn't a specific position available. Perhaps they still do this. But they had weeks prior hired a good friend of mine of similar ability, which always rankled.

I think learning these lessons did help me get my current job many years later though.

Measure twice, cut once, curse three or four times.
Quote this message in a reply
Member
Posts: 144
Joined: 2009.11
Post: #7
My interview for my current internship at an iPhone dev house was literally like this:

I find an ad on Craigslist for a "Live for free iPhone Developer Internship." They provide room and board for a couple weeks while I work. Initially I wrote it off as some kind of trap or human trafficking scheme, but then I thought "well, computer scientists are worth far more as computer scientists than as slaves, so I'll at least respond via email."

I get an email perhaps a few days later and a fellow from Boston, MA calls me over the phone. We talked, mainly about the wiki engine I wrote in Java and my experiments trying to write a scripting language in Objective-C. Ultimately I got the job and drove from my home in the Tri-Valley area across the whole stinking SF Bay Area to a rural city west of Stanford to live for literally two weeks. I didn't even know anybody lived west of Stanford/Palo Alto area! Google Maps also had me driving through some poor bloke's backyard (neatly demolishing their fence, I might add) to get there, too. http://i26.tinypic.com/xkr3om.jpg

Anyways, more about the actual interview process. As was already said, know your own portfolio (and make sure you have one!) They were very keen on my server-side knowledge, and my ability to code for Mac OS X didn't hurt either (iPhone programming is remarkably similar to AppKit IMHO). Also of interest was my work with the Digital Mars D programming language (a lovely language, though it doesn't have the community nor support to be able to be a viable commercial platform). In it I tackled various problems such as how to figure out an undocumented or else vaguely documented build system - and then try to document it.

Ultimately I'm sort of a swiss-army knife of a programmer. I can do server-side and client-side work, I can do web stuff, and I'm a fairly good Unix system administrator (for running servers and what not). So I think that showing that you have a variety of skills is very important because it makes you a more versatile employee, and more useful on more different kinds of projects. Take me for example. I've done actual iPhone coding (which was fun) and J2EE coding (which was really not fun, but it had to be done) and server administration (not fun) and Ruby on Rails work too (which was more fun than J2EE, but still not totally fun).

When I grow up I want to write video games for a living (naïve I know, but hey, I can dream, can't I?) but for now I'm kind of a spec-ops intern: can go anywhere and learn anything to get the job done.

I think that others would do well to have diverse skill sets and a strong portfolio. A degree is nice, but some evidence of elbow grease goes a lot further to getting the job itself (though the degree will pad your paycheck the rest of the way).

Everyone's favourite forum lurker!
https://github.com/NSError
Quote this message in a reply
Moderator
Posts: 3,577
Joined: 2003.06
Post: #8
cmiller Wrote:I didn't even know anybody lived west of Stanford/Palo Alto area!

Oh yeah, there's stuff in pockets all over out there. I used to cruise around the back roads of that area on the weekends quite frequently. There is some weird stuff too. Further south, I think it was near Scott's Valley (was that the name? It's been over fifteen years since I've been there...) I did a little construction work for Watkins Johnson. One of the things we did was plumb in silane gas lines -- deadly stuff which required double-containment to be certain there were no leaks. Anyway, it was like some mad scientist retreat in the pines. I chuckled out loud the first time I saw a cryogenic storage tank on a small hill with fog rolling down into the parking lot. Then the first corridor I walked into there was some hippy looking kid with long hair working on some weird stuff in a room by himself with Alice in Chains blasting. I figured he must've done *really* well in college because everyone else was wearing a lab coat except him.
Quote this message in a reply
Member
Posts: 227
Joined: 2008.08
Post: #9
This is somewhat of a tangent, but as a high school freshman, I would be interested to know how to set my self up for a future of game development. Currently, I enjoy doing level design and have a lot of C experience in my attempts to make game development tools. I am not exactly sure of what the comparisons are for different game development environments (studio, indie group, sweatshop, etc). Also a point of interest is, what actions should I do to set my self up the best?
Quote this message in a reply
Moderator
Posts: 3,577
Joined: 2003.06
Post: #10
Oddity007 Wrote:This is somewhat of a tangent, but as a high school freshman, I would be interested to know how to set my self up for a future of game development. Currently, I enjoy doing level design and have a lot of C experience in my attempts to make game development tools. I am not exactly sure of what the comparisons are for different game development environments (studio, indie group, sweatshop, etc). Also a point of interest is, what actions should I do to set my self up the best?

Disclaimer: I don't work in the professional video game industry so this is all just advice I'm making up.

#1 -- Get a computer science degree. This is most important. If you do not get one, you need to be absolutely brilliant to get a job working in a big game house according to many of the sources I've read over the years. The big guys want mad skillz on you before you knock on their door to be a programmer. Game development requires understanding some very complex stuff from time to time. Don't waste your time going for one of those "video game" degrees.

If you already know C and you're only a freshman in high school then you're in a good position. Now is a good time to start focusing on learning C++ since the professional video game industry overwhelmingly prefers C++ and that's not likely to change soon.

While it's much more fun to make your own game tech and you can continue to do that, for prepping to work in the industry, it's better to focus on learning to use existing game engines. Personally, if you want to set your sights on the pro industry, I would recommend learning how to use Unreal. By the time you get out of college there will be other big engines out there, but there's a good chance some version of Unreal will still be around and in high demand in the industry. Make levels for it like mad. Many guys got into the AAA game industry by being great level designers. If you're stuck with a Mac for now, then go with Unity3D until you can also afford a PC.

Learn how to use some of the DCC tools for it like 3D Studio Max (or if you can't afford that right now, then start with Blender).

Study third-party technologies like physics engines (like Bullet) and read books about physics engines. Try to make your own little demos which integrate those third-party technologies in your own engine.

Alternatively, if you want to go it alone and don't want to work for "the man" in the video game industry, you can skip C++ and optionally the compsci degree and do whatever you want instead, although I'd still recommend studying up on the third-party tech like physics engines Wink
Quote this message in a reply
Moderator
Posts: 335
Joined: 2002.04
Post: #11
Oddity007 Wrote:This is somewhat of a tangent, but as a high school freshman, I would be interested to know how to set my self up for a future of game development. Currently, I enjoy doing level design and have a lot of C experience in my attempts to make game development tools. I am not exactly sure of what the comparisons are for different game development environments (studio, indie group, sweatshop, etc). Also a point of interest is, what actions should I do to set my self up the best?

It depends what you want to do in the game industry. If you want to be involved in tools and engine development, AnotherJake's advice above rings true. if you want to be a games coder or a designer the best advice is simply to write a game. A good game on the CV will generally trump any degree in a lot of places (although game + degree trumps game only).
Quote this message in a reply
Member
Posts: 144
Joined: 2009.11
Post: #12
AnotherJake Wrote:Disclaimer: I don't work in the professional video game industry so this is all just advice I'm making up.

#1 -- Get a computer science degree. This is most important. If you do not get one, you need to be absolutely brilliant to get a job working in a big game house according to many of the sources I've read over the years. The big guys want mad skillz on you before you knock on their door to be a programmer. Game development requires understanding some very complex stuff from time to time. Don't waste your time going for one of those "video game" degrees.

Also, go to pro house' career pages. Flip though the job listings. Look at what they're looking for in an employee.

Generally speaking they don't bother putting lower positions on the web; they want to draw out of the local job force because let's face it: it's not worth it to bring a lower-level guy across the country. A senior computer scientist? Totally.

For instance, look at this "big boy" game studio, Id Software. http://www.idsoftware.com/business/jobs/index.php

Look at the programming jobs:
[+] AI Programmer
[+] Effects Programmer
[+] Game Programmer
[+] Gameplay Programmer
[+] Generalist Programmer
[+] Lead Programmer
[+] Multiplayer Programmer
[+] Scripter
[+] Tools Programmer
[+] Web Developer/Programmer

Is 'Intern' listed there? Nope. But if you look at their required criteria, it's readily apparent that they want savvy people:

Requirements:
  • 3+ years in the games industry or significant demonstrable mod work in the first person shooter genre
  • Strong C and C++ coding and design experience
  • Excellent/proven problem solving skills
  • Excellent math skills
  • Good organization and time management skills
  • A passion for games and gaming.
  • Excellent oral and written communication skills.
  • A self-motivated team player with very strong work ethic and cooperative attitude.
  • Authorized to work in U.S. / U.S. Citizen

Desired Skills and Pluses:
  • Experience with the QUAKE 3 and/or DOOM 3/QUAKE 4 engine (idTech 3-4)
  • Experience/familiarity with PL/SQL, Python, Javascript
  • Database Experience – particularly Oracle
  • Experience with Jabber IM technology
  • At least one shipped title where credited as programmer
  • Strong networking skills
  • Console experience
  • B.S. in computer science or equivalent study in related fields
  • Desire and vision to help shape a project from technology decisions to user interactions, gameplay, and overall experience.

Excellent/Proven problem solving skills? That speaks "portfolio" to me. A portfolio with some games in it - either personal projects (that you've finished, not a site full of failed starts like me) or actual projects from other jobs.

Excellent maths skills? I would imagine that questions about "discretization" and "linear algebra" will be in your interview. "At least one shipped title" is probably just to filter out all those that came from 3D Realms. (burn!)

But you get the idea. (That title could probably be anything: card game, iPhone, kids game, whatever, just show that you have real team experience).

The point I'm trying to make is, that all this is a great way to gauge what to train for and towards. Strong computer science, maths, and programming skills, build a good portfolio, and be a team player (be familiar with team development method and tools).

Already knowing C, you're really off to a great start. I sure as HELL wish I had known C in high-school.

Everyone's favourite forum lurker!
https://github.com/NSError
Quote this message in a reply
Member
Posts: 227
Joined: 2008.08
Post: #13
Thank you for this very helpful information. I actually have used C++ a bit (that game I made for the May mini-contest last year was writen with it), I guess I'll just have to get more comfortable with using it. :/
Quote this message in a reply
Member
Posts: 144
Joined: 2009.11
Post: #14
Oddity007 Wrote:Thank you for this very helpful information. I actually have used C++ a bit (that game I made for the May mini-contest last year was writen with it), I guess I'll just have to get more comfortable with using it. :/

That you actually have a game or two in your portfolio makes me jealous. All I have are a few half-baked libraries and a swathe of evil server nonsense. I can expect to be chained to code that craps out CSS/HTML for quite some time. Sad

Everyone's favourite forum lurker!
https://github.com/NSError
Quote this message in a reply
Moderator
Posts: 3,577
Joined: 2003.06
Post: #15
cmiller Wrote:That you actually have a game or two in your portfolio makes me jealous. All I have are a few half-baked libraries and a swathe of evil server nonsense. I can expect to be chained to code that craps out CSS/HTML for quite some time. Sad

I went through that phase for a long time too. I guess it's like a "getting ready" phase. It can last forever though, so you really need to bite the bullet and make a simple clone of some kind one of these weekends, just to break the ice.
Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  Phone interviews. Skorche 10 4,474 May 14, 2007 02:36 PM
Last Post: GolfHacker