October 2012 marks my 4 year mark at Zynga. I figured it would be appropriate to reminisce on a few Zynga memories. Common legalese here – these are my personal experiences, viewpoints, etc and not those of the company, your results may vary, don’t try this at home, etc, etc… 🙂
In the summer of 2008 I was running my own business. Around that time the economy began to collapse and like most small business owners I saw my sales and profit begin to plummet. I quickly made the decision that I did not have the capital to weather the economic storm and made a decision to look for full time work again. (Boy am I glad I did!).
I submitted my resume to various places and promptly had 3-4 recruiters all contacting me about this little company called Zynga. Hmm, if a ton of people are contacting me about this company – then perhaps I need to look into what they are up to. I set up an interview (for the next day) and quickly began prepping for it. At the time Zynga had about ~70 some odd employees and was located in the Chip Factory off of 7th avenue in San Francisco.
When I arrived at the company no-one was there to greet me, everyone was too busy. After some asking around I was able to quickly hunt down the person I needed to find. We searched around for a good 15 minutes for an empty conference room. As I looked around I realized every room was packed full of engineers and product managers fleshing out problems on a whiteboard, reviewing features, etc. Routers were daisy chained together on tables, several people were sharing desks, carboard boxes were used for furniture, etc… Sound like any other startups you know about?
We sat down and went over some basic interviewing style questions. All pretty normal stuff. Then the interviewer gave me a laptop and told me to program a Poker game for him. Huh? I asked him if he was serious and he said of course he was. He laid out some basic requirements, what the ranking algorithm needed to do, what he wanted to see, etc. Then he asked me if I needed a red bull or soda. I took a can of Coke, he left and I promptly got to work. I made a post a while ago about the Poker Interview Problem. Check it out as it is truly a great way to review a candidates true programming skills.
About an hour or so later he came back to check on me. I described my progress and he quickly left. About two hours later he came back and we began discussing the solution I had laid out. From the command line I was able to present a solution that would deal cards to 5 players, then proceed to figure out what type of poker hand they had and figure out who won. I did not have enough time to account for all types of hand possibilities but I was able to have a good amount.
We then spent the next hour picking apart every detail of my code. Why did I choose this line of code over this other possibility? Why did I format my code in such a why? What was my object and class structure? What performance bottlenecks am I going to run into with this solution? If I could restart the 2 hours what would I do differently?
The questions just kept coming and coming. The interviewers did such a good job of hiding their emotion it was really hard to tell whether or not they liked my answers. I just answered their questions as honestly as I could – no interview prep team could have prepared me for this style of interview.
Looking back – this was honestly one of the best interview formats I have ever had or used. No other format has truly evaluated my real skills. The interviewers didn’t care about random CS questions like “can I reverse a string” (I don’t care – PHP has a function to do that). Instead they wanted to see my code, and dissect every details about my coding abilities. It was truly the best way to get to know me as a programmer.
The interview took place on a friday. Every friday afternoon pizza was brought in. I should have taken it as a good sign when the interviewer invited me up for pizza and beer – but I was too mentally exhausted. It’s probably a good thing I declined because I may have said something really stupid while munching on a slice of pizza.
That evening I went home and chatted with my wife about the experience. I told her it was the hardest interview I had ever had. If I got the offer I knew I was going to take it. Simply because I knew that I would be working with some of the brightest individuals the industry has to offer.
Well – I guess you know how this story ends since I have been here for four years… let’s see what Zynga did.
A few hours after I got home I got a call from the recruiter. They had an offer they wanted to present to me. In fact – they wanted me to start that weekend. Thankfully I had the insight to say that I needed a week to close down my business.
I spent a week with my family, prepared for the upcoming changes and was extremely excited about joining such an incredibly talented team.
Four years later – I do not regret the decision. It has been four years of up and down – but it has been the best 4 years of my career so far.