What code should I show/send

    This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

    • What code should I show/send

      I want to apply for a job in a game company, but on their website, it says that applying "programmers should include code samples to their [job] application."

      I understand when employers say that they want to see a portfolio for an artist. It means the artist has to show assets, drawing or concept arts. But when it comes to programming, what code should I show the employers?

      Should it be something random because they want to see my coding style, or should I submit that will get their attention? If it's the latter, what will get their attention?

      They probably don't want to read through an entire project's worth of code. They don't have the time nor the patience to read through it all (I know I don't).
    • RE: What code should I show/send

      You should send them some small piece of code you wrote. A self-contained class or function is probably fine. They're probably looking for style, consistency, etc.

      Personally, I think asking for code samples up front is useless since people will just clean up and polish some perfect example. I'd much rather see the code someone is using for a demo project because it's closer to what their production code will look like. If you get the interview, you should bring your laptop with all of your projects on it so they can see real samples of your code.

      -Rez
    • RE: What code should I show/send

      Originally posted by rezination
      You should send them some small piece of code you wrote. A self-contained class or function is probably fine. They're probably looking for style, consistency, etc.

      Personally, I think asking for code samples up front is useless since people will just clean up and polish some perfect example. I'd much rather see the code someone is using for a demo project because it's closer to what their production code will look like. If you get the interview, you should bring your laptop with all of your projects on it so they can see real samples of your code.

      -Rez


      Out of curiosity, how do you decide who to interview? If you don't look at any of their code beforehand, are you basing it solely on the quality of their resume/cover letter?
    • There are usually four stages. The first stage is just keyword matching that HR does. If we need a C++ programming and resume doesn't list it, it gets rejected. We never see 2/3 of the applicants. In the second stage, we look at the resume and decide if the person has the qualifications we want. I'd say about 1/3 to 1/2 are cut here. Then we setbup phone screens. It's a short phone call where we ask a few questions to guage their technical knowledge. This culls out another half of the candidates, sometimes more. The rest come in for an in-person interview.

      The in-person interview is where we ask the hardcore tech questions and have the candidate write code on the board. The goal is to watch them think. This is usually all day, from about 10 or 11 in the morning to around 4 in the afternoon. They interview with multiple people. We probably get 30+ candidates who apply and end up doing an in-person interview with four or five from that group. Of those, we tend to average about 0.25 hires.

      I honestly don't care about the coding style of the candidate. That's the easiest thing to make them change. It's much harder to teach them things like data structures and programming insincts.

      -Rez
    • If you do have a demo ready, I'm happy to look at it and provide feedback. If I think you're ready, I'll even submit your resume to EA recruiters. Just ask James how well that worked out for him.

      -Rez
    • Is demo will help candidates during the process of getting job? I mean that a candidate can fail on one of those 4 stages (don't have certain knowledge or haven't solved some task during the interview etc). Will some nice application work as a bonus?

      Asking this because I'm always terrible at interviews. Like solving tasks when no one stares at me with the timer :)
      Looking for a job!
      My LinkedIn Profile

      The post was edited 1 time, last by devast3d ().

    • We usually reject people without a game project and no game experience during the resume stage, so they never get a call. Having a demo project is critical and is the most important thing you can do. We download them, play them, and use them to guide our questions.

      -Rez
    • As an aside (I don't want to derail this thread too far): Does anyone know a good way/place to learn data structures? Maybe a good book on data structures? My background in coding is almost entirely self-taught (a couple formal courses, but not much theory), so I know some of the more basic data structures like arrays, linked lists, queues, but I don't know much about trees and graphs (unless "graph" means .

      On a more related topic: Rez, by "game experience," what do you mean in particular, especially for a junior position? Just experience coding on a game before? Would you expect them to have professional experience in game coding or just personal game demo experience or professional experience coding not in games?
    • Originally posted by rezination
      We usually reject people without a game project and no game experience during the resume stage, so they never get a call. Having a demo project is critical and is the most important thing you can do. We download them, play them, and use them to guide our questions.


      So what you're saying is that I should really have a demo, or is this just because it's EA/Maxis and it's a big company.

      Here's my situation:
      I am currently unemployed and I am looking for a job in the game industry. I have a college degree in computer science (I think. Quebec's school system is weird), but I don't have a demo ready or even close to be finished.

      I could either get a small job (fast food or something) easily and continue working on my demo and/or video game and when the demo is finished, apply for jobs with a demo.

      or

      I could get a boring job in a programming position which has nothing to do with video games and work on my demos. But in this situation, I would get tried of programming since I would be doing it both day and night.

      or

      I could send over 50 (seriously, I have over 50 tabs open in Firefox) job applications in the game industry in positions that interest me and hope that one company responds to me. Not like Ubisoft who haven't responded in a month and a half, and it still says that my application is "under review".

    • As an aside (I don't want to derail this thread too far): Does anyone know a good way/place to learn data structures? Maybe a good book on data structures?

      Data Structure for Game Programmers is a good intro book that teaches you the basic fundamentals of a few core data structures used commonly in games. It's not very complete, but it's a good intro.

      I'm self-taught as well. I learned data structures by reimplementing the STL and using it on two or three projects. This forced me to learn not only the basic structure of these data structures, but also how to effectively manipulate them. I had to build a red-black binary tree for maps, deal with resizing vectors if they get too big, figure out how to write a hash function for a hash map, etc. It's critical that you not only understand these data structures, but that you know when, why, and how to use them. When is a hash table appropriate? When is it not appropriate? When I interview people, I dig into data structures quite a bit. My first few questions usually weed out half the candidates (at least).


      On a more related topic: Rez, by "game experience," what do you mean in particular, especially for a junior position? Just experience coding on a game before? Would you expect them to have professional experience in game coding or just personal game demo experience or professional experience coding not in games?

      It depends on the position. The games industry is a paradox: you have to prove that you can make games before anyone will take a chance on you. For an entry-level position, I want to see 2 -3 finished game projects where you were a significant contributor. It should have all the things a finished game has, like a main menu, sound effects, graphics, gameplay, and at least one level that can be completed. I want about 5 - 10 minutes of polished gameplay. Now, the graphics can be programmer art or stuff snagged from other games. The sound effects can be you blowing into a microphone or even sounds stolen from Windows, but they have to be there. I need to see that you can load assets from a disk. Remember, homework doesn't count. These need to be complete side projects.

      Once you have professional experience, it's less important because you've already proven that you have what it takes. Once you have your name in the credits of 1 - 2 professional games and have worked for over a year in the industry, you're officially in the club and finding a job in games is just like finding any other highly competitive job. That is: it's difficult, but not impossible.


      So what you're saying is that I should really have a demo, or is this just because it's EA/Maxis and it's a big company.

      You should have a demo. It doesn't matter what company I'm at, I usually pass on entry-level candidates who have nothing to show. I can do that because there are 10 other candidates who DO have something to show.

      Here's the thing: entry-level resumes all look exactly the same. You have your name, you list some languages and some skills that everyone else lists (Visual Studio, C++, Java, SVN, Unity, etc.) Then you list some internships or other simple things you've done, and then maybe some class awards. At EA, we get literally hundreds of those every single day. Even at a small company like Super-Ego Games, we'd post one ad on Craigslist and get 30+ resumes within 2 - 3 days. They all look pretty much the same.

      It gets better. Most of those resumes are, at best, an embellishment. Many are outright incorrect. I have given dozens of interviews to candidates with "Expert Level C++" on their resume. Then I write this:

      Source Code

      1. struct Node
      2. {
      3. Node* pNext;
      4. int data;
      5. };
      6. Node* g_pHead;


      The look on their face is priceless. It's like I'm multiplying Node and pNext together and not assigning it! What's that magical * operator! Some will admit "I'm not that familiar with C++", to which I respond "why did you put 'exper level C++ on your resume?'". Instant black mark. If you're not comfortable answering questions on a language, why are you putting it on your resume? I routinely remove languages from my resume that I'm no longer comfortable with.

      And this isn't an isolated incident. Nine out of ten candidates are like this. I love it when they have Assembly Language on their resume. "Write a proc in x86 Assembly that takes in two numbers and returns the first number raised to the power of the second number." Or even just "write a loop that counts to 10". Of course, I only do those evil things when they insist they know it and I can tell that they don't.

      So, the moral of the story is that I don't trust resumes. Ever. Especially entry-level programming resumes. I need to see something working. I need you to prove to me that you're a finisher, that if I give you a task you will actually complete it to the best of your ability rather than half-ass something that kinda works. I need to see passion, which is something I can't teach. I need drive, determination, and a willingness to do whatever it takes to get the job done. Remember, most companies would rather have no one than someone who's a bad fit.


      Here's my situation:
      I am currently unemployed and I am looking for a job in the game industry. I have a college degree in computer science (I think. Quebec's school system is weird), but I don't have a demo ready or even close to be finished.

      I could either get a small job (fast food or something) easily and continue working on my demo and/or video game and when the demo is finished, apply for jobs with a demo.

      or

      I could get a boring job in a programming position which has nothing to do with video games and work on my demos. But in this situation, I would get tried of programming since I would be doing it both day and night.

      or

      I could send over 50 (seriously, I have over 50 tabs open in Firefox) job applications in the game industry in positions that interest me and hope that one company responds to me. Not like Ubisoft who haven't responded in a month and a half, and it still says that my application is "under review".

      I honestly don't know how to answer this. You need to do what you feel is right. I know that if I saw your resume, I would probably pass on it because you have nothing to show. Other developers are different.

      What do you want to do? Gameplay? Graphics? Physics? Sound? Tools? Something else? Choose wisely, because your answer will shape my advice.

      -Rez
    • Originally posted by Dude888
      Originally posted by rezination
      We usually reject people without a game project and no game experience during the resume stage, so they never get a call. Having a demo project is critical and is the most important thing you can do. We download them, play them, and use them to guide our questions.


      So what you're saying is that I should really have a demo, or is this just because it's EA/Maxis and it's a big company.

      Here's my situation:
      I am currently unemployed and I am looking for a job in the game industry. I have a college degree in computer science (I think. Quebec's school system is weird), but I don't have a demo ready or even close to be finished.

      I could either get a small job (fast food or something) easily and continue working on my demo and/or video game and when the demo is finished, apply for jobs with a demo.

      or

      I could get a boring job in a programming position which has nothing to do with video games and work on my demos. But in this situation, I would get tried of programming since I would be doing it both day and night.

      or

      I could send over 50 (seriously, I have over 50 tabs open in Firefox) job applications in the game industry in positions that interest me and hope that one company responds to me. Not like Ubisoft who haven't responded in a month and a half, and it still says that my application is "under review".


      A programmer without a program is like an artist without art, you really need a demo. You have to bring attention on you. Doing a demo will also show you if you like doing games or not. It will also show you which part of a game would interest you and they you could focus on that.

      Sending resumes like that would be useless. You could also signup as a game tester instead and try to be hired at Ubisoft Montreal. Once you're inside, if you still work on your demo you will know who to show it to.
      MCSE/MCDBA/Programmer C,C++,PERL,PHP
    • Originally posted by Slayerizer
      You could also signup as a game tester instead and try to be hired at Ubisoft Montreal. Once you're inside, if you still work on your demo you will know who to show it to.

      I'm glad you mentioned that, you're absolutely right. I started out many years ago as a game tester. It's hard work, but it gets your foot in the door.

      -Rez
    • So what I can see from this thread is that for getting job one should have:
      • Be confident with at least C++
      • Know data structures inside out
      • Write only truth in the resume
      • Couple of projects and/or demos finished


      And these items are not nice-to-have's but strictly a must-have's!
      Sounds like a plan! I understand that other things like courses and education is not that important, right?
      Looking for a job!
      My LinkedIn Profile
    • I think it depends on the person reviewing your resume. Personally, I ignore the degree entirely, but I'm also self-taught so I'm in the minority. Some people put more emphasis on it. I've interviewed people with masters degrees who had little or no practicle programming knowledge. I've also interviewed people with no degree who were smarter than me. It's a mixed bag.

      Education is like anything else: you get out what you put in. You should use education to help each you the fundamentals. If I had it to do over again, I would have gotten a CS degree. It took me a while to really round out my knowledge.

      -Rez
    • Originally posted by Dude888
      I could either get a small job (fast food or something) easily and continue working on my demo and/or video game and when the demo is finished, apply for jobs with a demo.

      or

      I could get a boring job in a programming position which has nothing to do with video games and work on my demos. But in this situation, I would get tried of programming since I would be doing it both day and night.

      or

      I could send over 50 (seriously, I have over 50 tabs open in Firefox) job applications in the game industry in positions that interest me and hope that one company responds to me. Not like Ubisoft who haven't responded in a month and a half, and it still says that my application is "under review".


      I would say take the non-game programming job while you work on your demo. Working as a professional software developer is still valuable experience, even if it isn't directly on a game. On the team I'm on, we have a few people who have no prior game experience, but did a lot of server/database work in the business world which directly maps over to the service part of our free-to-play game. Part of the reason I got my current job was my experience doing client/server work part-time at the place I interned. You never know how the experience from your non-game job might become relevant.

      Obviously take the game job if that option comes up though :)

      James