When you play a multiplayer game over the Internet, an explosion of code rages through the tubes that connect you to every other player in the world. Our developers make this pastime easy for the gamer to enjoy. Creating that experience, and making sure those tubes don't rupture during gameplay, is anything but easy. The servers that host your never-ending battle are tested like bomb shelters. To learn more about those proving grounds, we can talk to this guy…
Stop where you are! Who are you, and what do you do at Bungie?
My name is Ryan Cooper. I’m working as a Senior Engineer in Server Tools and Test. My role is unique in that I straddle the boundary between Engineering and Test. Our team’s primary goals are to make sure everything server-side works and you don’t see any errors when we launch. On the scale at which Bungie works, this is a very, very scary task. To ensure that we are successful, I develop tools that enable us to simulate traffic to stress the server system while it is in development.
We’ll explore the depths of your very worst fears in a moment. First, let’s talk about the happier moments in your life. When you’re not confronting the demons that lurk within netcode, what might we find you doing?
Gaming, cooking, wandering aimlessly around Redmond…
That sounds like a nice balance. Gamers gotta eat and get some exercise, after all. Describe for us the aimless wanderings of your career prior to putting Bungie on your resume.
I bounced around the Xbox teams as a Software Development Engineer in Test for just under 7 years. I filled many different roles for many things – testing or leading teams that were testing billing, parental controls, data analysis, security, friends lists, parties, matchmaking, system updates, networking, drivers, file systems, etc. It was quite a bit of fun, and I learned enough to work in just about any area. This came at the expense of extensive knowledge in any area, but it made me fearless when walking into new areas. I am still not sure if that is a good or bad thing.
Did you always dream of being an ambassador between Testers and Engineers? What did you imagine you would be when you grew up?
Game developer. What can I say? That made certain life choices really easy for me.
That’s it? People usually confess to long-lost fantasies about becoming superheroes or celebrities. With such a singular path laid out before your younger self, how did you prepare to walk that walk?
I got two degrees in Computer Science from WashU (not to be confused with UW, WWU, George Washington University, or any university located in Washington State or Washington DC). There, I learned all the basics I still use almost every day.
That sounds like a great foundation. How did you build on that in a way that would make us want to bring you onto our team?
Well, besides the long resume… The Xbox team and Bungie have a long history of working together to produce features. I had helped out on a couple of Reach requests before coming here. On top of that, over the years, I had gotten to know a few people who were now working at Bungie.
Did you curse their names once they helped you schedule an interview? We’ve heard a lot of horror stories about the inquisition that we use to get to know our applicants.
I was actually very ill on my interview day and had roughly three hours of sleep the night before. I ended up taking some twelve hour medication just before I started interviewing to hold off my symptoms. The interview had been set up for weeks and I was not going to get another chance for a while if I missed that one. I was very determined. The engineering interviews are tough and maintaining focus was hard given my state of mind. However, it did give me one advantage: I could not physically get nervous because of how tired and loopy I was. Fortunately, it worked out for the best.
Your secret about performance enhancing over-the-counter drugs is safe with me, and everyone else on the Internet. Having made the cut, what’s the best thing about being on the team?
For me, Bungie is a place where you are given problems to solve not solutions to implement. Being trusted to design and implement solutions to the problems you are presented with and having them improve the lives of the other people working at the studio is very rewarding.
I was really tempted to say that playing on the winning team for the newbies in Call of Duty during the Pentathlon was my finest moment.
The CoD Captain from Team Newbie would agree, but the Bungie Pentathlon is a rare day in our lives. Take us through the paces of a more regular day at Bungie.
Get in, check for free food, check mail, go heads down for 2-3 hours until lunch (occasionally have a meeting before/during lunch), have lunch, go heads down another 5-6 hours (maybe take a coffee break in the middle), go home. In crunch, add to that list: have dinner, go heads down for another 3+ hours.
That sounds like a lot of time with your nose to the grindstone. Do we do anything special to make that life more livable for you?
Scheduled crunches. I know it’s odd that I list that as a perk, but I’m horrible at saying no to work. At Microsoft, it got to the point where a General Manager came into my office and told me to go home. Our production schedule has improved my overall quality of life tremendously, because it is predictable and defined well in advance.
Spoken like a true Engineer with a flair for Test. Within the logical structure that we cultivate for you, is there something you have accomplished that makes you exceedingly proud?
Having a large chunk of what I considered to be test code getting reused for production code has been pretty satisfying. Where I worked previously, test code was test code, never to see the light of day, ever. I have been informed that appropriating test code for production purposes is a tradition at Bungie.
Another tradition at Bungie is challenging our people to get better at what they do. How do you engineer new skills for yourself?
I have no fear in using new technology if it fits my problem. I don’t see education as inefficiency. I dive in, find the issues, and fix/work around them as necessary.
For a guy who spends all day tackling very scary tasks, you sure do sound like a man without fear. What would you tell an aspiring developer who considers themselves to be equally brave?
Be passionate, develop something that proves your passion that you can show off, keep educating yourself, don’t make excuses for why you don’t work on your passion, and don’t be afraid to work around the edges for a while to get in if that’s what it takes.
You’ve managed every unit of stress that I manufactured for this interview, Ryan. Thank you for taking the time to educate us about the many roles you have played over the years. This last question is easy: Experience, Work Ethic, or Talent? Rank them in order of importance to your role.
All are important. For my particular role, experience comes first, then work ethic, then talent. I’ve learned quite a few hard lessons over the years, and my experience prevents me from having to relearn those lessons. That is important because my role can easily generate tons of “throw-away” work if I am not careful. Over the lifetime of the project, it allows me to get much more done. Work ethic comes after that, because servers don’t decide to fail on a schedule. And finally talent, because when you are having server issues at 3 AM, it’s best to resolve them as quickly as possible.
Ryan has a lot of work to do, so we’ll cut him loose to return to it. Testers and Engineers practice some crucial disciplines that enable Bungie to turn out kick ass games. In the coming months, we’ll need
many more of both. If you would like to know more about the trades that we seek at Bungie, our
Breaking In archive has a variety of stories preserved for your reading pleasure.