Skip to main content

2023 Recap

· 9 min read
Brock Davis

This week I migrated my site from Vercel and NextJS back to Docusaurus and Azure. As I was doing it I had to fix some formatting issues on my 2022 recap post. As I was reading it I thought it would be interesting to do another post of my 2023 review.

DISCLAIMER: Everything I am writing I am writing as Brock Davis and not as a representative of said company. These are my personal views and do not reflect that of the company in which I speak of :)

Did I meet my game development goal?

I ended my 2022 post stating that I wanted to learn more about game development and had a goal of publishing a game and create blog posts as I went along my journey. I failed in both of those, I did not finish making a game and I only posted one article. However, I did get a job in game development, at this little game called Minecraft.

Changing jobs... again

Minecraft, the number one selling game of all time. Not of a certain year, or decade but all time. The amount of people that play this game, and on how many different devices is absoutely insane. Now I find myself leading a team responsible for a decent chunk of the "engine" tech. I put engine in quotes because, it is more complicated than that. So how did I find myself in this role? Luck, passion, preperation, and more luck.

Deciding to leave AWS

AWS is an interesting place. You learn an absolute ton, you are surronded by super smart people, who are loaded with passion for what they do. They also have a very perculiar culture. It is for some folks and not for others. There is a lot I like about their culture (e.g. writing documents, disagree and commit, engineering excellence) and there are things I did not like (e.g. RTO, stack ranking employees). My decision to leave was almost entirely driven by their return to office (RTO). I have been remote since 2020 and have led teams and shipped products/feature at WarnerBros. Discovery, Microsoft, Disney, and AWS. I can argue that my productivity increased exponetially as did my happiness being remote. So when AWS said I had to go back to an office n number of days a week in Atlanta when my team was in Seattle, it made absolutely no sense. It is their right as an employer to change the arrangement, just as it is my right as an employee to leave if I no longer like the deal. So that is what I did.

Applying for a job in game development

Game development as a career was no where on my radar. The first time I considered it was when I saw an opening at Microsoft at 343. I decided to apply thinkning that there was no chance I would be considered. Much to my surprise, a recruiter reached out and I took the screening call riding in a car with my father-in-law while I was under a jacket to block out the noisy rain storm outside. I did not think I would get move to the next step. I did. Which I guess they could tell my passion or something, no idea. At any rate I dove deep into game development to prep, I even made a (pretty crappy) game to show how quickly I could ramp up. The interview loop came and went and I was rejected. During the process though, I met some pretty incredible people (shout out to Michael Romero) who were nothing but nice and encouraging. Call it fate or luck (I will call it God helping me out), but the team I was interviewing for ended up getting hit pretty hard with lay-offs. If I were to have gotten the job, I may not have a job at all right now. I had put game development jobs on the back burner and went back to my usual roles, engineering manager roles at Microsoft, Google, Cox Media Group, and a few others.

Mojang

During my final loops at Cox Media Group and a few at Microsoft there was an opening at Minecraft. I had not been an avid player of Minecraft, other than with my kids, but I absolutely love the idea behind the game, what it inspires, and the sandbox genre. The role was for engineering lead for Gameplay Systems. If you search for what that means in game development, it can be a lot of things. I asked the hiring manager (spoiler alert, now my boss) which of the things it meant, she said Yes. Yes, it was all the things. I interviewed, was super honest about my lack of game development experience but stressed my passion for leading teams, engineering fundamentals, and shipping things that delight customers. Long story short, I got an offer that was considerably less than what I was making at AWS and accepted.

Why I accepted a salary less than what I was getting at AWS was pretty straight forwawrd. The people on my loop were clearly passionate about the product, super welcoming, and seem to be genuinley invested in me during the interview loop. There is a certain salary mark that I budget my life for and everything else is icing on the cake. Also, now that I have been at several companies, two of which are the biggest tech companies, I know the culture of Microsoft and love it.

If you ever get a chance to work at Microsoft or Mojang, just do it.

What have I learned this year?

I have learned a ton this year but here are a few highlights.

Money is not everything. It's something but not everything

I am not even going to pretend to say the paycut did not suck. It did/does. I am not going to blow smoke and say, money is not important. It is, I have two kids and a wife that need said money to survive and thrive. However, what I got by changing jobs was:

  • Continued work flexibility, I am still remote and hopefully will not change
  • Better benefits, I could do a whole post on this, but Microsoft benefits are just better thatn AWS if you are not in Seattle
  • A company that appreciates me and all I bring. I feel really comfortable at Microsoft sharing that I am a dad, I am a Christian, and all the other things that make me, me. That is super valuable to me.
  • A leadership chain that seems to really care about its people. Where I am now I can saynthat every single rung on the org chart ladder seems to have a genuine care for folks. I have so much confidence in my leadership chain that I cannot put a dollar amount on

All that is to say the things I got by coming back to Microsoft, even with a pay cut I feel it was worth it. Now if my boss or my skip level(s) read this, I still would not mind more dollars :).

Game development is not THAT different from other development

I have been working on Minecraft for about 8 months now and what I have noticed is that a lot of the things my team is working on is not game development specific. There are things you need to know about game development to be effective, sure, but the problems are problems of scale, tech debt, clean code, better interfaces, tooling, etc. These are problems I have worked on at just about every other place I have been.

More and more, games are no longer a ship it and done. They are games as a service, they need to be maintained like any other service. Be mindful of technical debt, think about the engineers that will have to work on it in 5 years, think about the scale of today and 10 years from now. This is a pretty easy concept for software engineers to understand but it is a new state of mind for the game industry and veteran game developers. So things that I have taken for granted, I have found myself having to teach folks concepts that are more common place on say an Azure team or someone in Office. This actually works in my favor because I am surronded by super talented game developers who can fill the massive knowledge gap I have while I show them some of the things I know. It all plays really well into Microsoft's growth mindset. Did I mention I love the culture at Microsoft?

Engineering Fundamentals are hard

When you grow a game organically from Java, then explode in popularity, port it to every known device including Raspberry Pi, you are going to have some tech debt. When you are working as fast as you can to ship new things to keep eyeballs on your game because competition is intense, it is hard to keep fundamentals in mind.

I have spent the better part of my time at Minecraft teach my team and org about process. How you should do technical spikes and desing documents to validate assumptions. That architecture at PR time is too late and prone to problems. The great thing is everyone agrees this is a good idea, the hard thing is building a muscle. The hardest thing is, for someone like me who has had to do this for years, having patience and empathy for folks who are learning this for the first time. I will probably do a deep dive into my learnings and share more but if folks are interested, there is a great playbook (that I am proud to have contributed to) that I think all teams should read.

What now?

I still have a metric ton to learn about game development. I am working to achieve this by still working on a game on the side while also asking as many questions as possible of my team, peers, and org. I won't make any grand statements about publishing a game or anything like that in 2024, but I do hope to write a bit more about my learnings. Happy new year everyone!