Programming Demo standards

ChuaChua

Member
Dec 20, 2002
178
0
0
Hello all,

I am a recent graduate and I am looking for a programming job (or tester/documentation) and I am preparing a program sample.

However, I don't know what sort of things employers look for in code samples. I know good readable code with good documents are the first thing.

Here is what I have so far:

1)Inverse kinematics demo
-A multi jointed arm will move towards a box using Jacobian matrix entries to direct the join rotation to move the arm towards the goal

2)3D framework
-Loading and displaying triangle meshes using SDL, OpenGL, C++.
-The program loads a mesh in OBJ format and forms the meshes and loads them into a VBO or a generic triangle soup and draw using glBegin/glEnd. You can switch to VBO drawing or glBegin/glEnd drawing.
-The program can load Lua scripts and some of the functionalities are exposed to Lua such as the mesh loading and the position of the entity
-Do bounding volume processing on the vertices so an axis aligned bounding box can be displayed around the mesh
-Bare Octree implementation (no traversal yet)
-"managers" which manage the scene by adding/removing entities such as camera, mesh, etc.
-simplified SDL event handling

The ultimate goal would be:
-physics engine with collision and force accumulators


Questions:
1) Should I concentrate on a smaller demo such as the ones found in Nehe site and other sites like that?

2)What sort of things impresses the code reviewers? Knowledge of OpenGL extensions, algorithms, efficient code, or good OOP?
For example, should I focus more on the real-time performance with memory pools, and other CPU/cache/memory efficiency or on the topics such as mesh subdivision and stuff like that?

3)Go vertical or horizontal?

The reason I wanted to go big is because of the economy. I want something that can wow potential employers, not just show that I know the basic, to put myself ahead.
I submitted my resume and demo to employers, but Google analytics don't show I got much traffic.

Any advice?
Cheers
 

Ka0t1x

Golden Member
Jan 23, 2004
1,724
0
71
I'm not up to snuff on interviews for development into OpenGL/etc, just mainly web apps. However the 'wow' factor definitely helps. I don't know the time investment it takes to do some of the things you're wanting to do simply for demos, but I would suggest working up to something fairly sized if its going to take that long to land an interview.

When I was interviewing for my current job, I coded a simple CMS with PHP/MySQL while I was sitting in line waiting for an interview.
 

brandonb

Diamond Member
Oct 17, 2006
3,731
2
0
Most people I know who get hired try to offer coding to companies, but 90% of them refuse and don't want any. I had one company take my coding demo but I found out later on they didn't even bother to look at it (they hired me too.) A game company I applied did look at my code, but they were much more interested in running what I had (in .exe format). I opened my code and scrolled through it briefly (for 5 seconds) and their programmer said "Yep, it's C++ code" and we moved on.

I do the hiring of programmers at my company, and my experience with most programmers is that they come out of school knowing next to nothing. It almost half the people that come in looking for a job have no experience programming what so ever like they just came in and applied off the street without any experience or school, even though their resume says they went to whatever college.

I don't even ask for code because I find that pointless, people bring in whatever, try to impress you, then when they get hired they fail to know the basics even though their sample had the basics. Half the time I sit there scratching my head, not knowing where they got the code because it wasn't theirs. Only to have to fire the people 3 months later after probation period expires.

To tell a story, way back in the late 90's, I made my own HTML editor in VB. I named it "Site Maker" (I never released it to the public it was just for my internal use), a friend of mine said he knew someone who wanted to be a programmer and I should talk to him. I went there and gave him "Site Maker" and the source code. Telling him it was a simple project he should look over and figure out exactly what it was doing because it covered the basics. Then he should make his own program, be it blackjack, poker, whatever, using some of those principles and use that for a job if needed. I told him to call me up and I can look it over, help him out. I never heard from him and forgot about him. About 2 years later, my company was hiring, and he submitted his resume and his sample code. The name did not ring a bell to me at the time, but his sample code did, it was "Site Maker." The only thing he did was change the name in there (Programmed by Brandon B) to his... I told my boss the story and we promptly threw away his resume.

Most places just want you to fill out a 10 question programming test. Just covering the basics: I wrote the one we have at my company, and here is a sample of what I ask: (This is our .net test btw)

6. Serialize in .Net allows you to do what?

a. Send data through the serial port.
b. Convert objects into binary streams.
c. Clears the variables and classes in memory and gives you a fresh copy.
d. Encrypts your data.

7. Which of these .Net Namespaces are part of the .Net Framework?

a. Data.Query
b. Application.Runtime
c. System.IO
d. System.Reflection

8. What is the difference between a System.Collections.Generic.List and System.Collection.Generic.Dictionary?

a. List is faster with a large amount of data.
b. Dictionary uses a key/value pair, the list is only values.
c. List uses a hashset so sorting can be done.
d. None of the above.

9. If you are debugging your code and looking at Call Stack, what are you looking at?

a. Local memory.
b. Global memory.
c. A place where you can insert commands to try them out.
d. The hierarchy of functions you are in.


Any noob who has never programmed probably has no idea how to answer, and that is all I'm trying to filter out. ;)
 

Cogman

Lifer
Sep 19, 2000
10,286
147
106
bandonb, Good to know, I'm still in college, but I could answer pretty much all the questions. (even though I have next to no training with .net.. lol)

It is shocking how many people are in my graduating class, we are juniors, and many of them struggle with the concepts of if statements.. It's really sad. I'm considered a wiz because *gasp* I'm willing to actually READ the msdn. All the sudden its like I can do black voodoo magic because I know how to use CreateThread and EnterCriticalSection.

What's funny is many in my major (Computer engineering) take it to get away from programming, then all the sudden, they find themselves in a world of hurt when we start using verilog.

Anyways, just thought I would throw in my two bits. I don't know how half the clowns in my classes have made it as far through the program as they have (Well, I know how some of them do it, they leach off of other students like there is no tomorrow. I really hate leaches)
 

ChuaChua

Member
Dec 20, 2002
178
0
0
Thanks for the long answers.

I've seen a bunch of postings from co-op jobs and postings on company sites and some wanted code samples. Also, my GPA isn't great so I wanted a stronger skill than doing well on assignments and exams.

I'm just getting ready for the spring hiring cycle...if it still exists.

I had a summer internship at a game company and they have a 2 day interview, where they give you a sample level and you must use their SDK to come up with a demo/game. The art department does the same thing. I think that's a bit better than interview questions, so you definitely know how fast the person can learn and what sort of things he or she can do in a day of programming.