How Video Games Made Me A Better Software Engineer (& Dad!)

About six months ago I left an amazing job at Amazon for a very different, yet equally amazing job at Riot Games. I won’t bore you with the laundry list of factors that went into my decision, but I will confess that one of the many factors was my life-long love of video games. I’m a bit quirky in the way that I play video games because I can’t play a game casually. When I pick up a game, I play purely to master the game and to challenge myself (and possibly my team, depending on the game) to see how good I/we can be. As crazy as it sounds, that constant quest for mastery has taught me a valuable lesson that not only has made me better at my job as an engineering manager, but has helped me to grow in other areas of my life.

Before I hit you with the punch line, let me give you some quick background to help set the stage. As you may or may not know, Riot Games produces a very popular game called League of Legends that pits two teams of five players against each other in a ~20–60 minute battle to destroy the other team’s Nexus before they destroy yours. League of Legends is one of those games that is relatively quick to learn, but takes a lifetime to master because of the complexity of gameplay. Any player can try to work his or her way up the game’s elo rating system, which is broken down into several divisions: bronze, silver, gold, platinum, diamond, master, and challenger.

When I first started trying to climb the elo ladder, I was able to work my way from bronze to silver by just grinding out a bunch of games. As I was playing, I was building my “mechanics” and learning basic concepts that allowed me to improve fairly quickly. As I kept playing, however, my progress stalled out before I was able to hit gold. That’s when it struck me that if I wanted to improve, I would have to actively start doing things to improve. I wasn’t going to get better by just putting my time in, playing game after game, and making the same mistakes over and over again.

That same concept of mastery applies to almost every area of our lives. When I landed my first job as a software developer, I had so much to learn that I could build my development chops by simply doing my job. At some point that ceased to be true and I had to start doing very intentional things to continue to improve. Sometimes that meant seeking out seasoned veterans for some pair programming, and other times it meant changing teams to work in a new domain or with a new set of tools.

IMHO, the hardest part of improving at something is 1) identifying when we’ve hit our natural plateau and we’re just grinding it out without getting better, 2) deciding that we actually want to invest the immense time and energy needed to get better, and then 3) taking some time where we are very intentionally in the “stretch zone” and practicing for mastery. This season I’ve advanced to platinum in League of Legends, and the only way I was able to accomplish that goal was by setting aside a chunk of play time every week where I wrote down a specific goal (which could be something like “die 3 or less times”, or “kill 85 minions by the 10-minute mark”), focused on achieving that goal while I played, and sometimes watched replays of my games to find mistakes and figure out what goals I should set in the future. As an engineering manager, I put myself in the stretch zone by keeping my personal development plan (PDP) relevant and up-to-date, spending quality time learning from mentors each week, reading books and blogs that are written by other managers that I respect, and continually collecting feedback from the folks that I’m managing on how I can be more effective and using that feedback to drive new goals into my PDP. As a husband and a dad, I get in the stretch zone by sitting down with my wife every Sunday evening and talking through how things are going at home and using those discussions to pick a few things to focus on for the week.

There are a lot of other areas in my life where I’m intentionally not putting in the effort to get in the stretch zone and improve, and I’m fine with that because I only have a finite amount of time and focus. I love playing golf and would like to be a better golfer, but right now I’m just hitting the course occasionally and playing for fun. I suspect very few people have the discipline and the mental focus to context switch and really improve at more than about three things at a time.

I leave you with this challenge: Identify one thing that you want to get better at, and come up with a plan to get into the stretch zone at least a few times a week for the next month. Then leave me a comment below and let me know how your experience went. And the next time someone tells you to quit playing video games and do something productive, tell them that you’re learning valuable lessons that apply to the rest of your life.

  1. Nice post, Tyson! Interestingly enough, computer games was one of the reasons why I decided to make software. The exciting thing about video games is that they represent a challenge. Although, I don’t play video games as much as I used to play, the same concept of mastering a skill and getting better at it still applies to many other things in life.

  2. osw

    Hi Tyson.
    This is a very inspiring and helpful post. I also have similar goals to be a better software engineer and to achieve this I set out certain books to read and work with per month. That way by the end of each month, I could say I have learnt something new.

    Great post again!

  3. Menuka

    Nice article. I work as a junior programmer and focusing on being a senior software developer.
    1) identifying when we’ve hit our natural plateau and we’re just grinding it out without getting better, 2) deciding that we actually want to invest the immense time and energy to get better, and then 3) taking some time where we are very intentionally in the “stretch zone” and practicing for mastery. I think now I’m in step 3. I book mark this link and would come again after few months and will give my feedback.

    • Tyson Trautmann

      Thanks, glad that the post resonated with you! Be sure to come back in a few months and check in, and all the best.

  4. Great Post! As a Junior Developer coming from a node environment and just starting to dip my toes into the world of .NET, I feel I’m learning enough on the job to be in the stretch zone…but i’ve been stuck in situations before we’re i was repeating the same mistakes over and over. I totally agree that you have to have intentional practice to get better at anything.

Trackbacks for this post

  1. 1p – How Video Games Made Me a Better Software Engineer (& Dad) | Profit Goals
  2. 1p – How Video Games Made Me a Better Software Engineer (& Dad) | blog.offeryour.com
  3. 2p – How Video Games Made Me a Better Software Engineer (& Dad) – BurnToDVD.com

Leave a Reply