
Back to "Broken In" this week, Chris Butcher, Engineering Lead at Bungie, talks with us about pushing the limits, getting into trouble
, and prioritizing "truth of code" over and above one's own personal aspirations. If you're deeply interested in what rumbles under the hood of some of the most successful online games in the market today, and you're madly driven to become a top tier engineer in the gaming industry, pay close attention to the insight and advice tucked into the brief question and answer that follows.
Q. Who are you and what do you do for Bungie?
A. I’m Chris Butcher, I am one of the engineering leads here at Bungie and I’m in charge of our future technology direction.
Q. How long have you been in the gaming industry? What did you do before you made games?
A. I’ve been in the game industry since 2000, which is when I started at Bungie. Before that I was working on my PhD in computer graphics in New Zealand. The only job I’ve had before working at Bungie was part-time during breaks from high school and university, when I wrote livestock management and weighing software in assembly and C for embedded Intel 80C196 microprocessors.
Q. What sets Bungie apart from those gigs where you tackled livestock management and microprocessor software?
A. The biggest difference is the quality of the people here. Every single day when I come to work I know that I’m going to see a bunch of amazing work from the people around me, and that challenges me to put forth my very best in response. It’s a great feeling and I love it.
Q. Is there a single moment that defines the Bungie experience for you? What's changed since you stepped into the studio in 2000?
A. The defining moment of my time at Bungie has to be the crucible of shipping the online multiplayer for Halo 2. Work started back in late 2002 when I first diagrammed the design of the network stack on a whiteboard. But it reached its peak in January 2004 when we deployed the first alpha to MS internal testers, and then continued at a hectic pace through the internal beta, the failed delta, certification and RTM in October, followed by the launch, ops support, and autoupdates in November and December. For that entire year we worked as hard as human beings can work, and it was really destructive to my team and my family. But at the same time we achieved tremendous success and created something that had never been seen before. I’m still very conflicted about the whole experience.
The big changes at Bungie since I joined have been in scale and professionalism. We started out as a bunch of young guys in a tiny office, staying up late and working hard but not really knowing what we were doing. These days we’re an organization, we know our jobs and we know how to make games. That doesn’t make it any easier – because we’re always pushing the limits of what we know how to do, so we always end up getting ourselves in some amount of trouble – but we can achieve so much more than we ever could back then.
Q. Considering those experiences and changes inside the studio, how are you able to maintain the same drive and passion you had when you first came up?
A. My passion is for doing cool stuff with technology, and there is definitely no shortage of hardware and software challenges to be solved. As I’ve gotten older that drive has changed in the way it manifests – these days I spend less time at work and I try to be more focused with my time – but I still spend just as much time thinking about the challenges to be solved. I still dream about code architectures sometimes.
Q. If you could issue one ominous warning to whippersnappers dreaming of weaseling their way into the industry and ultimately usurping you from your decadent seat of power, what would it be?
A. Get curious! Drill down and figure out how computers really work, all the way down below assembly into the underlying hardware. As computers get more complicated it’s easy for you to just work up at the highest levels of abstraction without really knowing what’s going on under the hood. But to be a great game developer you’ll need to be able to jump from high level symbolic constructs all the way down into CPU cycles, cache line associativity and bus contention. Jump around and use a bunch of different operating systems and programming languages. Don’t get too settled.
Q. Experience, Work Ethic, or Talent? If you had to settle on one in some kind of bizarre, meaningless hypothetical scenario, which quality would you go with and why is it integral?
A. For engineering, it’s a combination of Talent and Humility. You need to be able to do great work, and you also need to be completely egoless in putting the ground truth of code ahead of your own personal beliefs and desires. A humble programmer who’s willing to be pragmatic will win out over a talented prima donna any day.
Talent and Humility is a good place for us to leave off. Thanks to Chris for spending a few minutes of his time to offer up his own personal tales of days gone by and for supplying tips to those looking to apply their talents in the future tense. If you happen to be in the latter camp, and you're willing to ditch the ego, are prepared to stay humble, and ready for the daily challenges of working at Bungie, check out our
Jobs page. It turns out, we're hiring.