Engineering Values Handbook – Keep it Fun

2022八月2 - Destiny Dev Team

(Not sure what this post is about?  Check out Living Bungie's Values as Engineers.)

Keep it Fun

Knowledge workers no longer have to accept a working environment that isn’t excellent. As individuals, this is an enormous privilege that we try to recognize. As Bungie, it gives us an imperative to actively drive our culture to be fun to spend time in. If you’re going to spend a large fraction of your waking life working, we believe work should include not just satisfaction but frequent and authentic joy, and we believe your work should be structured to support joy elsewhere in your life. How can we tilt the floor towards that in how we behave with each other?
We praise when we’re impressed and show enthusiasm when we’re excited.
  • We treat recognition of achievements as a positive-sum game.

“For code reviews I started leaving little comments just calling out cool stuff: “Nice catch!” “I love how you’re avoiding code duplication with this,” “What a clean interface!” etc. Someone messaged me indicating they really appreciate the little pick-me-ups, and they’ve been doing it in their code reviews now too. It’s nice to find little compliments in one of my reviews. Also, on occasion I like to send encouraging notes to people when I notice them seeming discouraged, especially if I’ve worked with them and am familiar with their capabilities.”
     Wylie Flournoy-Earnshaw, 2018-

We strive to be empathic and fair with criticism.
  • When we find a flaw in a plan or a code review, we present it gently, without condescension, and with awareness of the emotional impact on the recipient.
  • We avoid demagogic point-scoring—leveling rhetorical attacks that sound compelling but are actually oversimplified, deceptive, or nitpicking.
  • We don’t try to look like the smartest person in the room, especially if it's at the expense of others.
  • We avoid being pedantic unless the more detailed point is truly important in context—when someone else says something simple, we default to assuming that they understand the deeper nuance, rather than defaulting to challenging them for not including it.
  • When something goes wrong, we seek opportunities, not blame.

We prioritize work/life balance over maximum delivery.
  • We avoid systemic or recurring crunch—officially-requested crunch is a tool we use sparingly to solve unexpected problems, but it indicates a planning failure and we seek to prevent it from recurring. In addition, we should regularly reinforce our expectation of escalation and mitigation whenever someone feels implicit pressure to crunch due to a work overload.
  • We intentionally discourage the emergence of crunch culture—managers should proactively help their reports with work/life balance and leaders should model healthy patterns of prioritizing their own mental and physical health.
  • We always push people to take all their earned vacation.

“Before working at Bungie, I never really took vacation. It felt like there was always so much to do, and the culture was competitive and focused on achievement. At the end of my first year at Bungie, I was stunned when my manager at the time, Luke Timmins, pulled me aside and was like “Hey, you haven’t taken any vacation, are you ok?” Across over a decade as my manager, he never let me lose vacation to a rollover cap or expiration. When I think of all the life experiences I’ve had and the relationships I’ve been able to nurture with all that time away from work, I’m so grateful, and I want to pay it forward.”
     David Aldridge, 2008-

We don't take ourselves too seriously.
  • Everyone at Bungie should feel approachable and challengeable, regardless of their achievements or credentials.
  • We think making room for a little silliness and fun helps us all be more creative and creates more safe space for everyone to be themselves. What can this look like?
    • Silly memorable codenames during small-group discussions.
    • Animal, food, etc., error codes instead of raw numbers.
    • Finding moments of humor and joy, even (especially) when stakes are high.
    • Sharing quirky things in your life with others.
    • E.g., for a few years, Destiny's branch management plan was called Plan Flaming Pole Saw, so-named for being a more dangerous variant of Plan Chainsaw.
    • E.g., Destiny 1’s retail/live branch was called Live. We needed a mirror of that branch for various use cases (essentially double-buffering ship vehicles). What should the mirror of a Live branch be called? Evil, of course.
  • We strive to keep the zone of acceptable behavior from quietly contracting to a professional but boring and sterile core, while also being welcoming to all.
  • We aren’t looking for homogenized "corporate fun,” we’re looking to unfurl and celebrate our delightful weirdness together.

  • “When we moved to remote work with the pandemic we saw much less of each other, so we started having a second team standup every day just so we could have some more face time with each other. In this second standup, we encourage everyone to take a moment to talk about their life outside of work: how things are going, games they’re playing, stresses, accomplishments, whatever. We’ve had a couple games sweep through the team as a result—someone talks about a new game they’re playing, others try it out and then talk about the game in later standups, even more people try it out, etc. In our main standup we also started a dumb but fun pandemic tradition of the last person speaking trying to end each standup with an alliterative au-revoir (Everyone have a wonderful Wednesday, eventful evening, tantalizing twilight, etc.).”
         Wylie Flournoy-Earnshaw, 2018-

    “I mean… I watched two people parkour around inside the office my first week there… never found out what that was about!"
         Julie Keele, 2018-

    “Back in 2013 I was working on the “bootflow” of Destiny with a producer on the team. The bootflow encompasses all the logic between when you launch the game and before you actually select your Guardian. It’s stuff like checking for a controller, looking at the player’s permissions on their console, connecting to the backend, downloading needed patches, etc. So a lot of things can go wrong, and we needed a high-level way to identify errors as well as something that was easy to report (either in a bug or online via player support).
    We talked about how numeric error codes were hard to remember and easy to misreport, so we brainstormed other options. We joked about, “well what if it was something like fruit” and started laughing, then were like, “Wait, why not?”
    We got a few of the error codes hooked up, and a few days later I overheard Leland Dantzler (IIRC?) telling someone something like, “I can’t sign in, and there is a new pop-up message saying #Buffalo?” I jumped in with, “Buffalo! I know exactly what’s wrong!” and we started laughing. I think we probably have a hundred different fruit and animal codes in Destiny now!"

         Luke Timmins, 2001-

    “During the last pre-pandemic Pentathlon, I was working on my Puzzle Hunt team and we went to solve the final puzzle. The puzzle was in our mocap studio, but it was all dark and there were a bunch of what looked like Cold-War-era machines blinking and beeping. It looked like a control room from an old James Bond film or something. The best part is they were actually functional for the puzzle, and you had to enter sequences and flip switches in order to solve the final puzzle (which my team did. FIRST!). I was just really amazed at the care and detail that went into this one part of a fun company event."
         Adam Pino, 2013-

    “Back when the designers were coming up with Ruinous Effigy we had a meeting to discuss the technical implementation of the gun. As the designer described the effect of the gun (turning enemies into throw-able spheres), I had the horrible image come to mind of an Eliksni being magically crushed/compacted into a gurgling ball that then landed on the ground with a sickening sound somewhere between a crunch, squish, and a splat, before rolling away… like a meat marble. I shared this imagery in the meeting and thus was born the moniker. We’ve since referred to it on the sandbox team as the meat marble gun."
         Wylie Flournoy-Earnshaw, 2018-

    “As we approached the launch of Destiny 2’s Season of the Splicer in May 2021, we realized we had a problem. Some important data for some players was in a state it shouldn't be, and it was going to cause serious issues when the release went out unless we could fix it first. The root cause was an error in an earlier release that occasionally subtly corrupted data. We implemented a fix, but in local testing, we realized it only fixed part of the problem, and left the data incorrect in a new way. We convened a triage group to discuss our options. People in the meeting were stressed—data issues are a very big deal, and our fix wasn't on track. A key deadline was closing in. Whatever we tried next, it had a good chance of requiring weekend work from several teams. We needed to lay out the options clearly, and the room needed some joy, so together we adopted this framing:
    • Plan Fly: live with the original issue – although bad, it wouldn’t cause any player data loss so it was survivable.
    • Plan Spider: apply the partial fix we had built and live with its consequences.
    • Plan Bird: apply the Spider and follow it with a new fix to clean up the remaining issue a few days after launch.
    • Plan Mutant Spider: Fix up the Spider and use an elaborate and careful process to execute it on our production data far more quickly than we normally could, in time for the Season launch.
    We agreed to go with Mutant Spider—and it successfully ate the Fly and self-destructed as planned! When meetings about seven-figure financial impacts are calmly using terms like “Plan Mutant Spider,” and everyone involved gets a little grin—that’s part of the Bungie I love."

         David Aldridge, 2008-

See you next time for value #7 – Put a Dent in the Universe!

-Bungie Engineering

Want to work at Bungie?

We’d love to talk with you. Here are some of the tech roles we’re hiring for, with many more on our careers page!