I have been playing tabletop roleplaying games intermittently for many years and, more steadily, in the last year. I have played mainly Dungeons and Dragons, but also 7th Sea, Call of Cthulhu, Vampire: The Masquerade, and different one-shots.
Recently, my Dungeon Master(DM) gave me a kit to get started as a DM, and I was so happy. As a result of starting as a game director, and already having experience as a player, one day I reflected on everything that the role was giving me when it came to being a better programmer. And, actually, there are quite a few things.
As a player
1. A united party wins together
Most role-playing games are cooperative. There are indeed some games in which you end up betraying your colleagues, like in the last one I was in, but in general, its objective is to solve a problem together, defeat an enemy, save someone... So Knowing how to work as a team is super important, a fact that has great value in a development group.
In the same way, trust in these games is essential. There may come a situation where you are the only person entering a room... and you are beaten unconscious. To begin with, the fact that you were brave enough to go into the unknown is because you know that the other characters are not far away, and if something happens to you, they will come to help you. And to continue, once you are on the ground, you must trust that the right decisions will be made and come to your aid.
And this trust that you rely on is what you must also show when you work with others. After all, no project comes together with the effort of just one person, so you have to believe in your kind colleagues, that they will do their job to the best they can and will speak up if they don't see themselves capable of doing something.
2. Can someone heal me, please?
Related to this, knowing how to ask for help when needed is a powerful skill, and roleplaying teaches you how to do that. We should not be ashamed to ask someone to assist us, cure us, or guide us. In the end, the important thing is that we all arrive together and no one is left behind.
On the contrary, we must also know how to ask for help when we really need it. It may be that our cleric does not always have spell slots to heal us or the people working on our project may be exhausted if, when faced with any problem, we ask for help. Virtue lies in balance.
*3. Each character has their race and class *
In role-playing games, not all characters are created equal. Each one has their race, their class, their abilities, their spells... Just as in real life, each person has their strengths and weaknesses, and each one can contribute to a situation.
In this way, you learn that everyone has value and that you have to leave room for others to shine and resurrect someone; throw a lightning bolt, or deliver a sword blow that splits the enemy in half. There is enough space for everyone and if your strength is not healing, let someone else do it.
4. Do I continue attacking or retreat?
One of the most in-demand skills of people who work in technology, indeed, is knowing how to estimate. And it turns out that it is something super important in these games. When you face a strong opponent, you have to be able to, with the history of attacks you have received and how damaged the opponent seems, see if he deserves to take the risk and continue to attacking or, on the contrary, you should make a tactical retreat.
In the world of development, it is exactly the same, with the tasks that you have been carrying out throughout your life, you must be able to calculate how long, approximately, it will take you to do something.
5. Is it my turn now?
Sometimes sessions can go on for a long time, especially if someone is not very clear about what they want to do or if they have recently leveled up and now have different skills. In these circumstances, it is important to have a little patience. We all need different reaction times or we may simply be in a situation where it is more difficult for us to make decisions or assimilate what is happening, and that is completely normal.
And not only working with others, we must also be patient with the person we see in the mirror. We don't always find the most optimal solution the first time, or we don't have a good day, or we don't understand the documentation easily, and that doesn't mean we're worse, it just means we're human.
6. Are you OK?
When you are in the middle of a fight and suddenly they give you 35 points of damage, that may be nothing... Or it may be on the verge of death. These situations require a little empathy and good communication.
Communication is one of the most important elements in a well-functioning team, as is knowing how to interpret others' signals. Maybe that person doesn't tell us "I have two HP points left" but tells us that "he's not feeling very well", and in real life, it's usually similar. We should all be a little more direct: if something is hard for you, say it openly. Nobody is going to judge you. However, it can be difficult for us to be honest, and in these situations, we should try to be a little more empathetic. Maybe if that person looks like he's been tearing his hair out for an hour, he needs a hand to get out of his pit of despair.
7. This chest has bitten me
Some games have different themes: horror, comedy, science fiction... Within one game some sessions are more about combat, conversation, investigation, with more or less interpretive parts, and... in the end, as in real life, you must learn to adapt to the team you have to work with, the circumstances and the technologies with which the projects are made: adapt or die.
As DM
Lastly, being a Dungeon Master has also taught me some very useful skills.
8. Preparation, preparation, and preparation
As a DM you are going to have to improvise a lot since you can never know for sure what the people playing in your game are going to do. However, the best way to improvise is usually to have prepared and organized; having read or created everything possible about that universe; know what the campaign maps are like; have on hand the images and stats of possible NPCs...
In the work environment it is usually very similar: maybe they call you to a meeting and tell you vaguely what the topic is going to be about, however, if you take a look at the related code, at the user stories, or the Figma, I'm sure concluding will be faster since you'll have more context. Likewise, correctly describing each meeting, issue, or task makes your work easier.
9. Go for it!
Yes, being prepared is great, but not everything you have done beforehand will always help you. However... you are the person running the game, so go for it: if you make a mistake, no one can tell you anything because you could turn them into a frog and that's it.
Sometimes you have to take life as if you were the DM, take courage, and propose that wonderful idea you have in your head. It will surely be a good contribution, and if not you will learn something from the comments of others or have a laugh. If you are the person giving feedback, remember that they can throw a fireball at you and be nice.
10. Because I'm the DM and that's it
As a DM you learn to lead a team and manage tasks and expectations. There will be times when players want to enter through the window instead of the door and you simply won't be able to let them because it can't be opened period. However, there will be other times when they will make a beautiful case for why they want to get into the building that way and you will end up letting them sneak in that way. Being a Dungeon Master is a give and take, and being a good programming person too, since we are not always absolutely right and we must be able to listen to others and value their proposals.
Conclusion
Play tabletop roleplaying games. It's cool and you learn things.
And if you already do, thank your DM for all the work they do (thanks Yu Lu, Jordi and Azucena <3). Seriously, you don't know how many things you have to do before a session until you start being a DM.