PROOF: https://i.redd.it/vzoj3bda5hx91.jpg

Hi again Reddit! Our last engineering AMA was super fun and I’m back for more. I’m joined today by our Senior Engineering Manager, Ylan Salsbury (/u/BNG-ylan).

Last year I took on a new role here – Head of Engineering. One of my responsibilities is defining What Good Looks Like for engineering at Bungie. Historically we’ve conveyed that mostly by example, implicitly handing down culture to new hires one interaction at a time. That worked ok because of our moderate size, very long average tenure, and heavy in-person collaboration. However, with our commitment to digital-first and continuing rapid growth (125->175 engineers over the last 2 years and many open roles!), we needed a better way.

So we built a Values Handbook and recently published it on our Tech Blog. It’s not short or punchy. It’s not slogans or buzzwords. It’s not even particularly technical – with the tremendous diversity of our tech challenges, there are very few tech principles that apply across the whole of Bungie. We don’t think the magic of how we engineer is found in brilliant top-down technical guidance - we hire excellent engineers and we empower them to make their own tech decisions as much as possible. No, we think the magic of our engineering is in how we work together in ways that build trust, generate opportunities, and make Bungie a joyful and satisfying place to be for decades.

So yea, we're curious to hear what you think of our Values Handbook and what questions it makes you think of. Also happy to answer other questions. Just like last AMA, I want to shout out to friends from r/destinythegame with a reminder that Ylan and I aren’t the right folks to answer questions about current game design hot topics or future Destiny releases, so you can expect us to dodge those. Other than that, please AMA! We'll be answering as many questions as we can from at least 2-4pm pacific.

4PM UPDATE: Ylan and I are getting pulled into other meetings, but we'll try to answer what we can as we have time. Thanks everyone for the great questions, and thanks to a bunch of other Bungie folks for helping with answers, we got to way more than I thought we would! This was fun, let's do it again sometime. <3

Comments: 413 • Responses: 30  • Date: 

Sentraxx295 karma

There used to tons of cheat codes in old games, why not anymore?

Karnaugh359333 karma

/u/stevenr4's answer is pretty great! TLDR, it's because of the rise of multiplayer and progression, which both put pressure on "game rules should be enforced consistently to ensure fair outcomes and meaningful achievements". Cheats tend to work against that.

You could still have cosmetic or other non-gameplay-affecting cheats but even those can get tricky quickly (e.g. does it change player silhouettes in multiplayer in a way that gives advantage?).

I think one of the most fascinating challenges in game design across the industry is the attempt by a number of games to marry multiplayer, progression, and meaningful user-generated content. UGC brings a lot of the same risks as cheats in terms of invalidating progression - remember e.g. Team Fortress 2 achievement farming maps.

Fun space!

notkevinjohn187 karma

As a software engineer outside the gaming industry (I'm in industrial manufacturing), it seems to me like the industry doesn't really adopt open-source the way that other industries have. Am I just not seeing the use of open-source software in professional gaming studios? Or do you agree that other industries use open-source software more extensively and have things to say about why the gaming industry doesn't seem to?

Karnaugh359218 karma

Ooh fun question. This gets into the specific challenges of the games industry:

  • the goal is to build extremely custom experiences
  • constant pressure on performance (real time simulation!)
  • literally ~50 non-fungible subdisciplines need to work together to make an AAA experience, with a lot of blurry lines between their responsibilities, and many different development styles have sprung up to manage that

All of that pushes pretty hard against modularity, specifically in game clients. That tends to bleed over into content creation tools as well. Some problems have been solved modularly (look up game middleware, e.g. havok), but integrating those modules into your game tends to be very expensive and custom, and you tend to need heavy support to make them work with all your specific use cases, which means you want a company on the hook to support you - it's much riskier to adopt and maintain open-source solution even though it's conceptually a good fit.

Some teams have open-sourced big pieces of game tech (there are game engines, tools frameworks, others) but uptake (esp in AAA) has been limited because of those modularity and support problems.

On the backend/services/web sides, there's a lot more adoption of existing open source pieces (the problems have a lot more overlap with broader tech industry problems), and more potential to invent new modules that make sense to open source. Bungie actually open sourced a (small) piece of our web framework a few months ago, dipping our toes in these waters!

notkevinjohn54 karma

Cool. You didn't mention the one factor I kind of expected you to, which is competition. Do you feel like the competitiveness of the gaming industry is different than the competitiveness of different industries to the extent that it might discourage studios from going with the open source approach, both in terms of bringing open-sources packages into their builds, and in terms of open-sourcing their code to give back to community? Or does that just not play a significant role in the open-source calculus for the gaming industry?

Karnaugh359119 karma

Hehe, I actually had a half-started paragraph about culture and secrecy and competitiveness but i wasn't sure enough of my argument so i deleted it.

I think 20-30 years ago there was more competitiveness and secrecy in games, more of a sense of "protect the secret sauce". There was less info out there, less to reference, so if you figured out something cool there was potentially very high value in keeping it secret. I think that's lightened up quite a lot at this point though - when we talk about open sourcing our code, competition/secrecy doesn't come up that much, it's more about "would this be useful to others, or would it be a reasonably small amount of work to isolate/modularize it such that it would be useful to others?". The answer is usually 'no', especially for client and tools code. The only other concern that comes up with any regularity is "would this give cheaters/hackers any advantages?"

Ultimately the conclusion of these conversations is often "let's share the concepts in a GDC talk or a tech blog article instead, that's way less work and offering an actual open-source module wouldn't be that helpful anyway if someone wanted to integrate it into their own game engine, because of how different all the engines are".

crimiusXIII53 karma

WHAT IS TELESTO'S ENDGAME?

I plan to read over the Values Handbook, tonight. Congratulations! Completing documentation like this is huge, and helps everyone, so thank you very much!

What is the biggest technical challenge you're currently facing?

Karnaugh35949 karma

would love to hear what you think about the handbook. :)

Biggest tech challenge - there's a few! top of mind:

  • scaling up our backend to support (much) higher player counts
  • setting up an in-house game engine (client+tools+services+etc) for sharing across multiple games (and this engine, Tiger, has co-evolved with a single game's needs for over a decade)
  • scaling up our team fast enough to build the games and experiences we want to make without outstripping our ability to train them, manage them well, etc etc.

Sillychuck39 karma

Any chance of reviving Marathon despite it's references in Halo?

Karnaugh35956 karma

Sadly I can't talk about future games, IP management, etc. 😿 <3

LetsAskJeeves39 karma

Hey! Thanks for doing this! Do you feel that Bungies work has had a lasting impact on game design and culture? How would you articulate that impact?

Karnaugh35964 karma

Woooooof this is a huge question!

As Steven calls out, I think we've had a number of impacts by trying to share as much as we can via GDC talks (arguably GDC is the game industry's closest thing to widespread open source sharing, per the question about that!). I think/hope that over the years that's given a lot of people a leg up and reduced the need to reinvent wheels.

I think the wave of shared-world-shooters a few years after Destiny is something of a testament to the influence of Destiny as both a high level game design and an execution. Not throwing shade at those games (tons of fresh ideas, and there were shared world shooters before Destiny as well!)... but there were significant elements that felt like the sincerest form of flattery. :)

I'm not sure about Bungie's impact on industry culture. When I joined in early 2008, I felt like Bungie was more old-school and bro-y than other game studios i'd worked at. I think we've made a ton of progress since then in building a more inclusive culture, but i don't get the feeling that we've been some kind of standard-bearer? Feels more like we went through similar growth as a lot of other people and companies over the same time period. Still lots to do - Bungie in general and engineering in particular is still tilted white and masculine. To quote the values handbook section on Widen Your Perspective:

We acknowledge that the US game industry, specifically including the history and culture of Bungie engineering, has long been dominated by straight white English-speaking cisgender men from North America. We acknowledge that the effects of that dominance persist in today's patterns and practices, continuing to disadvantage or exclude underrepresented groups. We believe it's imperative that we actively identify and root out such inequitable or non-inclusive patterns.

thiccmas_eve38 karma

What do you think of telesto?

Karnaugh35969 karma

It's an excellent demonstration of the strength of the Tiger engine in generating emergent behavior.

It's also kind of a pain in the butt :P

Sentraxx29 karma

What old game would you wish to have worked on and why?

Karnaugh35953 karma

Battlezone) for the PC because I loved that game so much as a kid. I love that RTS + action hybrid space and it's hard to get budget for a game like that these days. Calling down a flotilla of hovertanks and ordering them to charge an enemy position so I could sneak by in my own hovertank... good times.

ShardPerson20 karma

How challenging is it to try to encrypt content in order to prevent datamining and attempt to make secret/surprise missions possible, is it something y'all are actively working on or has the team resigned to accept that dataminers will grab everything as soon as it's in the code?

Karnaugh35935 karma

Surprisingly challenging. We've dug into this pretty deeply a few times - several brilliant people here are passionate about it.

The main challenge is the web of connections between pieces of content. Suppose you want to encrypt a secret mission. Ok... let's tag the world art spaces (bubbles) and the activity itself as "encrypt behind this key that we'll release later". Victory! Except... hm, there are rewards from the mission that we also want to hide, their flavor text contains spoilers. And bits of audio that are managed in a separate pipeline for localization, we should tag those. Oh and then there are quests we've authored that involve repeatedly playing that mission, need to encrypt those too. Oh crap, now there are validation systems screaming at us because we just punched out holes in all these different content sets, which broke references from yet other content sets... we need to change how those work.

Like most things, it's all solvable, it's just expensive, and so far we've concluded that it makes more sense to spend on more cool experiences instead. This all would have been much cheaper if we'd considered it at the system design stage and forced more modularity around things we might want to make secret in the future... but we had a lot of other priorities on our minds back then and didn't foresee the future value of secrets and surprises.

WonderPhil927 karma

So does this outright mean no more surprise missions, or just that the resources won't be spent on them to make them encrypted but they'll still exist?

Karnaugh35918 karma

Ah that’s a fair followup - it just means that thus far we haven’t decided it was worth investing in the encryption. That could change in the future, and I haven’t seen presence/absence of encryption feed into decisions on whether to make secret missions - after all we have other surprises regardless, eg narrative twists, and datamine leaks don’t make us shy away from those. :)

Ipsw1ch18 karma

What’s your view on self-taught vs university grad to become an engineer? Would you prefer one or the other?

ThisIsMyCouchAccount6 karma

Keep in mind that it really only matters - if at all - the few years of your career and starts dropping off very fast.

At a certain point every dev is more "self taught" than not. If you've been working for five years and school was only four - which do you think you are going to pull from more often?

Karnaugh3597 karma

+1 to this. I think students (including me back in the 90s) overemphasize the importance of which languages they learn or which concepts they choose to focus on in school. "I want to be an AI engineer so i'd better take all the AI classes at a senior level!" <-- me, who never became an AI engineer worth a damn.

It can matter more in grad school, especially if you're pushing industry knowledge boundaries in some specialized area, but in general, when you're in school I think there's a high % chance you don't know what kind of engineering you'll enjoy or what you'll be best at. Learn to learn, learn to organize yourself towards goals, learn to communicate. Find an initial role that leverages a skill that you're at least somewhat interested in (this is literally the hardest part). Try to excel at that, and try to push your boundaries beyond that subdiscipline to dabble in other kinds of work. Migrate towards what you most enjoy doing/learning/etc. Profit, hopefully!

Gloomy_Goat_741117 karma

I would love the opportunity to work for a game company like Bungie! Sadly, my training and such have pivoted me into a different type of engineer - Security, Cybersecurity, etc. (I know I can always go back and learn more but that's where my heart is.) My question is, does Bungie or game engineering generally include classically trained Security Engineers? Is that more on the business side? If there is a type of specialization of engineering related to security, what kind of engineering is it, and where could someone start to get an idea to be prepared for that kind of role?

Thanks for any answers and I've enjoyed following Bungie's success over the years!

Karnaugh3595 karma

Lots of possibilities!

  • We have an Infosec team within our TechOps group (reporting to CTO, peer of engineering & test) which is probably the closest match to a cybersecurity background?
  • We have a central tech product security team that is currently looking for a low level security engineer - this is more about analyzing how cheats work, defending windows processes, etc etc.
  • We have hybrid security/gameplay engineers on game teams who act as liaisons to the product security team (PST) - they build certain security-critical features in games, consult on features/decisions with major security implications, maintain the integration of PST security features in their game, coordinate with PST on long term features that would help the game upgrade their overall security posture, etc.

spacecow0516 karma

How do you feel about some other guy pretending to be you in NBA games?

Karnaugh35914 karma

my google nemesis since the 90s. i've mostly given up on beating him. mostly.

raduhs16 karma

What type of interview questions do you usually ask? Design patterns / pseudo code? Ask them to do concrete tasks?

Karnaugh35927 karma

Ooh good question.

First off we try to avoid recall-based or trivia-based questions. We don't care if you know how C++ handles some edge case diamond inheritance silliness. The details you need to do the job changes all the time and we want to know if you can absorb new information and work with it effectively, not that you've memorized a bunch of specific things in the past.

Most live tech questions tilt heavily towards pseudocode - per above we don't care whether you can write correct syntax without a compiler & google. Sometimes language specifics do matter tho and we dig into them a bit (e.g. a question testing whether you understand the challenges of memory management in a threaded environment in C++ would probably include specific C++ code).

We have an async programming test (~8 hours) that does ask candidates to write working code, with access to google, compiler, etc.

We stay away from highly abstract brainteasers (goats and wolves crossing rivers, etc) - we want our problems to have at least semi-plausible linkage to problems you might face in the role... but this gets tricky because it's in tension with using standard questions across many roles, which has valuable benefits (consistent bar, consistent grading rubric reducing bias, tested & proven questions, cross-trained askers enable us to run loops even if a key person is on vacation, etc). I'd say typically an engineer would have 3 tech loops in the final interview phase, and 1-2 of them would be standard heavily-tested problems that we think are good measures of general problem solving ability, and 1-2 would be more domain-specific.

aurismorsus16 karma

My reddit name is from the Trow in the Myth series. Myth and Myth2 were the pinnacle of gaming when I was in middle school. So many good memories and I understand even today they have the Myth World Cup every year. Has there been any consideration given to buying back the license and revisiting that franchise?

Karnaugh35914 karma

I loved them too. So much interesting physics and simulation compared to the more widespread RTSes of the time (ok, total annihilation was pretty awesome there too).

Sadly I can't talk about future games, IP management, etc. <3

Monteven15 karma

Destiny's engine has come a long way from blam! to current day Tiger; I can't even imagine the difficulty of maintaining a live service game for hundreds of thousands of players while improving the experience and tech for many platforms.

What sort of challenges are unique to Bungie with how it's tried to handle these, and are there any times you've looked back on and thought there was a better approach to solving a solution?

From what I've seen the Stadia version of Destiny 2 was written from the ground up with regards to rendering in particular due to it running on Linux deployments. When the tech was being developed + after it was announced that this service is shutting down, what sort of conversations happen(ed) around what would happen to this work? It feels like a huge amount of work to simply leave on the ground, but also is supporting Steam Deck/Linux a worthwhile investment?

More and more companies are beginning to swap from custom engines, despite saying 'their engine is the only one to make this game', and move to more resourced and featured engines such as Unreal Engine. What makes Tiger definitely the best for Destiny? It's client-authoritative approach for networking seems extremely powerful, could you elaborate more on this?

Karnaugh3599 karma

wide-ranging question! Hitting some quick points...

  • looking back on unique challenges: I wish i'd chosen/pushed-for more server authority early on in D2. There were complicated tradeoffs and we aligned on our choices. Over the last 8 years we've migrated more and more authority to our servers and it's been expensive.
  • Stadia-linux port was expensive. However, it's only a small fraction of a true full linux port - it only had to work on one linux distro on one version, one hardware SKU, etc. Full linux also presents security challenges. So far we don't think there are enough players to justify it, vs the other things we could build for players with that time.
  • Steam Deck is pretty different from full-linux, but also presents security challenges.
  • I'm curious about your list of AAA games/series migrating from homegrown engines to Unreal (other than reboots after long gaps, usually by a new studio). :) When we talk with other game devs with similar challenges, they outline similar analyses of the infeasibility of migrating their mature series/services to Unreal.
  • I'd say Tiger is definitely the best for Destiny 2 because it represents thousands of person-years of co-evolved technology and content specifically built to generate the experiences we have today. Given 500-2000 million dollars we could certainly build a sufficiently good facsimile in Unreal, and there'd be long term benefits, but also tradeoffs (having been through many tech migrations over the years that promised enormous benefits in the abstract but turned out much less shiny when initial adoption finished and you compared them to the creaky but rock solid previous system). Ultimately it doesn't make sense to commit that much capital unless you're making a new game, which also dramatically reduces your capital costs because you can adapt the new game to the new tech instead of needing to hit the facsimile bar.

NoSchittSherlockSEA14 karma

In your tenure, have you ever had the chance to implement an Easter egg in any games? Also, how is it decided who gets the opportunity to design one?

Karnaugh35914 karma

I haven't at bungie - there's a process for proposing easter eggs and getting them approved. :)

SlickMaestro11 karma

How long have you worked for bungie? What was the most fun project you've had working there, and what was the most challenging project?

Karnaugh35927 karma

Almost 15 years... the vast majority of my adult life, which is a sobering thought!

Most fun project - probably the post-destiny2 engine development effort - intended for a future destiny game, but was eventually refactored and folded back into destiny 2. The team made huge improvements to the engine which were key to enabling D2 and the D2 team to operate at the scale they are today.

Most challenging project - Destiny 1. "how long should it really take us to make a shared world shooter that hybridizes the best of Halo and WoW?" 😅 I was the networking lead on D2 and we were trying to take the strengths of Halo's networking and adapt them for (a) PvE combat and (b) a massively, massively bigger and more data-driven game. I had a lot of sleepless nights pacing my kitchen trying to wrestle distributed algorithms to the ground. (I like to tell people that game network engineering is like multithreading... except that you don't get any synchronization primitives.) In the end we solved those problems mostly by hiring engineers smarter than me to turn prototypes into bulletproof solutions. 😋

tapo3 karma

What changes were you able to make to the engine? Was it mostly focused on improving content iteration time?

Karnaugh35912 karma

omg so many things. I just peeked at the summary page on the wiki and there's too much to paste here. broad focuses:

  • drastically faster local content iteration for many kinds of content
  • drastically faster playtest/ship build times on the farm, ability to scale to larger content sets
  • drastically improved management of multiple branches (we're always working on 3-4 different branches of Destiny 2 for different upcoming releases or key features)
    • e.g. we built content merging so that a content file changed in two different branches could keep both changes instead of throwing away one and requiring a human to try to fix it up.
    • e.g. automatic integrations between branches with thorough automated testing
  • complete revamp of how we author activities (missions, strikes, pvp, etc) to shift more authority to the server and give designers more power and flexibility - trying to raise the ceiling on activity variety
  • ... 30 more smaller things

mikeblas7 karma

Why did you write this document and what purpose is it meant to serve? Is it meeting the goals you have for it?

Karnaugh3598 karma

great question!

for why we wrote it, i'll quote the handbook intro post:

The natural osmosis of culture has been compromised, so we need to get better at intentionally integrating people into our culture—at reliably helping everyone get to that shared baseline where they move beyond fitting in and start to feel like they belong. Where they move beyond learning Bungie culture and start helping us grow it. To do that, we need to be able to describe our culture with fresh clarity. Of course, documents don’t make a culture, people do—but we all need to know what we’re working towards.

To tackle that challenge, over the last few months we built a v1 of an Engineering Values Handbook to describe how we want to live Bungie's Values as engineers.

For whether it's meeting the goals, it's early days but signs are positive:

  • a decent percentage of candidates are telling us they read it and it resonated with them
  • we're finding it a useful reference for offering growth guidance for folks who want to get better at collaboration
  • it's provided a helpful framework for aligning on behavioral expectations when people are uncertain - e.g. just a couple weeks ago we added this based on a discussion of some dilemmas that had some up:

We share credit generously with our team
True solo projects are rare – even a single engineer’s work usually involves code reviewers, testers, team leads, and shepherds.
When presenting our work, we share credit generously, especially in high-visibility situations like an all-hands or a studio announcement, e.g. “Last quarter we built this feature” or signing an email “Love, Activity Systems & Workflow Team”.
We share high-impact gratitude, e.g. replying to an unusually impactful thank-you by cc:ing our team and saying “Thanks for the kind words, it was a team effort!”.

MyKillYourDeath6 karma

Hello! I’ve spent the past 10 years working in an industry that I realized I don’t want to continue in for the rest of my professional career.

As such I’ve decided to go back and finish school for a degree in computer science.

What kind of roles could this degree apply to at bungie?

My dream jobs are either bungie or bethesda so this would really help out. Thank you!!

Karnaugh3593 karma

from a comp sci degree you could apply to basically any associate engineering position, as well as production engineer positions, associate tech artist, test engineers, SDETs, technical product managers... heck i think 25% or so of our designers have computer science degrees (tho they usually also have design portfolios of some kind even at entry level). :) Comp sci is pretty useful.

jakelear5 karma

Big fan of the values y'all have put together, and I especially appreciate the awareness about how "values as brand marketing" can seem inauthentic. I'd love to hear about how these values play a role in your teams' development and growth. Do you have a growth framework for engineers that encourages/supports them in living these values?
Also, one thing that is really interesting and compelling about Bungie is how many of your folks have long tenures - obviously y'all are doing something right when it comes to retention. I'm wondering if there are any specific things you credit about your culture that leads folks to stick around, or tips you would have for building such a sticky organization.

Karnaugh3595 karma

What drives stickiness...

  • the bulk of it is exactly the stuff that's in the values handbook, especially the 7 posts unpacking the 7 values. Things like empowering engineers to make their own decisions. Ensuring that we carefully evaluate impact and reward for it rather than biasing towards loud/confident/visible people. Quickly managing out leaders who make their people unhappy. Rooting out patterns of interaction that cause negative emotional experiences, and redefining them. (e.g. 5 years ago we discovered code reviews were occasionally hives of negativity and stress and we established strong guidelines)
  • Heh, i'm struggling to come up with something that's not in the values handbook, and i think that's actually a good sign, because that's sort-of the whole point of the values handbook - it's literally our attempt to encode what we think is critical about our culture in order to make & keep Bungie a place where it's joyful and satisfying to work.

jakelear3 karma

Thanks for both thorough answers, and congrats on shipping the values - it's always a big challenge to try to distill down what makes your org special into written word and I think y'all did a great job. Transitioning to a remote org and growing rapidly automatically puts some parts of the culture at risk, so I think it's really great you're being proactive about enshrining it.

Thinking about it more, I imagine one thing that might be outside the scope of the values that helps make it a really sticky org is the scope of the technical challenges - there's so much novel stuff that is happening in Destiny (and I'm sure now in Bungie Central Tech) that provides engineers with an endless pile of compelling things to work on.

For anyone here who hasn't seen it and is interested in the networking tech behind Destiny - this GDC talk is excellent: https://www.youtube.com/watch?v=Iryq1WA3bzw and for rendering magic this talk from aaalllll the way back in 2013) at SIGGRAPH was a great, early look at some of the tricks to get D1 rendering well on old consoles and it's always interesting to see what has been pulled forward from other games (Halo:Reach in this instance), though I imagine a lot of it is out of date now - https://advances.realtimerendering.com/s2013/Tatarchuk-Destiny-SIGGRAPH2013.pdf

Karnaugh3593 karma

Oh, that's a good callout, yea that reminds me of a couple things that support stickiness that are separate from the handbook (and are arguably elements of culture):

  • bungie's purpose is meaningful to many of us - to create worlds that inspire friendship
  • as you say the tech challenges are exciting, some of the biggest and most unique in the world
  • there's a self-reinforcing element of stickiness - if a lot of people have been here a long time, they want to keep staying because they have so many friends here
  • the high visibility of our games is meaningful to a lot of us. It feels good to see your work bring joy to a large audience. Feels like we get to make/support/fix/upgrade/operate things that matter.
  • same thing with the high engagement of our playerbase - we make things that many people think it's worth caring deeply about. It's a point of pride that the destiny subreddit has more subscribers than fortnite's.

Karnaugh3592 karma

Ooh a values handbook question, thanks /u/jakelear. :)

Growth framework for engineers - yes!

  • we have "job profiles" that define core expectations of engineering roles. E.g. there's a job profile for "L14 software engineer", which is the typical out-of-college entry level, and another for "L16 software engineer", which for us is a Senior Engineer.
  • we have a capabilities framework that defines most of the skills we think help engineers have impact, and typical expectations of those skills for each role/level. This is helpful in building goals - you and your manager often review the capabilities that are expected increase between your current level and the next one, and brainstorm which of those would be most valuable for you to grow & how to approach growth.
  • we have a people development (a.k.a. performance reviews) process that is quite deep and growth-focused, and has been that way for over a decade. At least once a year we do a full review of everyone in the company. Each person's manager prepares a summary of accomplishments, growth areas, and any level change recommendations. Building this summary involves conversations with their report, significant feedback gathering from others, and the manager's own judgement. The manager then presents the summary to a group of related managers, senior managers, directors, and discipline leaders. (typically 8-15 listeners) That group works together to calibrate level and offer growth advice. There's a lot more to the process, and ultimately it produces outcomes that i'm pretty confident in (far better than anywhere else i've worked, where often the best way to get a promotion was to threaten to leave).
  • the manager takes growth advice from those discussions and has a goals discussion with their report, where they align on upcoming focuses and the most promising growth path towards wherever the report wants to go next with their career. This is reflected in a Goals doc that contains a summary of expected roles & responsibilities (super valuable for aligning on time spends), a list of short term goals, and a list of long term goals. We do NOT hold people rigidly accountable for achieving these goals - they're an alignment tool, not a checklist of KPIs for your next review. Things change fast in our business and we want people to be eager to adapt without worrying about their personal review commitments. These goals docs are reviewed by the manager's manager to broaden visibility, mentor our managers, and give everyone the best chance at growth that we can.
  • regular manager/report 1:1s are required in all cases

It's very important to us that Bungie be an excellent place to grow your career in games, and that you feel confident of being recognized for your impact without the need to self-advocate or play politics.

whoa this got long, ima move the stickiness answer to a separate post :)

fredandlunchbox3 karma

Hey guys, thanks for doing this. I’m a senior dev at an ML/AI company. I’ve often thought it would be fun to work in gaming, but the horror stories of the industry have kept me away. Is it really as bad as they say? What would be a good reason for someone make the switch into gamedev beyond just loving games?

BNG-ylan4 karma

I personally believe that just like any other industry there are bad and good studios. You can discover a lot about a company during the interview process. Remember you're interviewing them as much as they're interviewing you, and you want to ask questions that are going to give you the information you need to decide if it's a company you want to work for.

Regarding working in games, I get to work with an amazingly diverse pool of experts across a number of disciplines, and that's an opportunity I've not really seen in other spaces. So I work in games in spite of loving games more than because of it, and it's really the people and talent that keeps me here. 💜

fredandlunchbox2 karma

Agree that games are some of the most sophisticated software in existence. It takes an incredible amount of ingenuity to make these things work at 150fps. If you love code, gaming code is some of the most elegant.

Karnaugh3593 karma

Hm is elegant the word? :) That's interesting. Sometimes it is for sure.

The thing that comes to mind more often for me is "holy crap, i didn't think it was possible to make that work with all those constraints, at that speed, at that quality"... but elegance does often sacrificed to do that, especially large-scale elegance. Individual code snippets are generally very high quality, very elegant, but the way things are linked together to create experiences tends to get wild west.

rgb2093 karma

Hi David, Head of Engineering for a financial company here. Bungie's Engineering Values Handbook really resonates, especially in these digital times with a remote workforce. Culture used to be defined during in-person conversations in between meetings, and now those touchpoints need to be redefined. Three questions: 1) are the values in a particular order on purpose? 2) which of the values have you found to be the easiest to adopt, and which is the most challenging? 3) how do reward and recognition fit into the values? Thank you for doing this AMA!

Karnaugh3592 karma

  1. the high level order is just inherited from Bungie Values - we just unpack them in that order. Within each value, the unpacking is semi-ordered, sometimes there's a logical flow between the points, and sometimes the order is arbitrary.
  2. I think player experience first is probably the easiest, it mostly fits what people want to do intuitively. Strong Ideas Loosely Held is probably the hardest, it asks for a lot of vulnerability and it often feels like you're fighting your own deep pre-programming.
  3. there's some recognition guidance in there, e.g. freely sharing when we're excited or impressed, but we treat rewards as basically orthogonal from values. We run a systematic compensation system aimed at a certain percentile of the compensation market (we don't pay as high as e.g. facebook, but we pay higher than most companies). We don't really tie rewards to specific work (there's a Spot Bonus program but it's relatively small and new, not something people pursue) - you do the best you can to help Bungie succeed in your role, we comp you for your role/level pretty much the same as everyone else at that role/level, and our performance management and goals process tries its best to recognize and guide growth (and try to mentor people through the tough cases where someone isn't meeting expectations in their role, and in the worst case part ways).

awesome question, thank you!

raduhs2 karma

How'd you end up in the position of head of engineering? And could you give tips to etiquette that can help lead into getting promoted into a better position?

Karnaugh3592 karma

Well, I wanted it, applied for it, interviewed for it, and was offered it. :) At that point I was the destiny 2 engineering director and i was excited to put more of my focus into people/process/culture. All of my previous promotions at Bungie I was offered because the company wanted me to step into those roles.

tips is an interesting question...

  • be easy to work with - don't be a jerk, don't be always a downer, try to get to know people and find things in them that you find authentically interesting, try to help people when you can
  • be honest
  • be reliable - make commitments, and if you aren't going to deliver on something you committed to, say so, don't let the surprise come when someone asks you where that thing is
  • be conscientious. Be the person who sees something wrong that you're not strictly responsible for but tries to fix it anyway.
  • be humble but speak up - acknowledge that you may be missing context but share your thought anyway. Don't be too afraid of being wrong. If the group makes you feel bad for being wrong that's not a good group.
  • be vulnerable. Don't be afraid to acknowledge your mistakes and be wrong in front of your team. You're not perfect and pretending to be sets a bad example, making everyone else think they should be pretending too.
  • figure out which better position you want, talk to people who are currently doing it, try to get involved in their spaces, try to build related skills. In leadership roles you usually have some discretionary time - try to focus it towards the role you want next (or towards the work you're most passionate about - that often works out the same way in an org that does well at recognizing and leveraging strengths).
  • learn to delegate and practice practice practice. Delegating frees up your time to focus on new skills, offers useful growth/training to your reports, sets you up with more well-trained successors, and makes it easier for the company to absorb you vacating your current role. I think this is really really hard, it's probably the thing i'm worst at as a leader.

it's possible to take all of these things too far - e.g. being too accommodating of others, killing yourself to make commitments, sharing information that hurts others or that disrupts change management plans, jumping on a series of problems that aren't yours instead of making progress on your important commitments, talking too much and gaining a reputation for being annoying and/or low signal-to-noise, etc. There's a lot of subtlety in here that you have to tune with experience. A mentor (ideally your manager, could be others) helps a lot - they can help you tune so much faster.

Ultimately if you want to be promoted in the tree of management/leadership positions, you have to be someone people trust to be in charge of that higher level responsibility. Ideally they're also excited about what you can do in the role, but trust is the foundation. Think about what makes you trust someone with responsibility and try to embody those things. Talk with your mentor, a lot. Be patient.

this is all based on my limited personal experience (again most of my adult life at bungie) - i bet the best advice at a big tech company would be different, let alone for startups or non-engineering-leadership roles. good luck!

Toy_D1 karma

Edit to add an intro: I work in an entirely different industry. Other than some gaming specific items, I could plagiarize this whole thing.

I really like your handbook! I’d be curious if you can share some insight on how you translate these on down through the first line managers. How do your performance metrics align to your handbook? What do your employees do to align to these values?

In essence I think my question is, these sound great, what steps do you think matter in bringing them to life?

Karnaugh3592 karma

Ooh great question.

We have an onboarding process for new hires (in groups) where we run them through some of the handbook, give them a few weeks to read it, and then reconvene to make an upgrade to the handbook together based on their suggestions from reading it. That helps align people initially.

We have a culture section in our goals process to encourage people and their managers to think about how they're trying to support the behaviors in the handbook or otherwise upgrade Bungie as a place to work.

Performance metrics for engineers are really really hard and we mostly punt on the problem and rely instead on deep feedback-informed and group-aligned subjective evaluations (see my comment elsewhere about our people development process). This evaluation definitely rolls in handbook behaviors in that behaviors inconsistent with the handbook frequently come up as growth areas and promotion-blockers. We take teams are stronger than heroes seriously - if someone isn't working with others in the way we're all trying to, that's career-limiting.

We reinforce the handbook by sharing updates to it periodically in our monthly all-hands meetings.

Managers often pull from the handbook when they're hunting for growth advice around how someone is behaving or collaborating.

When someone is frustrated with someone else's behavior, the handbook gives them a point of reference to try to figure out why they're specifically frustrated, and can help them articulate their feedback in a constructive way ("I felt hurt by Y and i'm sure your goal was do X instead" - it helps you articulate the positive version).

All that said, maintaining relevance is a challenge for anything like this and i don't think we're on firm ground yet. <3