Skip to main content
GameDev.net gamedev.net
🔒 Locked

How qualified am I?

Started by jchmack Sep 8, 2007 at 10:14 PM 29 replies 6.7k views
Original Post
jchmack
jchmack
I am a Computer Science Student. I originally intended to graduate CS then move on into a Game Development Degree. But soon I believe that I may have some financial issues that might hinder my education. Is it possible for me to get a Game Development job now... without a degree or previous work in the industry? I have been coding for about 7 years between high school, college, and many personal projects. I have completed 3-4 smaller games and have been working on larger scale game engine for about a year now. I have experience in just about all aspects of game programming(3d,AI and Pathfinding, Networking, Physics, and more). I don't really care if the position is entry level. This isn't a resume (although it is starting to sound like one) but I am just curious how qualified or unqualified i am. All input is appreciated greatly =).
frob
frob
Read this.
jchmack
jchmack
Quote:
Original post by frob
Read this.


lol i was just reading that about a month ago.

Ok maybe I am trying to reach a crowd here that is used to dealing with very under prepared people. And about 2-3 years ago I would agree that I really was unprepared. But I have been working on myself. I HAVE a portfolio. I HAVE a demo disc now. One large factor i lack though is a degree. I am friends with people who are CURRENTLY in the industry. These guys have given me lots of advice on how to get my foot in the door. From what they have told me about their daily duties it seems that I could satisfactorily perform their tasks. From what i understand entry level = testing/QA. I hear many of the professional studios hire comp sci students for QA. Of course i would love to work programming but i am willing to accept a QA job.

Here is a rough draft of part of the resume I am making.

Quote:

Coding Experience:
I have been coding for about 7 years between high school, college, and many personal projects. I started in high school where I completed the semesters assignments in just 2 weeks to make my work easier but my teacher didn't like the idea of me just sitting there for the rest of the year so we agreed that I could make a small game. In college my computer science professor had us write an AI for a tic-tac-toe program and a connect 5 one. His idea was to have us first do this in stages, i.e. most of the students were using a lot of if/else statements to predict all the possible moves. After the second stage i predicted that he would assign us harder and harder AIs and i preemptively used the minimax logic to program a perfect tic-tac-toe AI. These are just two of the many examples of stories that have placed me above my peers in coding.

Game Development Experience
I have completed 3-4 smaller games and have been working on larger scale game engine for about a year now. My latest game takes advantage of many of the latest technologies. I use an extensive amount of open source libraries: Torus Knot's Ogre3d (Graphics), AGEIA's PhysX engine(Physics), Rakkarsoft's Raknet(Networking), Fmod's FreeSL(Sound), OpenAL(Sound). My game features an ability Scripting engine which allows users to create Abilities without typing a single line of code. I have experience in just about all aspects of game programming(3d ,AI/Path-finding, Networking, Physics, and more). I am familiar with many of the newer Technologies in Game Devlopment. I am very interested in Normal mapping and Dead Reckoning network programming. I am planning to compete in many game development contests with my latest engine.

Goals:
My goal is to finish my degree in computer science then attend SMU's Guildhall and get a degree in Game Development. Many of the people I compete against in Dallas say good things about the Guildhall. Two of my (gaming) friends are alumni of the Guildhall and are currently working in the industry. Their accolade combined with many other factors make me believe that this is the way for me do achieve my dream of joining the developing end of an industry I love.

Related Interests:
As you would expect I have a HUGE passion for playing games. I host many local tournaments as well as attend and compete in many larger ones. Me/My brother are usually some of the better competitors and have won money for our placement. When most people say they compete they usually mean locally... I mean large scale. I was at: Evolution Fighting Game Series 2, MLG Dallas and Houston, CPL Championship 2005, and many more. I have traveled all over the country to compete. I have won a PS3 an Xbox and a Gamecube as well as $1000+ from tournaments and money matches.

Summary:
I believe that my experience in the coding well qualifies me for a programmer's position (which i would gladly accept), but I am very willing to take a position in the Testing/Quality Assurance department. As a coder myself I understand many of the inner workings of the game. In the game development community you try to make the game as perfect and as balanced as possible. In the competitive game community the whole idea is to "break" this perfection. To find out something that is cheap. In a sense it is the developers vs the "competitive" gamers. I know both sides very well. I can make as well as break games. I believe this is exactly what you should be looking for in a good tester.

Thank you for your time.


Don't get me wrong I DO want to finish my degree. But i do need money soon. I would just rather have a job in the industry so i can say that i have industry experience rather than burger flipping experience =)

[Edited by - jchmack on September 9, 2007 12:04:43 AM]
Promit
Promit
What languages do you know? How well? What graphics APIs? How well? Do you have a demo that you can show right now? Do you have any prior work experience, like internships or even totally unrelated stuff?

Oh, and degrees "in the field" -- that is, degrees in game programming/design/whatever -- are not worth jack squat.
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
jchmack
jchmack
Quote:
Original post by Promit
What languages do you know? How well? What graphics APIs? How well? Do you have a demo that you can show right now? Do you have any prior work experience, like internships or even totally unrelated stuff?


Languages:
C++ (proficient) Java (proficient)

Graphics API:
I have Dabbled in both OpenGL/DirectX I have a decent knowledge of both. I consider myself very proficient in using the Ogre3d library which uses both.

Demo:
i have 3-4 Small Games and My College Homework Helper (an app i wrote to do and show the work for alot of my college classes).

My latest engine is described in my resume:

Quote:

My latest game takes advantage of many of the latest technologies. I use an extensive amount of open source libraries: Torus Knot's Ogre3d (Graphics), AGEIA's PhysX engine(Physics), Rakkarsoft's Raknet(Networking), Fmod's FreeSL(Sound), OpenAL(Sound). My game features an ability Scripting engine which allows users to create Abilities without typing a single line of code. I have experience in just about all aspects of game programming(3d ,AI/Path-finding, Networking, Physics, and more). I am familiar with many of the newer Technologies in Game Devlopment. I am very interested in Normal mapping and Dead Reckoning network programming. I am planning to compete in many game development contests with my latest engine.


Prior work:
Nothing other than usual college student stuff. Food Services....

Quote:
Original post by Promit
Oh, and degrees "in the field" -- that is, degrees in game programming/design/whatever -- are not worth jack squat.


When i finish my degree i was Planning to go to SMU's Guildhall and get a design degree. Would you not recommend this lol?
Promit
Promit
Quote:
Original post by jchmack
Languages:
C++ (proficient) Java (proficient)
In that case, expect to get grilled on C++ during interviews, and heavily. Systems level stuff and implementation details are particularly important. By far the most popular question in my experience is about how virtual functions work, both semantically (ie what do they do for you) and in actual implementation (what is the object layout, what code does the compiler generate that makes it work, etc). String manipulation and linked lists seem to be popular too. It helps if you understand implementation details related to multiple inheritance, as well. For example:
//This program will probably crash. Where and why?class A{public:    ~A() { }    int x;};class B{public:    ~B() { }    int y;};class C : public A, B{public:     ~C() { }     int z;};int main(){    A* a = new C();    delete a;    B* b = new C();    delete b;    return 0;}
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
jchmack
jchmack
Quote:
Original post by Promit
In that case, expect to get grilled on C++ during interviews, and heavily. Systems level stuff and implementation details are particularly important. By far the most popular question in my experience is about how virtual functions work, both semantically (ie what do they do for you) and in actual implementation (what is the object layout, what code does the compiler generate that makes it work, etc). String manipulation and linked lists seem to be popular too. It helps if you understand implementation details related to multiple inheritance, as well. For example:


hmm i must admit i do feel a bit more unprepared. I do feel like i have a good handle on strings and lists. I haven't taken my class on compilers yet so i can't exactly tell object layouts. As for your problem with the multiple inheritance i was curious so i tried to compile it and i get a type cast compile error:

error C2243: 'type cast' : conversion from 'C *' to 'B *' exists, but is inaccessible

but i do understand that the order of inheritance matters

class C : public A, B vs class C : public B, A.

Do they really ask this much of entry level QA guys lol? Geez im not even trying for programmer... How would you recommend i prepare then?
ToohrVyk
ToohrVyk
Quote:
Original post by jchmack
but i do understand that the order of inheritance matters


The problem here is not related to order of inheritance (though multiple inheritance does play a role).

dave
dave
I was asked to do an exam where i had to fill out the missing parts of a program (which was lots and lots of code such as largely unwritten containers) within a time period. I would expect you to have something similar to this. It involved alot of overloading of operators and knowledge of STL.
JohnBolton
JohnBolton
Quote:
Original post by jchmack
... But i do need money soon. I would just rather have a job in the industry so i can say that i have industry experience rather than burger flipping experience =)


It is not easy getting into the video game industry - even if you are qualified. If you need a job soon, then it wont hurt to look for a video game job... but don't hold your breath.

Your biggest asset is your 3-4 games and whatever applicable knowledge you might have (however, keep in mind that you have no real experience). Your biggest liability is the lack of a degree.

Now, about your "resume". It's not bad, but you wrote a cover letter, not a resume. Find out how to write a resume.
John BoltonLocomotive Games (THQ)Current Project: Destroy All Humans (Wii). IN STORES NOW!
rollo
rollo
Promit's example is exactly the kind of question you will probably run into. I would also suggest freshing up on time complexity (big O) for most common algorithms and containers, if its been a while since you studied that.

As mentioned, your "resume" is way too wordy. This tells me a lot more about you:

Quote:

Languages:
C++ (proficient) Java (proficient)

Graphics API:
I have Dabbled in both OpenGL/DirectX I have a decent knowledge of both. I consider myself very proficient in using the Ogre3d library which uses both.

Demo:
i have 3-4 Small Games and My College Homework Helper (an app i wrote to do and show the work for alot of my college classes).


If you have the time I would suggest learning at least one more language. Something like Lisp, SML, python/ruby/lua etc (don't you do any functional programming in you CS program??)

EDIT: you don't have to get that language to an "expert" level, but it shows that you are open minded and interested in programming.
Eitsch
Eitsch
god...what's goin on with this example?? second destructor fails - but why?
rollo
rollo
Quote:
Original post by Eitsch
god...what's going on with this example?? second destructor fails - but why?


I assume he meant:
class C : public A, public B
otherwise its not going to compile (at least on GCC).

The problem is that we need to declare A and B's destructors virtual, that way we get the proper behavior.

Normally (single inheritance) if you forget this the destructor called for
delete b;
is only B's destructor (it wont care about the fact that its actually C), and normally this would only mean that whatever resources were allocated in C are not freed. However, since this is multiple inheritance the layout of an object will be different than for single inheritance. a and b will be set to point inside the C structure, but with different offsets. a is of class A and the first in the inheritance list, so it gets a zero offset (which is why its destruction doesn't crash). b on the other hand gets an offset because normally the class (C) would be stored something like this in memory:
 ---------| class A ||---------|| class B ||---------|| class C ||---------|


This means that when we call the destructor for B it wont call C or As, and will try to deallocate memory in the middle of an allocated block, which causes it to crash. At least I think so ;D this is a bit hairy, did I get it right?
yaustar
yaustar
Quote:
Original post by jchmackDo they really ask this much of entry level QA guys lol? Geez im not even trying for programmer... How would you recommend i prepare then?

No, everyone is assuming you are aiming for an entry level programmer position which is what you should be aiming for. After you graduate your CS course, you should be on course to aim for an entry level programmer position.
Steven Yau
[Blog] [Portfolio]
ToohrVyk
ToohrVyk
Quote:
Original post by rollo
This means that when we call the destructor for B it wont call C or As, and will try to deallocate memory in the middle of an allocated block, which causes it to crash. At least I think so ;D this is a bit hairy, did I get it right?


Yep.
Obscure
Obscure
Quote:
Original post by jchmack
Is it possible for me to get a Game Development job now... without a degree or previous work in the industry?
Same question was asked just last week. You should read http://www.gamedev.net/community/forums/topic.asp?topic_id=462898. Also you are asking the wrong question - anything is possible. What you need to know is how probable it is.

Dan Marchant - Business Development Consultant
www.obscure.co.uk
Promit
Promit
Quote:
Original post by rollo
Quote:
Original post by Eitsch
god...what's going on with this example?? second destructor fails - but why?


I assume he meant:
class C : public A, public B
otherwise its not going to compile (at least on GCC).
I did, yes. Slight transposition error. Your assessment of what's happening here is also correct.

Oh, and I'm not trying to show off. This is an abbreviated version of a question I was actually asked on an interview on Friday. The problem is that you, like I*, have no real experience, and game companies have limited amounts of time to spend on bringing someone up to speed on the basics. Asking questions like this lets them figure out if you actually know anything about the language or just wrote a few bits of code in it. I've been questioned on the opposite end of the spectrum too, with templates and STL/boost and junk, but the details always seem to be much more popular.

* Grammar nazi check. Is the use of "I" correct here?
SlimDX | Ventspace Blog | Twitter | Diverse teams make better games. I am currently hiring capable C++ engine developers in Baltimore, MD.
rollo
rollo
should be "me" I think, but I'm not a native english speaker.

This is a pretty tricky question, and to be fair, personally if I was judging an applicant I'd be ok with them saying that it would break unless you declared ~A and ~B virtual. Actually saying why and how it crashed is more of a bonus point. I'd be worried if they said the code looked fine though :S
SiCrane
SiCrane
To be nitpicky, on a lot of compilers and runtime environments with a non-debug build, it won't actually crash for that short program. However, it would probably corrupt the heap, which would probably then make the next memory allocation or deallocation crash.
Oluseyi
Oluseyi
Quote:
Original post by Promit
The problem is that you, like I*, have no real experience...

* Grammar nazi check. Is the use of "I" correct here?

Yes. The simple way to check is to explode the statement into more explicit clauses:
"You, like I, have no real experience..."

becomes
"You have no real experience like I have no real experience..."

This makes it trivially clear that "me" would be an inappropriate substitute pronoun.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.