It’s true. More than the title, D&D led to me becoming a software engineer. In 2015, I was four years out of college and sporting a degree in Exercise Science. I worked as a personal trainer at large gym but my real passion was playing and studying D&D at every opportunity. Before long, I jumped the gym ship and joined a sports technology startup as a customer service rep.
Fast forward to mid-2018 and I accepted a job offer from that company to become a software engineer. Plenty happened during those years but those are stories for another time. This is about how D&D has made me a better software engineer.
As players in Dungeons & Dragons complete quests (kill monsters, find treasure, etc), they earn experience points (XP). Once they collect enough XP, they gain a level. This is a significant achievement. They learn new tricks, get new tools and their skills increase.
This parallels software engineering (and much of life). I started as an apprentice — my first quest! I had the attitude of an adventurer but the skills were weak. Thanks to my adventuring party (a squad of engineers, a QA, a designer and a PM), I had solid mentorship. It was like a level 1 D&D character getting to adventure with a handful of level 5 characters. I knew the opportunity was rare and I was going to take advantage of it. I absorbed what they could teach like a sponge. I picked up buckets of experience and started the climb towards level 2.
D&D sharpened my learning mindset. As a player, you’re always looking for ways to gain loot, levels and prestige. As a Dungeon Master, I was always looking to make my game better. New tools and tricks can help you with preparing and running a game so you can focus more on the players. This attitude carried into software engineering.
New tools, libraries and extensions can enable you to better focus on the work and ultimately, the user.
That learning mindset extends to research and reading. As a Dungeon Master, I consume everything. I’m reading a dozen articles a week, at least. I’m also diving into resources looking for the remove tools and tricks.
Software engineering abounds with research and reading. You need to keep up with the latest technologies that interest you. You’re using Google and Stack Overflow a dozen times a week (or more), looking for answers. Luckily, I was well prepared.
Inspired Open Source
As a DM, I read published adventures, sci-fi/fantasy novels and watch movies and television. I’m always looking for inspiration for my games. I’ll create NPCs (non-player characters) and locations based off of what I’ve seen in media. I’ll reuse plot-lines. Sometimes, I’ll use something from media in its entirety, changing nothing.
Loads of creatives have created wonderful content. It saves me time by reusing it in some capacity in my game. And I know it’ll be good because it inspired me in the first place.
Software engineering is full of open-source code. People solve problems in elegant ways and share it for others to use. You’d be silly to write 100% of your own code these days. Instead, you pull their frameworks into your project and build on the shoulders of giants. Same as D&D. It’s easy for me to find elegant code that solves my problem and reuse it.
Actions and Consequences
When characters choose a course of action, the DM has to decide on and narrate the consequences. They can be as simple as charging a character a fine. Or as far-reaching as a political uprising, worlds away.
When an engineer introduces a new class/method, it can have large implications. Thankfully, D&D has prepared me well. I enjoy thinking through the ripple effect of consequences. Many engineers don’t consider the consequences when introducing new code. I’m constantly thinking:
- What are the current implications of this decision?
- What are the future implications of this decision?
- Who does this affect?
- Who would have knowledge and feedback around this?
Thinking through a code change or plot decision can prevent problems. It can reveal opportunities.
Master of Words and Worlds
D&D is all about communication and collaboration. You don’t get the luxury of playing in a bubble by yourself. You play with other people and build stories together. As a player, you need to communicate with your party. When you don’t, you have to deal with the consequences. As a Dungeon Master, you need to communicate the rules, story and world in a clear manner to the players. A DM with poor communication skills will quickly run into problems. But that’s the beauty of it. Running D&D makes you a better communicator every single session.
Hiring a software engineer that knows the relevant technology is easy. Hiring one that can communicate and collaborate is much more difficult. These “soft skills” are much more sought after in software engineers. The reason is simple. If the best software engineer in the world is an asshat, I don’t want them on my team.
D&D to the rescue! Again! Running D&D gave me the confidence to communicate my ideas with purpose. I’m now used to taking control of a table full of people to bring things back into focus. I’m used to painting a picture of my ideas with words (or at least trying). I’m used to clarifying hard and fast rules for those that have questions. I can get a group of people on the same page. And it’s all thanks to D&D.
Software engineers need to communicate their ideas with teammates and listen to feedback. They need to inform stakeholders of relevant changes so they’re understood completely. You work with code some of the time. But you should be working with people all the time.
These are just a few of the powerful ways that Dungeons & Dragons has made me a better software engineer. I’m sure there are a dozen more. If you haven’t played D&D, what are you waiting for?
If you enjoyed this, please consider buying me a coffee.