How much do employers value XNA projects on a programmer's resume/portfolio?

Started by
11 comments, last by zer0wolf 14 years, 4 months ago
First, I invite anyone to give feedback/comments on my current project and resume: http://code.google.com/p/skyblocks/ http://ryangee.hostzi.com/ It's internship season and I've been working in overdrive to make time to work on an XNA game to have at least one completed project on my resume. I chose XNA because of time limitations. I wanted something that could showcase my ability to write a finished, polished game, but using C++ and DirectX would have been much more difficult to get a project done in 2 months while taking very time-consuming classes. For reference, I started Skyblocks on Nov 18th, so I think I'm moving along at a reasonable pace. However, I understand that this does not show a potential employer that I can jump into their C++ & DirectX / OpenGL codebase and contribute on day 1. I have a working knowledge of C++, but I don't think it's necessarily enough yet. I have a reading knowledge of DirectX, but I wouldn't call myself totally capable yet, either. My question is: Where does this leave me in the eyes of an employer when applying for an internship in games? I'm not asking anyone to predict my success or failure. I'm in need of advice on how to best allocate my time. This XNA project over the last 10 days or so has cost me 99% of my free time. I'd like to spend that as productively as possible. Thanks!
Advertisement
(Not an employer)

Looks good to me, but I'm personally missing screenshots. I heard it's better to shove images of your projects into people's faces.

The list of your projects is really cool, I think adding an image to the left of them would be helpful to give a quick impression what it is.
I've got that here: http://ryangee.hostzi.com/game_projects.html

However, that tells me that I should probably make the game projects page the first thing you come to upon clicking projects. :) Or make the link more obvious. Or, even make the pictures on said page more obvious. Thanks!
Kib wrote:

> How much do employers value XNA projects on a programmer's resume/portfolio?

Twelve frets.

>Where does this leave me in the eyes of an employer when applying for an internship in games?

In Baltimore (not near many game companies). It'd be better if you lived in Austin or Seattle or Los Angeles or Research Triangle Park or San Jose or Salt Lake City...

>I'm in need of advice on how to best allocate my time. This XNA project over the last 10 days or so has cost me 99% of my free time. I'd like to spend that as productively as possible.

So, you're saying that you really didn't enjoy making that game. If that game doesn't get you a job (read "internship"), you're saying, then it was a waste of your time.

That's the wrong attitude.

ONE little demo doesn't a portfolio make. You need to stop worrying that you're wasting your time, start enjoying the craft you've said you aspire to, and start doing the things that'll get you where you want to be eventually. It won't be as easy as a quick 10-day project; it won't be instant gratification. It's a long journey that you've embarked on; you might as well not spend it decrying what the journey entails.

-- Tom Sloper -- sloperama.com

A completed game with actual gameplay and perhaps even a victory condition always impresses me, even if it's written in TI-Basic. You are correct that it will tell your prospective employer little about your facility with C++. Expect for them to test you, either with a take-home test, interview problems, or both. That will likely be their primary consideration, but a project that shows a genuine enthusiasm for game programming may help you get the interview in the first place.

I glanced briefly at one of your source files. If I had been interviewing you, I would have asked you to defend your decision to store block position in matrix form in your Block class. Can you propose something else that is cheaper in memory and about equal in time?

As far as being tested goes, study up on problems that require facility with pointers, like implementing standard operations on a linked list. These often trip up programmers who come from a pure Java/C# background.
-david
Tom, I agree that I need to try to measure this a bit less and start loving it more. I'm definitely stressing because my portfolio as it stands is not enough and time is running out. However, I definitely don't expect instant gratification and I realize this project is practically in its infancy.

My only concern is that I'm working in the wrong direction and I'm going to wish I went the C++/DirectX route. The only reason I didn't is because I would probably have a half-complete demo to submit instead of a basic, but complete demo. My ultimate plan is to use the C#/XNA version as a proof of concept and port it to C++/DirectX afterwards. I'm just very concerned with what this demo says about me because for this internship season, it's all that I'll have. I guess that means it better be great!

I will try to better understand the value of what I'm doing though.

Also, thanks Muse. That's definitely something I need to work on.
Quote:Original post by kibokun
My only concern is that I'm working in the wrong direction and I'm going to wish I went the C++/DirectX route.

Waste less time worrying and spend more time trying out stuff. Go ahead, use XNA. Go ahead, use C#. At some point, you'll need to use other languages and environments too. Everybody starts somewhere. Not everybody can (or has to) start in the same place.

-- Tom Sloper -- sloperama.com

If it matters at all, I got my start using XNA and C#. Heck, I still am using those for my job. The internship I got wasn't game related, but was doing programming and was all because of my C# skills and ability to finish projects. Then I moved on to doing game contracting where I spent six months working for one company (working on this which was all XNA and C#) and now I am doing contracting work making games for the Zune HD (again with XNA and C#). I'm making games and loving it. They aren't the AAA titles on store shelves, but it's still fun.

C++ is a valuable skill. But so is being able to learn multiple things and finish projects. If C# lets you finish projects alone, I'd say stick with that. Anyone can start a bunch of projects, but employers generally like seeing that you can stick with a project and finish it.
Quote:Original post by Tom Sloper
>I'm in need of advice on how to best allocate my time. This XNA project over the last 10 days or so has cost me 99% of my free time. I'd like to spend that as productively as possible.

So, you're saying that you really didn't enjoy making that game. If that game doesn't get you a job (read "internship"), you're saying, then it was a waste of your time.

That's the wrong attitude.

Of my objections to your FAQs, Tom, this is probably the epitome. You've made clear before your lack of programming expertise (here, here and elsewhere), but this seems to have no bearing on your perspective on the subject - essentially porting over your assertion that "Is this a good task to which to allocate my time?" equates to "i cbf doing this unless i have to, will this get me on the halo team?".
What's the closest thing to real (risking a major cliché here) programming you've involved yourself in - Flash? Maybe prototyping on DarkBASIC or Unity? (which seem to be emphasised as dirty throwaway-prototype tools for game designers in schools such as Qantm, as far as I'm aware) As far as my observations go, you even seem largely unaware of the design phases of the SDLC - that drawn-out phase programmers undertake once they have some semblance of a game design doc handed to them by game designers.

I bring this up not seeking to undermine your knowledge of game design - where I gather you're extremely experienced and adept - but to bring some sense to the brutal task you seem to be unwittingly feeding to novice programmers. Game programming is hard, several orders of magnitude more difficult than any prototyping tool you've ever used that handily abstracts every fundamental mathematical and algorithmic "implementation detail". Large projects can contain hundreds of thousands of lines of highly optimised code, covering extremely complicated physics/graphics/AI concepts in makeshift (thus often more complicated) solutions, and binding several complicated modules and libraries into an even more complicated whole - and then there's the computational complexity and therefore QA problem guaranteeing a healthy onslaught of bug reports.
Putting that into perspective, understanding the languages and libraries themselves is a monumental task. C++ reportedly takes the larger part of a decade for the average programmer to "master" (a daunting undertaking for a language which may not reign supreme in a decades' time - not to mention the further confusion of managed-language (Java, C#, Flash?) prevalence in non-AAA development spheres), and that's before contemplating OpenGL, DirectX, the large swathes of middleware, etc. There are thousands of satellite technologies out there vying for game programmers to jump on-board - an absolute microcosm of which a programmer will ever be capable of coming to understand - which makes for a field in which a novice can easily lose their way.

Where I'm going with this is, the technologies a programming student allocates his or her time to understanding are a major concern that demands more insight than you're bringing to the table. This is a subject developers and university lecturers debate at length - it is not something a novice can address with sheer determination.


To the OP, I do think you should keep going with the XNA project, but not based on Tom's rationale. XNA and DirectX still share a close relationship, and common theory that will be very important to you as a game developer. Also, C#/XNA potentially exposes your efforts to the XBLM distribution avenue should you choose to go that way. In all likelihood, you are learning a very useful API which may outlast DirectX.

A C++ project would look good in the portfolio, though. I'm positing the difficult task of straddling the C#/C++ divide, here - as it is the age we live in - but it would be impressive if you could successfully port a finished game from C#/XNA to C++/DirectX. Or C++/OpenGL - in fact, as OpenGL has multi-platform prospects, this might be better.
Don't let any of this forestall the C#/XNA version, though.


EDIT: redacted false information on X360 development, as per zer0wolf's post.

[Edited by - Fenrisulvur on November 28, 2009 7:04:06 PM]
I've read through that last post twice now, and I'm still failing to see any sort of genuine rebuttal to Tom's advice. He stated that feeling that spending X amount of time working on an XNA project isn't a waste of time just because it won't necessarily directly lead to a career in game programming. Of course it isn't a waste of time, so I don't see how it was bad advice.

Yes, game programming IS hard. A programmer has to take a number of steps before they can arrive at any sort of level of "mastery" at programming. Completing a C#/XNA game, even if doesn't directly afford the OP a job, provides a number of benefits:

* It demonstrates the ability to follow through on a project.
* It demonstrates the ability to take a given set of technologies (in this case C# and XNA) and apply them towards the development of a game.

Trying to refute the importance of these two (very big concepts) is dumbfounding.

BTW, C++/XNA is NOT the "AAA Xbox 360 dev route". XNA is built around working with C#, not C++. Also, XNA is designed for ease of use and productivity, not efficient use of the Xbox's system resources. Commercial retail and the majority of XBLA titles are developed in C++ with DirectX (or purchased middleware, which is going to be based around those technologies). This is not to negate the usefulness of developing with C#/XNA, mostly due to the reasons I gave earlier.
laziness is the foundation of efficiency | www.AdrianWalker.info | Adventures in Game Production | @zer0wolf - Twitter

This topic is closed to new replies.

Advertisement