Advertisement

Any advice on a new programmer's Portfolio and CV?

Started by March 24, 2017 06:31 PM
9 comments, last by Bombshell93 7 years, 8 months ago

HI, My name is Scott R Howell, I am a programmer / game designer just entering the industry.

I've not been on this site in 3 years, but the community was a great help during my stupid years learning programming and the technical side of game development.
In my time missing I've been putting myself through a Game Design Degree of which I'm approaching my final year, over the course of this I've become convinced I am a capable programmer, trading conversation with some of the universities tutors and while networking at development events.

ORIGINAL:

Despite this I've not finished enough projects to build a convincing portfolio and I've not had experience writing a CV for a specialized job, so I thought I'd get advice wherever I could.

my CV as it currently stands can be seen here

my portfolio so far is slim, but as mentioned in my CV I am writing a javascript based game development framework (intended for portability and rapid prototyping),
so far it has been from scratch, it is multi-threaded and written in the interest of being somewhat modular, the logic thread and asset management thread being extendable and the renderer itself being a separated portion of the project.

Sample Demo (spinning box)

http://bombshell93.co.uk/games/sample.php

Documentation (JSDoc)

http://bombshell93.co.uk/js/out/

I know the portfolio isn't much, but that's why I'm here, is there any advice you'd give to a programmer on his first job search? would you turn away my CV for any reasons? what projects would you expect in a portfolio for a programmer with an interest in graphics programming and engine programming?

EDIT:

So I've made a Second Attempt at CV. This time I've tried to focus on what I can demonstrate, skills wise I have stuck to examples of how I've used my skills as opposed to what skills I suppose I have.

Any and all comments, criticisms and opinions are welcome and greatly appreciated,
Thank you for your time,
Scott R Howell (Bombshell)

Right off the top of my, without even looking at your CV or following your links:

I am writing a javascript based game development framework (intended for portability and rapid prototyping),

This almost always ends up equating to a relatively unimpressive portfolio piece, especially for a junior developer. Focus more on making a game than a framework.

Advertisement

As for your CV, my thoughts are

  • I'm personally not a fan of "about" sections, but that's subjective. However, objectively, this one seems way off the mark for a game developer; it focuses on your ability as a public speaker and academics more than anything else.
  • "Skills" list sections are relatively useless. Telling me what you have "experience" or ability with doesn't give me something meaningful to measure again. Your idea of "skilled with" and mine are likely very different. Your usefulness as a developer has nothing to do with the tools you can use; if you're any good, you can learn new tools easily. Your usefulness is about what unique experiences and knowledge you can bring to the table.
  • I'd be very, very careful of saying you have "considerable knowledge" of anything, especially rendering techniques, especially when the rest of your CV and portfolio don't show that.
  • You don't really talk about what you have programmed for ten years, or what's impressive or interesting about it. Duration and toolsets aren't that impressive, they don't set you apart.
  • Your education section is at least moving in the right direction, talking about stuff you actually did.

The single biggest problem with your CV is that you don't demonstrate any ability at all. It's more interesting to see concrete explanations of work you have done, problems you have solved, bugs you have fixed, programs you have built. What are they, why were they challenging to learn? What did you do?

I looked at your portfolio piece and I stand by my initial assumption that it would be unimpressive. A spinning box and some sort-of empty, Doxygen-style generated documentation is a very poor showing of your ability. I'd definitely focus on building yourself a simple little game that demonstrates the actual capability of your code to do the things that you want to do as a career. Unless your career goal is to be a spinning box developer, you're going to want to find something more game-like.

I guess what you actually want to include in your portfolio depends on what kind of job you wanna get.
On the one hand you're interested in game programming, on the other in Computer Graphics. Those are 2 completely different pairs of shoes, even if games "normally" have some sort of graphics.

If your aim is to become a game programmer, your best bet will probably to push some apps to mobile devices. The market is (obviously) exploding, and you can get pretty decent apps done pretty quick, it's often a matter of weeks or a few months.

If your aim is to become an graphics engineer, you might want to change your (current) goal. Your rotating box is quite unimpressive to employers, just because the people who are actually recruiting often don't have any idea how hard even simple & small things like this can be.
Rasterization includes alot of ugly tricks & hacks to produce decent images. Those will take you a while to develope. On the other hand, there are procedures such as Path Tracing or Photon Mapping, resulting in high quality images for your portfolio in maybe a few weeks of coding, however, you probably won't be able to present those in realtime.

I would decide upon how much time I gave myself to find an adequate job if I'd be in your position.

just wrote this out and the page crashed, happy thoughts, happy thoughts, happy thoughts

A quick word on the portfolio piece, its pants, I know it is, its so far 4 days worth of work, 1 of which was writing out the maths library the rest has been establishing a good workload distribution and communication method for javascripts workers.

laying out stuff I've actually done, I'm not sure how to lay it out in a cv.

summing up what I've done (split up as early, learning, and recent)

early
handful of half-complete game maker games, (where the interest started) a few toolsets and being part of a collaborative mmorpg project in game maker using 39dll. I then moved on to XNA where I made a handful of unpublished games, fps's, rpg's, platformers, mostly generic representations of genre's. I also got interested in graphics programming making my first deferred renderer in XNA. I also made babies first 2d physics engine in java along with a 2d sidescrolling platformer, unpublished.

learning
I wrote rendering pipelines in c++ and c#, using opengl and directx, containing, asset management, mesh batching, atlas batching, light propagation volumes, morph animation, skeletal animation, reflective materials, material editors, particle engines (because there's always at least 1 particle engine), voxel terrain, boxel terrain, height map terrain editors, point cloud rendering, z-prepassing, tangent mapping, parallax mapping, displacement mapping, tiled light sorting, shadow mapping, ambient occlusion, bloom, micro faceted light approximation, etc. I attempted to make a few engines, where I expanding my programming knowledge tackling multithreading, game object relationships, networking, low latency game loops, loading and saving files of various types proprietary and existing. I wrote a few 3d physics engines which grew increasingly complex, but I rarely used them for anything outside of a few playful experiments. I also spent a lot of time developing my skills as a 2D and 3D artist.

recent
talking about past 3~4 years wherein I decided this is what I wanted to do as my career, at this point I became far more confident in my ability to self teach through issues and my ability to learn new languages, tools and programming subject matter. as for things I did, I made a handful of Unity and Unreal games, becoming particularly familiar with Unity, I continued my experiments with game engine and tool development while applying for my current Game Design Degree. The course has seen me make design documentation, understand the design process for gameplay far better, get invested in the academia, make a handful of more complete though unimpressive games and has made me far more aware of networking opportunities in the games industry. I've also written 3 academic papers the third of which is being expanded for my dissertation, "What can we learn from Super Mario 64 about Game Feel and its Components", "Is Design For Intuition An Inherent Advantage Of Video Games", "The Professional Utility Of Game Jams".

tl;dr? I've made a lot of half-finished games, have invested a lot of time into expanding my knowledge of graphics programming and games programming, most of these projects have been scrapped between computers, I'm currently going through a degree for game design where chances for programming portfolio pieces are not as abundant.

How could I best convey that I have this experience and am capable of using it, in a way that would interest an employer?

EDIT

I would decide upon how much time I gave myself to find an adequate job if I'd be in your position.

in terms of time I have a year of University left, during which I intend on being on the hunt and then after University I'd hope to either have a job lined up or a good lead on the hunt

tl;dr? I've made a lot of half-finished games, have invested a lot of time into expanding my knowledge of graphics programming and games programming, most of these projects have been scrapped between computers, I'm currently going through a degree for game design where chances for programming portfolio pieces are not as abundant.

This is generally a big issue when trying to find employment. I mean its one thing to say on a CV "I made a bunch of projects, but dont have any now".

One of the best things is probably pick or design a few smaller projects and actually finish them fully. A handful of small games that you can work on and complete fully. Even a handful of finished projects stands out a hell of a lot more then just a bunch of half complete things.

Advertisement

side step a moment here to thank you all for the advice by the way

@Gibbon that seems about my best bet at the moment, I'd hoped that my Game Design course would help with that, but I've been working with teams who are programming illiterate and with tools where visual scripting is mandator. The result has been technically simple projects with little if any programming of any kind.

In terms of a game to put in a portfolio, is it worth spending the time to make it in a programming heavy engine or spending the time to make it from scratch, or would it be more impressive to spend more time polishing it in an existing engine (such as Unity for example)?

It depends on the role, but ideally I would like to see both an example of you working within an existing engine (to show that you can adapt to existing frameworks to get results quickly) and an example of you making something from scratch (to show that you understand the basics). I wouldn't want or need to see that you coded a full engine, because that is not what you're going to be hired for anyway. 2D is fine.

Also, check out some good CVs and rework what you have. Right now the formatting looks a bit amateur and the section headings don't match what is standard. Speak to your careers adviser if you have one available.

a note on the role, ideally I'd be a graphics programmer, I'd be happy as an engine or tools programmer, but I'll accept any offer of a programming role, I don't expect miracles, its my first job in industry after all, so any programming role to garner the experience is my goal.
any decent cv examples or sources that come to mind? I've so far been given cv's meant for a single page, cv's closer to booklets, trim and documentation like cv's, pretty and heavily designed cv's, the only consistent information I see is name and contact details.

So I've made a Second Attempt at CV. This time I've tried to focus on what I can demonstrate, skills wise I have stuck to examples of how I've used my skills as opposed to what skills I suppose I have.

it feels somewhat empty,

I only have 1 piece of accompanying material at the moment demonstrating what I've actually made, but I have 3 game projects demonstrable in UE4 and 2 demonstrations in Unity, 1 for mobile and 1 for PC,

Tutorial Game for Game Maker, made it to explain to my class the basic concepts behind development in Game Maker and how they can approach various problems, as an added bonus it feels quite nice to control.

http://i.imgur.com/qcB1De2.gif

I really need to get a more impressive project in my portfolio and available to show, I have plenty of documentation, but my on hand projects are kind of lack-luster.

Comments and Criticisms are greatly appreciated,
Thanks,
Scott R Howell

This topic is closed to new replies.

Advertisement