Skip navigation

Early Applications

I graduated in December 2016, but I’d started applying to jobs a couple of months earlier. For my first round, I applied to Riot, Bonfire, Epic Games, Activision, Blizzard, and Nintendo. I don’t think I heard back from a single one of those, apart from the auto-reply email from the candidate screening software.

In January 2017, I completed applications for Bungie, Daybreak, Disney, Naughty Dog, Zynga, Bioware, and Rockstar. At this point, I was tailoring my resume to each job posting–which was fairly difficult since I didn’t have any real experience–and composing unique cover letters to accompany each application. I guess it must have worked, because I got a couple bites this time. Bungie sent me a programming assessment and Daybreak contacted me to set up an interview.

The Bungie assessment was a bit taxing for my current skill set. If I remember correctly, they wanted me to implement a Boggle solver in C#. I had very limited experience with C# at this point but gave it my best shot. I reasoned that at least I could learn something in the process. I came up with a solution, but the execution was painfully SLOW. There was a soft time limit for submission and I had blown past it, so I submitted my code and hoped for the best. A couple of days later, I received an email thanking me for my time and informing me that they were proceeding with other candidates. Frankly, though, this was not totally unexpected.

I’ve always made it a point to not cheat on programming assessments. Specifically, when I’m given an assessment to complete, I do not search for an online solution before or during the test. I do, however, check my solution after I’ve submitted it. For the Bungie test, a Google search for “Boggle solver implementation C#” yielded a much more performant solution and introduced me to a data structure I’d never heard of: the trie/prefix tree.

The Daybreak interview was pretty exciting for me since I was a pretty big EverQuest fan, not as big as Ultima Online, but I was over the moon at the prospect of working on such a venerable project. I’m sure the only way I was able to land this interview because of a recommendation I received from an Daybreak engineer whose wife I had spoken with a few times at the local library during the children’s story time we were both attending with our babies.

I had my first interview (which I now know was just the technical pre-screen) with Jenn Chan. She asked me some basic C/C++ questions and I was so nervous (and inexperienced) that I’m pretty sure that I bombed hard. So, immediately following the interview, I emailed Jen to thank her for her time and apologize for my nerves.

It must have worked, because I got an email back from the recruiter at Daybreak to set up my next interview with Jenn, Lauren McLemore (Lead Senior Producer), Adam Schmidt (Senior Software Engineer), and Justin Michael (Senior Programmer on the EQ2 team). Before the interview, I made certain to review all of the questions I had been asked in the first interview–particularly the ones that I knew I had answered incorrectly or had just guessed the answer. I wanted to be prepared, just in case they wanted to revisit any of these topics. Moreover, I saw it as a learning opportunity. I mean, if they are asking these questions in an interview, they must be important for a game developer to know. One question that stands out in my mind is, “In C++ can you call a destructor explicitly and why would you want/need to?” (The answer is yes, by the way. The most common reason you’d probably do this is to perform cleanup on an object that has been constructed in pre-allocated memory with placement new).

The interview was virtual with webcams–my first experience with interview format. It was pretty cool to get to meet and talk to the developers of a game that I’d actually played and loved. But, I was still ridiculously nervous. All of the interviewers did a great job of setting me at ease, but I still choked when they asked me how to detect a collision between two axis-aligned squares in a 2D plane. A few days after the interview, I received a rejection email. This prompted my purchase of a used copy of Real-Time Collision Detection by Christer Ericson to brush up on the topic.

Leave a Reply

Your email address will not be published.