You may have landed on this site from my YouTube Channel. Well, aside from making videos of myself “doing my hobbies,” I have a day job. I’m a computer programmer. I’ve been doing that professionally for over 15 years. The last 13 of which were spent as a Contract Programmer, working out of my home office in Northern Michigan. Late in 2011 I decided it was time for a change: I should get a job where I could work on a team with other people, in person, wearing more than just pajamas and a T-shirt. This is my attempt to explain just how difficult it was to get such a job in today’s market.
What’s the point?!
Why write this up? I have a few reasons:
I thought it might help others who are looking for a similar job.
When I was job hunting, I was all over the internet, trying to get the scoop on various companies and people. I loved reading about specific experiences and so I thought I would share mine in case there are others out there like me who want this kind of information.
I want to name names.
I feel like we’re all “talent” out there. We’re not necessarily rock stars, but we’re talent. We should be able to talk about each other like we’re more than just hired meat. We have names. We get known. People search for us on the interwebs. Musicians are known by name for their skills. Programmers, artists and other software development jobs are no different. People work with you, they know you, they have opinions about you. So, here I go, dropping names. Why not? But I do hope nobody minds.
Some 3rd reason.
It was a pretty grueling process! It was very stressful. It was depressing at times. Encouraging at others. It kicked my ass. It’s time to log this stuff down, just because.
If you are currently looking for a job, you might feel some of the same pressures. But I think in the end we all have a suitable job waiting for us. It just takes time to find the right fit. It happened for me, and it can happen for anyone.
I thought this was going to be easy!
I thought my resume was pretty damn good. Looking back, I guess maybe it wasn’t all that great. Here it is in the state it was when I was job hunting if you want to see what I’m talking about. Most companies with open positions I applied to didn’t even contact me for a phone screening. I have a good reputation in my network. I could have just stayed in that network and continued working with people who knew what I was capable of. If you can do this, then I suggest that you do! It’s the best way to get a job. Get hired without an interview by someone who already knows you. In my case this was not going to work because I wanted to break into a new network. I wanted to get back into game programming. I started my professional career at Activision in the late ’90s. That evolved into contracting random jobs and I got away from what I really loved: making video games. The money is great in contracting, and you make your own hours, so I recommend that, too, if you have the self-discipline to stay focused on your work, alone in your home. I was successful at this for many years and know it can work. I worked mostly with Steve Colwell, owner of CodeWell, and we had a great run together doing all kinds of contracting jobs. It was a great experience.
Getting back to my resume… During last year’s QuakeCon, John Carmack had said that they (id Software) look for people with a diverse background. I thought, perfect! He’s my idol. I have a diverse background. I should just go work for him! I applied to id Software for an open position as a Gameplay Programmer. I heard not a peep. My resume apparently did not seem so great to them. Same for my ZeniMax Online Studios application for a Graphics Programmer. No callback.
Then I turned my sights toward Blizzard Entertainment. Of course, they make World of Warcraft, which I’ve been playing for years now. I was only targeting companies that made games that I play myself. Later, I relaxed this requirement, which openend up more job possibilities for me. The recruiter at Blizzard, Reine Bounlutay, called me back within a couple hours of me submitting my application for various positions they had open there for a Sr. Software Engineer on their Next-Gen MMO team. They had openings for 3D Engine, Tools, Gameplay and Gameplay Interfaces. I was encouraged by the quick callback, even though it was only for her to get more info from me on my experience. But very cool that someone at Blizzard saw some potential in my resume the moment they saw it.
I also applied to various positions at Google, DreamWorks, Vigil Games and BioWare. None of them called me back. This went on for a couple of weeks. Each night I’d scour the internet for cool companies with open job offerings. At this point I’ve only got a single company (but one that I’m in love with) Blizzard who’s even in contact with me. I decided to loosen up my restrictions on what type of job I’d be happy with. I thought at Blizzard, I’d basically be happy working on anything. Doesn’t have to be core gaming. I believe in their products and would be proud to be a part of any piece of them. So I also submitted my application to their openings on the Battle.net team doing Platform Technology. And also to the WoW team for their User Interface position, but the other positions took priority to them, so I never did talk with anyone on WoW.
All “Senior” spots. This also made things difficult for me. When I was fresh out of college, I got that job at Activision easily! Junior Programmer. No experience needed. Just a degree and a demo, showing I knew how to program. My first week there I remember asking another programmer “what’s this #ifndef at the top of this header file for?” I was such a noob! But I excelled there and quickly got meaty tasks as I became a better programmer. Now, 15 years later, I feel like a veteran. With all of the various projects I’ve done as a contractor I feel like I’m qualified for almost anything. But what I found is that most companies didn’t agree with me. They didn’t know me. They saw words on a resume and had no idea about my efficiency and adaptability as a worker. So for senior positions, it wasn’t enough just to say “I’m smart, hire me.” No, I have a family to support now. My salary requirements are higher. Companies don’t want to pay for that unless they see an obvious fit. Or maybe the companies I targeted have a line of candidates a mile long and can afford to be highly selective. I got far less interest in me, during the initial stages, than I was expecting.
It’s In The Game
So, as I await Blizzard to get back to me on the many jobs I applied for there, I kept the job hunt going. A friend of mine I met while at Activision, Dan Stanfill, works at EA in LA and helped me out by spamming my resume around to all EA offices in North America and Canada. And I got phone calls! More evidence to just ask your friends and existing contacts for a job. Don’t go “cold calling” like a door-to-door salesman like I was trying to do. Get someone on the inside to vouch for you and things happen quickly.
EA Sports in Orlando called me the next day. The recruiters at EA come right out with what they pay. The numbers were sounding good, especially since EA Sports (the Tiburon studio) is in Orlando so the housing is more affordable than, say, anywhere in California. But this lead dried up quickly because I don’t like sports games. I told them I had about a hundred Xbox 360 games, none of which are sports games. I just wasn’t feelin’ it. I couldn’t imagine myself working on a Basketball or Football game. I would just have no passion for that. Plus, outside of Disney World, I don’t much like Florida, so I was just not excited about this opportunity. But I kept telling myself to not close any doors open to me. Still, it was pretty clear I was shutting this one.
The same day, a recruiter for EA in Redwood Shores, CA called about a position at Visceral Studios. This one sounded better. Slightly better potential salary quotes from this phone call. Still, not that much better pay that would allow me to move my family there as opposed to Florida. I knew from the start that I was going to have to take a pay cut no matter what job I got. Working as a contractor is easy money! And now I was considering jobs that pay less, while at the same time require me to work more hours per day to make that smaller paycheck. But this is what I wanted, to work on a team and enjoy my work. If I could support a family, then I didn’t care what they paid me. I just wanted to survive happily.
So I got my first phone interview with a real programmer! I talked to Trevor Somers. They were looking for an Online Engineer. That’s really not my forte, but again, I’m a generalist. I can do anything! So I kept an open mind. The call went alright. I didn’t feel like he liked me a whole lot, though. It definitely wasn’t a home run, but he still asked if I would be able to fly out for an in-person interview. I think that was just his way of wrapping up the phone call. I really didn’t expect to get a callback after that, and I didn’t. It was my first phone interview in 15 years and I just was a bit rusty. Saying certain things I shouldn’t. Not answering questions in a way that goes over very well. It’s hard to explain. But you just gotta practice! So I was glad to have my first phone interview out of the way as I made mental notes on what not to say in the next one. I can’t give concrete examples here. It’s just the subtle things during conversation that make the interviewer not like you so much.
I received no more interest from any other EA studio so that lead had dried up.
Things Starting to Happen at Blizzard
I then had a phone interview for Blizzard’s Next-Gen MMO team’s Gameplay Interfaces position. The published job description for this was to make a bleeding edge 2D/3D UI Engine. I had done a 2D UI Engine from scratch for Activision, and I have a 3D math background, so I thought this position was a home run for me. I had a phone interview with Tim Ford, one of the Lead Programmers on the team. And Andrew Wang, AI Programmer, currently filling in the UI needs until they found someone for the job.
The phone interview went very well. They asked me math questions that I aced. They asked me all the basic Big-Oh questions that I aced. And in general, we all got along and the conversation was smooth, interesting and enjoyable. Personalities meshed. Everything was great! Immediately after the call, Reine the recruiter called me and said it went “really well!” So, we’re moving on to the next phase, to fly me out to Irvine, CA and have ourselves an in-person interview. Very excited.
Part of the reason I performed well on this phone interview was due to the prep work I had been doing over the past month. I had to refresh my memory on all the basics again. I read all kinds of articles on the state of the art of tech interviews. Like the “Clever Google Whiteboard Puzzle” style problems. Studied up on those, just to get an idea of the kinds of crazy problems I might expect. Also reading blogs like Steve Yegge’s posts. Check out this post on his blog for a great article. I bought the algorithms book he recommended there. I read the first half thoroughly and skimmed the second half. That helped a lot. I also dug up some of my old math books. I have a Bachelor and a Master degree in Math, but that was over 15 years ago that I earned those degrees and I wanted to brush up on all that. So, effectively, I did some “cramming” for these interviews. I knew I was smart enough and a good enough programmer for these jobs. But to perform well at interviews, you have to be quick. You can’t seem like an old fart that “used to know all this stuff.” You have to know it now like you’re currently studying it in school. This fact definitely hit home during the Blizzard on-site interview…
On-Site at Blizzard HQ
It was an all-day event. 10-Noon: Programming Test… Noon-1: Lunch and Tour… 1-4: Face-to-Face meetings. You have to be “on” the entire time. The programming test was a lot of typical stuff I had done for years. I was really enjoying taking the test. It was like playing a programming game. Gotta solve all of these and beat the clock! But it was all typing code into a Word document. I thought about maybe downloading emacs and then copy/pasting my code into the official document at the end, but decided against it since it would have eaten more time than it would have saved. I did pretty well on it. Reine told me that she had never seen anyone actually finish the test before, so that was encouraging. However, I had a partial answer for one of the questions so I technically didn’t “finish” it.
After lunch with Reine and a tour of the place, I met with Tim Ford and Michael Evans, another Lead Programmer on the Next-Gen MMO team. Tim is a super friendly guy with lots of energy. Michael was more laid back and reserved, but you could tell he’d be an interesting guy. They looked over my test and pointed out all the stuff I did wrong and asked me to fix it on the whiteboard. I saw what I did wrong, but felt like I wasn’t quick enough to correct it on the white board (again, read Steve Yegge’s article, what he says about practicing on the whiteboard, it’s important!) So an hour and a half of this and my ego is pretty bruised. But I still felt like I was in the running.
Had a quick break, then on to the final session. This time Andrew Wang joining in. Let the Clever Whiteboard Puzzle Extravaganza begin! Andrew asked me a vector math problem. I thought “Cool! Math, I’m good at this.” But there were two issues here: the pressure of performing in front of interviewers, and the fact that they never let me finish it “my way”… I had approached the problem using one technique, but it wasn’t “the clever way” that they all knew and had asked it of many programmers before. At the first sign of trouble, they offered a hint. That was nice of them, but I didn’t want it! However, I felt like it wouldn’t have been the right move for me to push back and just say “yeah, okay, thanks, but I really think I can finish it my way”… I’m a flexible guy. I tried to adapt. I tried to see it their way. I struggled some more. Hint after hint from them… I finally arrive at the answer. But I just knew I wasn’t impressing anybody because it took too long.
Time for one more problem. An algorithmic one this time. As I work things out on the board, I could feel Michael’s extreme boredom with me. I’m not doing well enough to make it fun to watch, so that’s a bad sign. At this point I’m feeling pretty beat up and the only way I’m getting this job is if they are desperate (not likely for Blizzard) or if they saw that I was Smart and gets things done. Time’s up! I never did finish the full algorithm. Interview over. Handshakes, smiles and thank yous. And that was it.
I was shot. The clever whiteboard puzzle sessions killed me. I drove my rental car back to the Residence Inn and I crashed. I knew it did not go well.
This may sound ridiculous, but I was also second guessing my wardrobe choice. I chose to wear some decent shoes and a shirt with buttons on it. Looking back, I probably seemed too old. I am 41 years old by the way. These guys probably wanted someone a little closer to their late-20′s early-30′s age to hang with. I did have all my gray hair colored brown by the salon ahead of time (not gonna lie to you, I hate gray hair… on me). But I still felt like I wasn’t a cool young dude anymore, even though I feel like one on the inside. Still do. So, my advice to you for interviewing at any tech job… wear a T-shirt! And wear sneakers or flip flops. And of course, don’t wear a shirt with buttons on it. Still, bottom line: I didn’t perform as well as I could have, and so I didn’t have high hopes for getting this job after the interview.
Blizzard Still Interested
I got home, and the very next day had a phone interview with Brian Fitzgerald (Technical Director) and JC Park from the Battle.net team. This interview went really well, too! Even better, I think, than the one with Tim and Andrew. Brian asked more practical questions. I was chuckling when he asked them, they were really good. He wants to find out how good a programmer I am, not if I know Math trivia. I respected that right off the bat. After the interview he said that it went well and that the next step is to complete a take-home test before they invite me on-site.
The take-home test was to spend up to 4 hours implementing a “lite” version of Checkers, as a command line app. It’s on the honor system. You write the app, send it in, and tell them how long you spent on it. You can’t think about it ahead of time to plan your code, etc… After reading the instructions and reminding yourself of the rules of Checkers, you just time yourself and write an app. He said not to spend more than 4 hours on it, and if I finish it in 1 hour, he’ll let me have his job. I thought “No problem! I’ll finish this in 2 hours! Easy!”
After the phone call I was excited about Blizzard again. Reine called me back right after and said (again) “you did really well!” Now, I love how positive Reine is. I think she’s a great recruiter. But I was starting to wonder if I really did that well, or if that’s her being-supportive standard reply to all candidates that pass phone interviews. She also informed me that the Next-Gen MMO guys passed on me. I was expecting that and definitely appreciate the quick turn-around. But now I’ve got my new opportunity to work on, and that was Battle.net.
I was starting to get sick from the stress of the 3-day on-site process I had just gone through (1 day of “being on” all day, and a day of traveling on each end). So the next day, before I got too ill, I knocked off my Checkers console app. I was coding like a mad man. Really enjoying it. But was shocked when I saw I wasn’t done and my 4 hours was up! I hadn’t implemented the computer player double-jump requirement, but had everything else working and it was fun to play. So, I decided to be honest and stop coding, note the known bug, and submit it. I felt like I did a good job on that app and if I don’t pass this, then they’re just looking for perfection, and that’s just not me. I’m more of a 98% kind of guy. My GPAs for each of my Math degrees were both a 3.9. I’m simply not a perfect human being. I bring more to the table than just being a coding machine, so if they can’t see that just because I didn’t finish in 4 hours, then this company just isn’t for me. So, I was feeling down again, and caught my cold in a really bad way… time to cleanse and let go.
Reine was happy to get my Checkers submission back so quickly. But now begins the wait. Multiple people on the team have to review it. If I pass, then I’m up for more waiting because their on-site process is not the typical “clever whiteboard puzzle” approach. Instead they get you in a room with 2 other candidates, and you all program an entire game for a day. A simulated real-world working environment! Which I think is cool. I was excited to hear this and agreed it’s better than posing whiteboard problems to evaluate programmers. And since they have more than 3 positions open, there’s (supposedly) no competition.
Two full weeks go by since submitting my Checkers app and Reine called to let me know I passed the test. And there are no other candidates lined up for the 3-person on-site interview. So now I will have to wait (what I was estimating to be at least) another couple of weeks to get my opportunity to perform at Blizzard HQ again. Fine. I’m very excited about this company, and I will wait as long as I have to.
A RAD Opportunity
In the mean time, I am still spamming my resume around. I happened to be looking on Google Maps in Irvine at the location of a company called Local.com. My friend Mark Goodstein (founder of X1 and many other things) was trying to get me in touch with a friend of his, Local.com’s new CTO Erick Herring. I really didn’t want to work there because I’m not particularly interested in what they do, but I’m really trying to be open-minded about where I might end up. So I’m just taking a peek at the building, and see that in the same parking lot is a game company! Ready at Dawn. Makers of the PSP game God of War: Chains of Olympus, which I played and loved, thereby meeting my requirement: I want to work at a company that makes products that I use myself.
So, I did some snooping and found out that Marc Turndorf is Director of Production there, and that we worked at Activision together years ago. I didn’t actually know him so I asked a friend we had in common, Stephanie O’Malley Deming to “Linked-In-troduce” us. Again, it’s who you know! Well, this got the ball rolling quickly. The next week I had a phone interview with Garret and Phil from RAD. I killed the phone interview. It was all math/programming questions. I think I might have sounded like a huge brainiac or something, and I got the impression that this is what they were looking for. Things clicked. Another phone interview going well… which may inevitably lead to another bombed in-person interview!
Marc called back to discuss salary. No point in moving forward if we’re not in the same ballpark. We were not. The Tech VP there, looking at my resume, estimated someone with my experience should earn a particular number. This particular number happened to be about 2/3 of my minimum required salary I’d need, just to survive with a single-income family with wife and two kids in Southern California. I said it’s unlikely that this will work out and that we might not want to move to the next phase of an on-site interview. A few more inside discussions and phone calls and it was settled, they’d like to take a shot, and I am agreeable. I figured, if everything goes perfectly in person, I will appear to deserve 50% more than they’re currently willing to spend on me, and it’ll work out. But realistically I knew it could not possibly work out that perfectly. There is no way I could perform well enough, under any circumstances, to make the VP change his mind and dish out a 50% increase.
Now, since it wasn’t I that was pushing for the in-person interview, it’s not my fault if it’s a complete waste of their time. So I thought, worst case, it’ll be another practice session at the whiteboard. But I see now that this is how the stars began to align for me, because this inevitably-doomed opportunity paved the way for the dream job that I eventually got!
The Stars Align
I had my flight and hotel booked for the RAD interview for the following week. I thought about maybe calling Reine at Blizzard to see if they could squeeze me in for the Battle.net in-person interview, even if they didn’t have the 2 other candidates lined up yet. But I thought, eh, nope… I’m not in any rush; I’ll fly back yet again once they’re ready. I had been focusing on the job hunt full time. Very little contracting work (on purpose). I treated the hunt as my job. So I didn’t mind waiting for Blizzard.
Still, the universe wouldn’t let that happen… I hadn’t thought about Andrew’s clever vector math problem since my botched interview on-site the previous month. But a few days before my flight to RAD, I woke up thinking about it, and how if I had just been allowed to finish the problem “my way” that it would have landed on an equally efficient solution to the problem. I had asked them when I was there that if I did solve it on my own another way, if I could send it to them, and Tim Ford said sure! So this particular morning I was inspired. I whipped up the solution on a single page in a Word document and fired it off to Reine to pass along for me. I wasn’t doing this to say “hey, see? I’m smart, I can do this,” because that would be lame. That’s like begging for a second chance. But I did run the risk of them thinking that’s what I was doing. Honestly, the reason I did this was to be helpful. So that the next time someone tries to solve their clever pet interview problem in a similar way to what I was attempting, that maybe they’ll give them a chance to complete it… also, they’ll now be even more of an expert at this problem, to be able to see the solution from two completely different viewpoints, both arriving at an algorithmically equivalent solution in terms of efficiency.
So I sent that to Reine, and she’s always so positive. She seemed happy and surprised that I did that and said she would pass it along. I didn’t expect to hear back from the guys, nor did I want to. I felt good about trying to help and also was glad that my solution turned out to be a good one, even though I failed on site. Anyway, because this “problem” got me talking to Reine again, she mentioned that they’re ready to setup the on-site interview with the other candidates and me. I replied back letting her know that coincidentally I’d be in Irvine the next week. She apparently informed the coordinator at Blizzard and he jumped on it. They are going to try to schedule my on-site interview while I’m there in Irvine and not worry about the other 2 candidates.
So, I’m feeling pretty good. The RAD situation got the ball rolling. I’m still going to try to ace the RAD interview, but now I have Blizzard lining up for later that week. I’ll be spending the week in Irvine, CA.
Another Star Falls Into Place
Meanwhile, my old friend from my Activision days, Michael Douglas, had gotten me in touch with John Spinale, another Activision alum and the General Manager at Playdom. Playdom is a Disney company that makes Facebook and Mobile games. They made Gardens of Time, a fun and addicting Facebook game. Playdom currently had many programming positions open so I began the phone screening process with their HR for various job openings across the different studios, mostly in California.
The recruiters were good at their jobs. They found good matches for me among the many open positions, some of which were not public, so it was good to talk with them. All the calls went well, but one went better than the others. I spoke with Kent Quirk, Engineering Manager at the San Francisco studio, the hour before I had to leave for the airport to get to my RAD interview the next day. This phone call went well. I didn’t say anything super impressive, but there were no awkward moments and I seemed to be a good fit for what they needed. I mentioned I was going to be in Irvine the next week, and so the ball was rolling to schedule an in-person interview in San Francisco as well.
By the time I arrived in CA I had 3 interviews lined up in 3 days. RAD on Tuesday, Playdom on Wednesday, Blizzard on Thursday. I had to make sure I didn’t wear myself out. I had to perform well for all three companies. I had no idea which one might work out, so I was keeping an open mind on all of them. But it was going to be an exciting and memorable week for sure.
Ready At (a Few Hours After) Dawn
I met Marc at RAD and the first thing I thought was “Oh, cool, he’s got gray stubble like me, maybe I won’t seem so old here.” I signed their NDA and filled out an official application (where I got to enter my dreaded salary requirement.) I got a quick tour of the place. It’s very dark in there. But very cool. Then we got right down to business, whiteboarding!
Marc, Garret, Phil and I all met in the main meeting room and chatted a bit. The Tech VP Andrea joined and we hit it off right away due to our music performance backgrounds. And I found out that Phil and I both went to UNT in the past. It was sure going better than I was expecting. I honestly didn’t think I would fit in here, but I was hoping I would.
So, then we got to it. Andrea asked me his “two questions” (There’s an entertaining article about a mock interview at Ready At Dawn, very fun read.) All I can suggest to you, if you are ever interviewed for a programming job at RAD, is to answer quickly. Do not hesitate. From my experience, there’s not always just a single correct/obvious answer. When faced with a problem, you think about it, you weigh all your options, and you make your best choice after you have thought of everything you can think of. But don’t do that here. You also don’t want to “think out loud” during your RAD interview. Again, if you know the answer, spit it out. If you don’t know the answer, you will not be staying long, and vocalizing your “thought process” won’t save you. At least, it didn’t save me. I did a lot of thinking, drawing, and was cut off when I wanted to draw some more stuff. Proving you’re smart isn’t enough. You must be smart and know the answers. Also, don’t worry too much about explaining your ideas on the white board. Speak as if it’s all common sense and obvious and that anything you say will be understood by the gang. They are smart guys, they will understand, so you don’t have to prove that you know it by explaining your every move. If you don’t try and explain it, that shows you’re so smart that it’s obvious. Not really my way, but this is how I think I would have had to perform in order to be impressive to them.
After maybe 20 minutes of whiteboarding, they left to have a quick meeting. I could tell the mood changing as things went on because the once-smiling faces in the room were now frowning. It was subtle, but I saw it. Andrea and Marc came back in and Andrea explained that they can’t make me an offer. The feedback I got was that I couldn’t focus (hence, my tips in the previous paragraph) and that my salary expectation was too high. He said I was a smart guy, but needed to be more of an expert in all the things we talked about. Basically, this was simply not a good fit. There were times even during the whiteboarding where we were having a discussion and it was almost turning into an argument. I had to just stop myself from talking or it could have escalated. And I’m pretty sure that bringing a “discussion” up to an “argument” is not the best way to get a job offer from your potential future boss.
Hands where shook, I thanked them for their time and wished them luck on their new game, and left. It was barely lunch time. Quite a contrast from the all-day Blizzard interview. And once again, I appreciated the immediate feedback about them passing on me.
A View of the Bay
After my failed RAD interview, I realigned my vibes to be positive and focused on San Francisco and Playdom. I had a flight out the next morning, a 3-hour interview, and a flight back that evening so that I could keep my Blizzard appointment the next day. I got my rental car and zipped off to where I thought was “downtown San Francisco” because my phone’s GPS feature was not working. I followed my nose and luckily wound up pretty close to the studio when the GPS started working. Found a place to park for $15 and walked to the studio. Some bums asked me for money, but they were very nice bums. I wasn’t feeling all that impressed with the area. I never really imagined I’d ever work in downtown… Anywhere! I spent the last 13 years of my life living and working in a rural area with lots of trees, coyotes, foxes, turkeys and a few bears.
But once I stepped foot into the studio, I realized that it’s all about “this room.” This is where I’d be spending my working life if I worked here. And it was a cool studio! I quickly got started with the interviewer gauntlet. I spoke with engineers Boris Byk, Erez Morag, Lisa Hicks, Aaron Cantor, Jeff Emrich and finally Kent Quirk. A 1/2 hour with each. Most of it was question/answer, but some of it was whiteboarding. What struck me about everyone on this team was that, even though they had their favorite problems and questions to ask me, they didn’t feel compelled to show me how smart they were. If I struggled on a problem, they just allowed me to “think out loud” and get stuck. Maybe they’d dish out a hint or two, but once I had spent enough time on it, it was time for the next question. They didn’t tell me “the trick” if I didn’t find it. I’m the one performing here, not them, so why should they? I was struck by this fact, and appreciated their confidence and modesty.
So Kent said it went well but they all had the same concern that “I’ve never worked on a team” before. I assured him it wouldn’t be a problem, but couldn’t really prove it.
I left feeling like that interview went well, but it wasn’t a complete home run. I still liked the atmosphere in there. Not super dark. Not annoyingly bright. Very nice “green” mood is how I’d put it, but I’m color blind so don’t take my word for it.
I hopped back in my rental to race back to the airport for my return flight. Back in Irvine that night. Still trying to convince myself that I’m not exhausted, since I had an all-day Blizzard event the next day.
Back to Blizz
This day was great. I felt like I completely killed it. Dave Wilson the coordinator introduced me to the guys. I met Brian Fitzgerald, and since I was scheduled in last minute like this, and they didn’t have 2 other candidates, they pulled 2 other programmers off the team to program with me all day, Casey and Don. We got the spec for the game we were to implement. None of us had heard about it before. It’s not a waste of Casey and Don’s day… this exercise helps keep you sharp! We dove in between 9 and 10AM and worked all day. Broke for a 1/2 hour lunch. They got me my requested vegetarian option. JC asked me what I thought a typical measure of lines-of-code-per-hour is for a good programmer. I pondered. Brian said, “well, Eric’s Checkers app was 500 lines and it took him 4 hours, so there’s a measure.” Brian also mentioned how he supports open communication of their interview details, such as the Checkers pre-test, and the all-day coding process, which is why I’m allowing myself to be so forthcoming here.
So, I had a Coke with lunch to get some help with the rest of the day from the caffeine. Since it was an all-day event, I did take the time to download emacs and cygwin this time and configure them. That made me feel much more at home and could get in the zone while coding. We finished at about 6 or 7PM and then had a post-mortem. I felt like I performed so well. I performed precisely as well as I had been paid for during the last 13 years as a contractor, where I gained my reputation as a programmer who “gets things done,” and done well. I took semi-working and buggy code, and turned it into working code. This is the typical life of a contractor. I loved working side by side with Casey and Don. Casey would swear at the computer a lot, which I normally do, but tried not to here. Don was just so jovial and fun to be around. I really felt like I had found my new professional home.
During the course of the day, others from the team came in and out of the room. Each of our screens were projected onto 3 other screens, so we could be observed without people looking directly over our shoulders. They got to see my progress, my debugging style, how I wielded emacs, etc.
During the post-mortem, we did a code review and had a general discussion about how things went. I felt like people liked me personally, which is important, and also that I performed well technically. I was feeling really good, but very exhausted.
But the day is not over! They take you to dinner! So Brian, Don, Casey and I, along with John, Kyle and JC headed over to the Irvine Spectrum Center (I rode with Brian in his Vette, yes!) for some great conversation over alcoholic beverages and delicious food. I got to give my feedback on some of the technologies they are developing, since I’m an avid WoW player and use what they make. I was highly entertained by Don’s choice of conversation topics. He had the greatest ice breakers. Things like: What is the most interesting thing you’ve worked on? (I answered MIDI Hero, my own project.) What was the last programming book you’ve read? (I answered the algorithms book, mentioned earlier.) What would be your ideal job (I answered being the drummer for Porcupine Tree. Don said he wanted to be in a room full of animals and just be in charge of petting them. Good answer.) Eventually I just laughed when he asked the next one and I asked him to keep ‘em coming! Great questions.
That was it! A total of 13 straight hours of “being on.” I went back to the hotel and got ready to fly back home the next morning and hope to get an offer, which clearly I would get, because of how well the day went.
My Dream Job
Finally, after 2 months of solid job hunting, I got my first offer! I got a call at the airport the next day… from Playdom! I was very happy. The only thing I felt bad about was that I had to ask them to wait for Blizzard’s inevitable offer, because I had been in their process for many weeks, and to come so close, I needed to finish the process before I made my life-altering decision. Either way, I’m moving to California. It’s either San Francisco, or it’s Irvine.
So, rather than call Blizzard immediately to say “hey, hurry up, please, I have another offer on the table,” I decided to wait the weekend because surely Blizzard would call me with good news. And Brian said it’d be a couple of days.
Come Monday, I call them. Talked to Reine. She said she’d get an answer to me by end of day. I was on edge the entire day. No call. I called back the next day to get an answer and found out they passed on me.
I was completely shocked. I couldn’t believe I performed that well, and didn’t get an offer! Not even a low-ball offer. They simply didn’t want me. I suppose they didn’t see my performance as I did. Maybe instead of making the broken code work, we should have started from scratch. Starting from scratch would have allowed me to code feverishly, all new code, fingers hammering the keyboard at high rate. But we surely wouldn’t have finished the game had we done that, which was the main requirement. So I’m not sure how I could have performed better.
My life-altering decision was made for me! I had an offer in-hand from Playdom, a place that I liked with good people and an exciting game to work on. I’m moving to San Francisco! I’m all in.
I’m now an extremely happy Playdom employee. I can’t get over how lucky I am. I am working hard there. And I feel like I’m settling in and really a part of this team. I have excitement for the game we’re working on and for my new career.
The point here is that the stars really did align. I just kept at it and the right opening eventually came along. I found the perfect position. One where I like the work, and the people there appreciate me and find the value in me that my (previous and now expanded) professional network had already known about me.
And I freaking love the Bay Area. I can’t believe I live here now. It’s really amazing. I will miss the hooting owls at night, but I won’t miss the long Michigan winters.
The working environment at Playdom is great. All the people there are super friendly. There are no jerks. You get a free CalTrain pass so I can effectively walk to work and I don’t have to buy gas or drive. The benefits are highly competitive with (if not exceeding) other top companies’ notorious benefits. You get a free pass to any Disney park for you, your spouse and two kids. You get free catered lunch and dinner every day. And the food is good! I was just laughing the other day when they served mussels, a favorite of mine. And to drink? There’s beer in the fridge at all times if you want, and like 8 different kinds of sparkling water, to give you an idea of the choice available. And an unending supply of sour patch kids in the break room? Come on! That’s just awesome.
So, in the end, I found my dream job. I hope some of what I said here will help someone else find their dream job, somehow. I don’t know how, but I hope it helps.