My weak C++ is overkill.

Posted by | Posted in Game Development, Life | Posted on 30-07-2012

In the space of the last two weeks I’ve done a few programming tests, travelled down to Oxford for an interview + test and failed multiple times.

The feedback has been consistently inconsistent. Having failed at one test due to my approach being “overkill” and focusing too much on the technical I decided that it needed a bit more work and another approach implementing that was a little more bare bones. Then when the Oxford based studio wanted an example of some code I reused that “overkill” code for this purpose. This time apparently my C++ was “too weak“.

At this point, and over £90 down on travel expenses which will never be reimbursed, I’m feeling a little out of sorts with the whole process. Previously I’ve been head hunted by other companies, I’m still one of the first people that our old CEO approaches when he needs a coder and whilst everyone has something they don’t like about the way I code they still tell me that they’d happily work with me again.

So what’s going on?

Maybe I just don’t fit that eminently employable mold that everyone seems to be getting squeezed into lately? No, well “yes” but it’s not quite that simple. I don’t have a great range of demos to show people, or a large volume of finished projects. Mostly my spare time coding is learning about a single thing that doesn’t really add up to what you’d call “a demo“. The titles I’ve worked on are usually my demos but recently EVERYONE has insisted on seeing production quality code. By “production quality” I think they’re actually meaning some kind of aspirational coding quality that I’ve yet to see in real game code but we all know what they want anyway. I don’t have the code for a lot of projects, and even if I did it’s under NDA as far as I’m concerned. I don’t go around showing people the code from other companies projects because it’s not mine to show.

Of course there’s always the “coding test“; the ultimate independent arbiter of a programmers ability! There’s no better test than seeing how they solve the old point-is-inside-a-polygon with pen and paper to really tell you what kind of a programmer is sat before you! Maybe instead it’ll be something almost 20 or 30 lines long with a couple of functions just to see how they cope, or my new personal favourite; the whilst ski-ing with your new co-workers which route do you take semi-psychological question. Yay! Shame that “bury their corpses in the mountain snow for giving me this stupid test” wasn’t one of the possible answers.

What a fucking ball ache, plus a massive waste of time. They’re like any bloody test, they tell you how good the person sat in front of you is at that test and that test only. Not what they’re coding style is, not how quickly or well they can change that style to match your companies Byzantine preference, it doesn’t tell you how they learn, adapt or take criticism of the approach they’ve used. It doesn’t help you see why they have those recommendations on LinkedIn (Did they ask for them or were given? Who are those people to you friends or just co-workers?), what they’d like to learn more about or where they’re weak.

My personal experience is that I seem to be getting filtered out at a lot of these tests, even for companies where their whole game is less complicated than a single feature I’ve worked on for other titles. Apparently all those years of experience don’t matter because they don’t like the style I used to answer an arbitrary test question on a sub-subject that I haven’t needed to look at since the second year of University over 10 years ago… I still answered it and in the last interview I even got praised that I’d taken the correct approach to solving it!

What seems to happen is that I fall foul of these tiny tests that stretch some irrelevant scrap of knowledge or practice and that’s it, test over, interview failed. For the bigger tests, the tests you can do sat at home, I’m either going to too much effort (wtf!?!) or I’m just not hearing back from places, at all.

These places aren’t Valve, Sony, Microsoft, BioWare etc. No, I’m falling flat on my face with over a decade and a half of programming practice and 9 years in the Games Industry for companies making mobile phone games who have development teams of over 140 people. We did MotoGP 10/11 for Xbox360 and PS3 (and an internal PC version) with less than 50 and I wrote major pieces of core functionality and gameplay for those damned games.

Does that make me the best coder I know? Good grief no, I’m average, sometimes I’m better than the next guy, sometimes I’m worse, frequently it depends on the task at hand. If you want to wait on finding that super-coder-from-the-year-3001 then just say so but don’t expect to hire him for as little as you’re offering me.

The upshot?

I’m tired, I feel a little beaten up by this application and interviewing process. I wish I could hit pause, get a cuppa, tell everyone to fuck off… and quietly turn 33 years old on Saturday 4th Aug (I’d like a career change this year please!), returning renewed, ready … and tell everyone to _really_ fuck off because I’d rather go Indie than work for most of these places that I’m applying to. Sadly this on-again/off-again relationship I’ve had with contracts and work post-Monumental-Games-Ltd has meant that I have absolutely nothing left of savings, and since I haven’t even been paid for my last bit of contracting(!) I am pretty screwed this month too.

This isn’t a very satisfactory ending to this post because this isn’t some story with a conclusion, this is just my life recently.

I thought being unemployed meant having nothing to do! (+ Birthdays!)

Posted by | Posted in Game Development, Life | Posted on 16-07-2012

The title is a little white lie, I don’t know anyone who finds being unemployed relaxing. Everyone I know is always running around trying to find more work.

Take the last few weeks for example: I’ve had several telephone interviews, written hundreds of emails, updated my LinkedIn profile, written a distance field ray marcher as a demo (over a two week period), done two technical tests – one taking 1hour 30mins the other spread over 3 days, started a company (Red Sail Games Ltd) for my own titles (if I EVER get the time to work on them), travelled to York & Scarborough to visit family and friends then rush back for an interview and then had Mark & Linda and 2 year old Layla stay for this weekend just gone, not forgetting that I’ve also had a minor bout of insomnia for the past week or so, also just been chasing agencies about work in fact in another window I’m just writing another email to one!

I am completely exhausted, as I sit here typing my left eye is actually twitching and aching! Odd.

So of course today I am also working on improving the program I wrote for the technical test that I’ve just spent 3 days working on. This is in case they come back and either want to know more or actually get me down for an interview. I may also use it just as an example that I can point people to since it can be used as a generic “map” implemented as a Red-Black Tree which doesn’t depend on the STL. There’s so many more things that I can do with it and I want to explore some of the options without having to keep it tied into the test framework that they sent me it in.

Oh yes I keep meaning to mention this too: BIRTHDAY(S)!!!

This year Danni is turning 30 on the 14th August, yes I know it’s hard to believe however -> I am also turning 33 on the 4th August and since we will be away over the weekend before Danni’s birthday and the day itself we’ve decided to do some combined celebrating on/around my birthday.

What this means is that there will be … a “thing” happening on Saturday the 4th August… as you can see, this has been carefully thought through. There may actually be a couple of days of celebrating this year just to spread things out a bit due to the bad weather. There might be a party however and probably a day out somewhere. I guess this is more warning than information :)

The other thing to note is the peramlink to this post… which is number “1234” ;)