Breaking In - Aaron Lieberman
Bungie is building a brave new world in Destiny – and it’s bigger than anything we’ve created in the past – or the future. To build anything, you need tools. That’s where guys like this prove themselves to be invaluable…
Who are you, and what do you do at Bungie?
I’m Aaron Lieberman and I see myself as a builder. At Bungie, I’m the Content Tools Team Lead. The primary job of my team is to build the software that our artists and designers use to make the game. We build the world editor, Grognok, the toolbox editor, Bonobo, and a chunk of the content pipeline system, among other things.
Beyond the esoteric names that we give our custom tools, can you give us a sense for what they do? Or how we use them?
The closest analogue to the type of software we make would be 3D Studio Max or UnrealEd, but it’s not quite a perfect comparison. To make building the words in Destiny possible, the engineering team is building such a crazy amount of new technology. Unless our artists and designers have a way to put it into the game, it doesn’t do anyone any good. My team writes software so the artists and designers can make the game beautiful and fun. Making tools is, in my humble opinion, the best job on the development team. You get to get your fingers in every single area of the game, and work with everyone in the studio.
So, you’re a man who craves the center of the storm. When you’re not helping us assemble our cathedral in this hurricane, what occupies your sunny days?
My wife and I have two young kids, so that’s how I spend the lion’s share of my time once I leave the building. Other than that, I’m really into rock climbing, photography and snowboarding. And I really love to write code. I’m always working on a programming project on the side. Last but not least is video games. XCOM: Enemy Unknown GOTY.
Way back when you were at the tender young age of your two young kids, what did you picture yourself doing as a “grown up?” (Granted, at Bungie, the term applies loosely.)
Easy one. I’m one of those few lucky people in life whose childhood dream came almost exactly true. I wanted to make games since our Atari 2600 broke from overuse and I was introduced to Mario. When I stumbled upon a book on Applesoft BASIC in 5th grade, I knew I wanted to be a programmer. After that, it was just a matter of time.
But how you spent that time must have been pretty crucial – and therein lies the lesson for bright, young kids with similar dreams. Let’s start with your education. From your experience, what’s one way that an aspiring programmer can get their learn on?
I went to the University of Illinois (UIUC) and got a BS in Math and Computer Science. I got a great education there and learned so much stuff - both academically and otherwise. I hated CS theory for the first couple of years, but I had this ridiculously awesome professor my junior year and came to love discrete mathematics (the basis of computer theory). The theory is so important, I use it every day. It’s hard to explain, but your way of thinking is different if you get the theory.
This is all flying right over my head, so I’ll take your word for it. Fast forward, if you will, to some of your first gigs as a computer scientist.
After college, I went to Microsoft to work as a developer on Windows. While there were some good things that I liked there, I just wasn’t excited about the work I was doing. That year, I became an expert in PostScript. (Geek note: did you know that PostScript a Turing-complete RPN language?!??) When a job came up to write code to test the servers on the newly formed Xbox LIVE team, I jumped at the chance. I was really fortunate to be part of the amazing Xbox and Xbox LIVE launch teams. I learned so much in those three years in Windows and Xbox. If I had applied for Bungie before learning what I did from those years, I just wouldn’t have been ready.
Readiness is the secret to surviving the Bungie interview loop. How did you convince us that you were prepared to face the trials?
I’m not completely sure, but I think it was two things. The first was that I had skills in technologies that Bungie was interested in at the time. I love to learn new things, so I’d built up some experience in a really broad range of stuff. If you’re decent at C++, that’s pretty awesome. If you also know some C#, databases, web programming, scripting, servers, networking and security then you have a significant leg up.
Secondly, I knew a guy. I went to school at UIUC with Roger and interned with him at Microsoft. When I saw the job posting at Bungie and saw that Roger worked on that same team, I emailed him to ask him if Bungie was a cool place to work. He replied immediately, “Those *******s sent me to Texas for 3 months in the blazing hot summer to help ship Halo PC! Other than that it’s awesome.” I imagine he put in a good word. So I guess the trick there was in building relationships.
Relationships make the world go round, but even that staunchest ally will leave to sweat it out in the interrogation chamber on the day of your interview. How did you weather the heat?
I tried to keep cool. I didn’t want to seem like a huge fanboy and blow my chance at the job, so I acted super professional. When Harold asked me, “Do you play games”, in my head my answer was “I play Halo all the time! I have an extra set of network cables, hubs and controllers in my car to make it easier to LAN party! And I play other stuff too!!” but instead I said “yeah… I guess I play some games.” Turns out that this isn’t really the right answer to give a company who prides themselves on “making games we want to play.” I think I earned my cred back a little later when I went on a 10 minute rant about how [a game I played] was almost perfect, except for some mistakes that could have totally been avoided were made on the implementation side. So much for playing it cool.
We prefer smart to cool. Actually, at Bungie, smart is cool. With that in mind, what’s the “coolest” thing you do for a living?
Making artists’ and designers’ lives better. I love it when a fellow employee tells me that the game is going to be so much better because of some work that my team did.
You can’t build a living world without tools. We use them every day. To give our readers a window into our virtually windowless compound, pick a day, any day, and give us some flavor for what life is like on the Bungie team.
Here’s an hour-by-hour recount of a recent Tuesday: Arrive at 8. Try to catch up on email. Visit the coffee machine and run into [a teammate] on the way there. Discuss how we’re going to overcome some challenges for an hour while sipping coffee. Back at my desk, try to finish an improvement to data caching. Instead, I spend most of my time talking with various people who come by my desk to collaboratively work through solutions to a couple of technical problems. Join my team for our daily team standup. Actually finish that data caching thing, test it, check it in and fire off a build. New hire (free!) lunch. Back to work, finally catch up on email from the last day. Meeting with [another teammate]. It’s our weekly one-on-one today, so we head over to Starbucks for an hour to discuss how things are going. Once back at the studio, chase down a few people to finally solve a workflow problem relating to how we’re going to make it easier to make shader variants. [Yet another teammate] and I discuss some subtle performance implications of phase/offset functions with several members of the Special Operations and FX teams, and how we’re going to mitigate them. Write up notes for the conversations from throughout the day and email all interested parties on what decisions we came to.
All in one day? It sounds like there’s no rest for the Content Tools team. How does Bungie keep you so committed to the excellent work you do?
My initial answer was “I love to be able to work on solving complex problems and write code all day, just being able to do so and get paid for it is the greatest perk” but that sounds like marketing-speak so my final answer is “Rock climbing wall!”
That’s much better. Dirty things like marketing are up to another team, so we prefer it when you keep it real. While we’re being honest, what has been your finest moment at Bungie?
At the end of Halo 2, just as our now legendary crunch was beginning, the User Interface wasn’t in good shape. There were too many bugs and the features weren’t going to be done in time. They asked my manager and me if I could come over to the client engineering team to help to finish the UI. It felt really good that they felt that I could make a difference in this area, and that the engineering team saw the UI as a bigger challenge than what I was working on at the time. Then, a year into Halo 3, it was realized that the UI needed more people again. They came to my manager to see if I could lend a hand. Being asked once felt good. Being asked again, after they knew what they were getting, was even better.
Always leave them wanting more. What are some of the things you do to make sure that your fellow developers ask for you by name?
I’m always reading about new tech online. I follow some blogs, listen to a bunch of programming podcasts and write code whenever I have free time. What I believe is most important is that I try new stuff whenever I can, always looking for the bleeding edge. Instead of doing something the proven way that I know works, why not try out a different, new way? Sometimes it pans out, sometimes it doesn’t. But I learn something every time.
I also love to discuss tech with my friends that are geeky. I talk about management with those who are consultants or businessmen, and I always get plenty of feedback on how to improve my social skills from my wife, a psychologist.
If you ever want theatre training, you know where I sit. It’s an invaluable skill, with unexpected applications to our quest for world domination. Since most (in truth, almost all) of our readers are likelier to be more interested in what you do, give them some advice for how they can retrace your footsteps.
Learn learn learn. Focus on the area in which you want to be an expert, and learn everything there is to know about it. Then practice. It’s cool to start small, like watching the videos on Khan Academy. Making mods to existing games is great. In fact, it doesn’t even matter if it’s a game you’re working on or learning about, just do your thing and do it a lot.
When it comes to putting the right tools in the hands of an artist or a designer, which is more important: Experience, Work Ethic, or Talent?
I can’t rank them, they’re all essential. One thing that comes to mind though – experience isn’t just professional experience. Some people have projects they work on outside of work and that definitely counts.
Aaron is needed back on the construction site, so we will keep him no longer. We have a lot to build – more than ever before, in fact. The team atop those scaffolds needs better and newer tools to reach the stars. If you want to build tools like those, you can take some super good advice from Mr. Lieberman. If you see yourself more as someone who wields the tools he creates, you can find those varieties of advice in the Breaking In archive.