Interviewing at EA Mythic

Ever since I started playing video games at an early age, I always wanted to develop them. I had my first taste of this in grade school when I figured out how to modify some of my favorite games by editing the data files in a hex editor. In high school, I bought myself a copy of Borland Turbo Pascal (and then later Turbo C++) and taught myself how to program—building rudimentary games. For college, my mother really wanted me to become a lawyer so I decided that the best way to get there was to major in political science. While I did well, I just wasn’t really interested in it. So in my junior year I changed my major to computer science. Of course, I had already chosen my university based on their reputation for political science and law and as such the computer science curriculum wasn’t the best. Since freshman year I had been running a MUD (I had to finagle an account on the engineering Ultrix machines as I wasn’t in the School of Engineering—we also weren’t supposed to be running servers either but I had some crafty ways to hide my work from the TAs). In my junior year I built a raycasting engine and a simple FPS (similar to Wolfenstein 3D). While I continued to follow the game industry and read-up on the newest techniques from folks like Michael Abrash, John Carmack, Andre LaMothe, etc. my foray into game development was still-born. In my senior year I took an internship at the Naval Research Lab and was pigeon-holed into telecommunications from that point on (I believe I’ve finally escaped, though I’m currently working on some very interesting and vital Internet infrastructure). Anyway, you didn’t come here to read about me and my failed attempts at game development, you want to know about interviewing at EA’s Mythic Studio in Fairfax, VA. Home to Dark Age of Camelot (DAoC) and the upcoming Warhammer Online: Age of Reckoning (WAR). Back in July, I contacted my friend Scott who works at Blue Fang Games in Waltham, MA to find out if he knew anyone at Mythic Entertainment. Fortunately he did, his friend Ralph, an artist at Mythic, was able to put me in touch with the CTO, Matt. At this time they were still in transition due to the acquisition of Mythic by Electronic Arts so Matt’s email address changed and communication was difficult. I continued to persevere until Matt agreed to bring me in for an interview at the end of August. It was an all day interview (from 10am until 5pm), which I was glad for—I really dislike it when companies only speak to you for an hour or two; it’s just not enough time to assess someone. Knowing the culture at the company I didn’t wear a suit and tie to my interview, but khaki pants and a button-down shirt thinking that I should at least dress somewhat nicely to the interview (even this elicited a mixed response, which I’ll speak about later). When I arrived at Mythic, Matt (the CTO) came out to greet me and spoke with me for a short while about why I wanted to become a game developer, my professional experience and skills. He then walked me over to speak with Darren who is essentially the director of operations for Mythic, managing their datacenters and ensuring that the hardware and network are operating. One of his direct reports, Andrew, was in his office so they decided to tag-team interview me—which I didn’t mind. Darren explained his role, the machines in their co-lo out in Ashburn and their pipe to the internet. Andrew quizzed me about various programming languages and had me explain my most recent project at Cisco. I brought up Ruby and tried to make a case for it increasing their productivity in operations through the use of scripts and custom web apps to help manage and monitor their systems. Andrew was already using Python and had done some of this already (though not to the extent I had envisioned) and didn’t see the need to learn yet another programming language. Granted Python and Ruby are equivalent enough that one or the other is suitable for these type of scripts/apps. Matt had thought that the best fit for me would be here in the operations group since I did not have any professional game development experience. Next I met with Ed who works on the WAR game server. He explained that one of his biggest problems was NPC path-finding and that they were evaluating a new library from a company in Europe (France, I think). But even that wouldn’t scale to the number of NPCs they have in a shard. He showed me the ‘tools’ they used to design spells and NPC behavior—basically an Excel spreadsheet that the game designers fill in that gets imported into the game server. I left with some ideas on how to improve these tools quite a bit (using a DSL written in Ruby that would be easy for the designers to write spells and behaviors in or a Rails app which used Script.aculo.us for drag-and-drop building of spells/NPC behavior from basic building blocks). Following my meeting with Ed, the team took me out to lunch where I made a pretty big mistake—instead of talking about games the whole time, I admitted that I had to pack-up my PS2 over a year ago because my toddler kept grabbing at the cords and opening the game cases. One good thing that did come out of lunch is that I learned about The Venture Bros., the best cartoon on TV. I think it’s absolutely hilarious and I’ve been recommending it to all of my friends ever since. When I got back to the office, they introduced me to Brian who also worked on the WAR game server. I had a great conversation with him and liked him quite a bit. He has been working at Mythic (or Interworld Productions as it was known at the time) since their first MUD, Dragon’s Gate. What I found interesting about Brian was that he had been working there since high school and had no formal computer science background (though he said he was working on his degree at GMU). An interesting tidbit that I learned from Brian is that for all of the games Mythic has released, the server-side codebase is derived from Dragon’s Gate—they just keep adding functionality to it over the years and try to patch over the brittle parts. After speaking with both Ed and Brian, I was very excited about working on the WAR game server and thought this was the group I could quickly contribute to. Next they had me speak to another developer named Matt (not the CTO). At first, I had mistakenly though he was in the operations group working with Andrew and Darren. Matt works on the game server for DAoC which appears to be in a sustaining mode. Following the interview, I was still not clear on what work needed to be done on DAoC. I think this was one of my worst interviews at the company as there seemed to be a lack of understanding between us—the questions he was asking me were not at all clear (perhaps that was the point), so I tried my best to tease more information out of him and answer them to the best of my ability. As sort of an afterthought they had me speak to Marty, another game server developer on DAoC who said his background was on the client side (3D Windows application programming). He was the most hostile towards me and also the most frank. He was appalled by the fact that I had packed up my PS2 to prevent my children from breaking it—he explained that if he were in that position he would tell his wife to take the kids away so he could play (the way he said this made me feel sorry for his family). According to Marty they are only looking for folks who’ve worked in the game industry before or are hard-core gamers (at the expense of all else, he recounted the personal sacrafices he made to get into Mythic—essentially commuting up to Northern VA on Monday, staying for the week and commuting back to his family for the weekend). His rationale for preferring hard-core gamers was reasonable—he explained that in design meetings they typically referred to other games and this shared knowledge of the details of games (through having played them) allowed the team to come to consensus much sooner. He used Elder Scrolls Oblivion as an example, but couldn’t remember the name of the game (which I had to remind him of). So while I stay up-to-date on the latest games, actually having played them helps to build this shared gaming culture. Marty also thought that I was way over-dressed for the interview (in khaki pants and a button down shirt), he was wearing a t-shirt and shorts and I thought I should’ve worn something more casual. I tried to explain to him that this was a job interview and that I wanted to make a good impression but it had the reverse effect on him. Finally I had a sort of exit interview with Matt (the CTO) who asked for my impression of the team and the company (which was good) and he gave me a tour of the area surrounding the art team for WAR. The art on the walls there is simply amazing and having been a huge fan of Warhammer it was a real treat. At this time he also explained to me why Imperator Online was cancelled—it just wasn’t fun for them when they played through it. MMO’s with guns are really hard to balance and after many months of development the game just wasn’t coming together. Matt also confirmed that WAR would be released on both the PC and the Xbox 360 (the latter of which he recommended I get, instead of the PS3 or Wii). Matt was most concerned about my salary at Cisco, constantly assuring me that they would be unable to me it. I explained that I was willing to take a bit of a pay cut for the opportunity to work as a game developer on Warhammer. I left with mixed feelings, not sure whether I would be offered a position at Mythic. I was quite surprised that I wasn’t given any form of coding test. Following Labor Day weekend, I heard back from Matt that they decided not to offer me a position, here’s the content of his email:

After a lot of consideration, we don’t think it is a good fit for you here at Mythic. You obviously are very talented at what you do, with our limited position slots available here; we would like to fill them with individuals with game job experience if possible. Take care, we wish you the best with your future endeavors.

Having gone through this experience and done quite a bit of research, I’ve come up with the following tips for interviewing at EA Mythic, or any game developer:

  • If you don’t have any game industry experience, create your own by making your own game. Go through the entire process and complete it—don’t show off a half finished game.
  • If you’re not a rabid gamer, become one. At lunch talk about your favorite games, why they are your favorites, what new games you’re looking forward to, etc. Here they’re looking for passion. The thought is if your passionate about games, your passion will show in your work (and you’ll be willing to work 80-100 hours during crunch time, the two or so months prior to release).
  • Don’t try to push any new technology or programming language during your interview. Once you’ve gotten the job you can then try to effect change. Instead show how your skills can work within the existing situation to improve it. This is true of basically any job—it’s naive to think that you know better than they do after having worked in the domain for so long. Though the game industry in particular appears to be quite insular and has only recently started switching to tools, processes and procedures that have been shown to work well in software development projects.
  • Provide specific examples of how you can contribute to the team. You need to sell yourself to them.
  • Research the company and culture as much as possible prior to the interview. I did quite a bit of research about Mythic before interviewing and knew a lot about the founders and the products, but I didn’t know that much about the culture. I should’ve used Ralph (my friend’s friend) to find out more prior to my interview.
  • And, of course, they’re looking to see that you can communicate with them and that you’re not a total jack-ass. Remember, we’re dealing with real people, treat them the way you wish to be treated. Even though Marty was rather hostile to me during my interview, I still treated him with respect and answered his questions honestly. Having hobbies you can talk about in a lunch setting may also be good, but the lives of the guys I spoke to seemed to revolve around games and television (not really what I’d consider hobbies).

If you have any additional tips/tricks for landing a job as a game developer, please post them in the comments.

The Feed Is Fixed

I should never try to make major changes to anything right before a holiday because it will most definitely break. So when I switched over to FeedBurner last Wednesday, I completely broke the feeds to my blog. Luis de la Rosa, a fellow Mac and Ruby/Rails developer in the Washington, DC metro area (who is also an entrepreneur, see Happy Apps, LLC), notified me of the issue but I wasn’t able to login and resolve it until this morning. So the feed should be working fine now (through FeedBurner, so I can track my readership). Please let me know via the comments if there are still any problems.

Switched From Cox Cable to Verizon FiOS TV

Even though I was the first person in my neighborhood to sign-up for the uber-fast Verizon FiOS internet service (15Mbps downstream/2Mbps upstream), I’ve been waiting to see how their TV offering fared before switching. This past weekend I finally took the plunge. I decided to get the Home Media DVR along with the basic set-top box so that we could watch DVR content from anywhere in the house. That with the basic and movie package ends up being $18 less than my service with Cox (which doesn’t include a movie package). Since I don’t watch too much TV and my wife can live without it, we decided against the HBO package. When the Verizon tech arrived (¾ of the way through the 8am to 5pm time window they provided), he quickly went to work switching the cable connection outside of the house from Cox to Verizon’s AFC ONT. Once that was done he brought the two new set-tops inside along with the remotes (as it happens the remotes are almost identical to the Cox DVR remotes made by Scientific Atlanta). Before setting up the DVR box he asked where my Verizon wireless router was—I happily obliged by going down to the basement and getting the still sealed box that the router came in. Unfortunately, the DVR requires the use of the Dlink router—which I refused to install as I’m running custom software on my LinkSys WRT54GL. Thankfully the technician had a Motorola cable modem in his truck which he was able to use instead. Once that was sorted out, it was a simple matter of swapping out the existing Cox Scientific Atlanta set-tops for Verizon Motorola set-tops. The picture quality is great, though we have no HD TVs in our household so my impression matters little to you hard-core TV watchers. I will say that the enhanced program guide is going to take some getting used to after using Cox’s for so long. It’s not that one is better than the other, just different. The DVR definitely needs some work. The gold standard by which I judge DVRs is, of course, TiVo and both Cox and Verizon have a long way to go—but the experience provided by Cox is better than Verizon at this point. Granted, I’ve seen numerous updates to the DVR software rolled out by Cox during my years of service with them (they didn’t even have a season pass feature when I first received it). So if you compare Verizon’s DVR to Cox’s initial DVR, Verizon comes out on top. One huge difference between the Cox DVR and Verizon’s is the space. Verizon has a 160 GB hard disk while Cox only has 40 GB. Recording shows on a one-shot basis is trivial with Verizon as is recording every single instance of that show, but it gets tricky with way too many button presses to record just the new episodes of a particular show. My co-worker, who recently switched from Verizon’s DVR to a Series 3 TiVo with dual cable cards, complained that deleting shows took too many button presses, but I’ve not found this bothersome (probably because I’m coming from Cox’s DVR and not TiVo). The home media option, which allows you to watch DVR content in other rooms on the standard set-top boxes is in desperate need of an upgrade. You cannot even fast forward through recorded content on a remote set-top! Just fixing this one issue would significantly improve the experience. The “on demand” content available through Verizon appears to be much greater in size and scope than what we had with Cox. Though this may be colored by the fact that with the movie package you get access to Starz, Showtime, TMC and a few other channels worth of movies, original series, specials, etc. Overall, I’m happy with the switch; especially because the service is comprable if not slightly better and it’s saving me a bit of money each month. Updated 2006-11-24: I called Verizon about the issue of not being able to fast forward DVR content on the remote set-top and they refreshed both boxes which resolved the issue. So my biggest complaint about the service has been resolved. Yay!

Startups in Northern VA

I compiled this list several months ago when I was looking for work. In the end, I decided to join an established company. I did not get a chance to interview with each of the companies in the attached spreadsheet, but I’ll write separate posts about the ones that I did get a chance to speak with. As a little bonus, here are the companies that I know of in Northern Virginia working with the Ruby programming language. Note that not all of them are startups in the traditional sense:

  • InfoEther (www.infoether.com): This is Rich Kilmer’s current startup providing a secure and mobile digital vault on a USB drive. Tom Copeland also works at InfoEther.
  • CustomInk (www.customink.com): They have an innovative web app for desigining logos, etc that can then be printed on shirts, mugs, golf balls, pens, etc. They are currently hiring.
  • Bosatsu Consulting (www.bosatsu.net): Brian is working on some Ruby (non-Rails) projects and was looking for someone to assist with Rails work—I don’t know if he’s found anyone yet.
  • Digital Focus (www.digitalfocus.com): This is a consulting company, primarily focusing on Agile development (training, team insertion, etc). They are looking for Ruby developers as the majority of their consultants are J2EE and .Net folks.
  • Revolution Health Group (www.revolution.com): The Revolution suite of companies was founded in Washington, DC by Steve Case (of AOL fame). The team at RHG is looking to tie together several different healthcare acquisitions into a Ruby on Rails portal. They’ve been trying to hire Ruby developers for quite awhile now.

If you know of any more companies with a focus on Ruby in the DC metro area, please let me know about it via the comments. Here’s the link to the Excel spreadsheet containing the list of startups I found nearby. I know for a fact that a few of the companies listed have already been acquired. Startups in Northern VA

My Foray Into the World of Next Gen Consoles

Nintendo
Wii On Sunday morning I woke-up at an ungodly hour to trek over to Target and wait in line for a Nintendo Wii. Unfortunately when I got there, the line was already about 75 people long and I knew Target wouldn’t get that many consoles, so I headed over to Best Buy in Reston. By the time I got there, I was number 70 in line and they assurred us there were 102 Wiis in the store. It was around forty degrees (Fahrenheit) and stayed that way throughout my wait. At least the Best Buy employees ran over to Starbucks and gave us free coffee and pound cake around 8 am. I spent the next three or so hours chatting with the folks in line next to me. Apparently they did quite a bit of reconnaissance trying to find the perfect spot to maximize their chances of getting a Wii. I on the other hand simply lucked out. These people knew exactly how many Wiis each of the stores in the area was getting. Several had camped out at WalMart for the midnight release (even though they knew WalMart would only have 30 or so). Almost all of them had already pre-ordered Zelda and were still planning to buy it at Best Buy so they could rush home and play it right away (instead of waiting until EB Games opened an hour later and picking it up there). These people were pretty hardcore gamers. I used to be that way before I had kids. When I got to the front of the line, everything was nice an orderly. Best Buy employees would allow 2-3 customers in the store at a time and we each were led around by personal assistants who answered our questions and fetched us the games, accessories and console. By the time I got to pick what I wanted they were sold out of the nunchuk and classic controllers. Three days later and I’m still unable to find a nunchuk controller anywhere in the area. While I was able to snag two classic controllers this evening, I should’ve looked at the games available for the virtual console first as nothing really stood out to me. When I got home on Sunday morning with the Wii, Zelda, Excite Truck, Rampage, an extra Wii Remote, Wii Points Card and a 1GB SD card, my wife promptly told me, in no uncertain terms, that I could not set it up until the kids went to bed that night! By the time I was finally able to set it up, I only had time for a few quick games of Excite Truck and Wii Sports, both of which I like quite a bit. Wii Sports is surprisingly addictive and while the control method for Excite Truck takes a bit of getting used to, I found it fun—though it didn’t recapture the enjoyment of Mario Kart (or the original Excite Bike for that matter, but then again I was ten when that came out and much easier to impress). I still haven’t cracked open Zelda yet as I’m saving it for when I’ll have a nice block of time to dive into it. With 22 people coming over for Thanksgiving (all of whom are from out of town and are staying through the weekend), I don’t think I’ll get a chance to play Zelda. But I’m hoping the other games will provide quite a bit of diversion for everyone.