Games. Unconventionally sharpening your programming skills
Tags: skills, games
Published: 2019-10-07 13:46:21

# Preface
To start off this I want to acknowledge that at our core programmers are all nerds and a lot of us like to play games. Now when I say games, I mean all kinds of games. Board games, tabletop games, card games, video games, and my list will grow as I delve more into this topic. In writing this I intend to explore the different ways that games can help a programmer sharpen skills that are crucial to our craft. On that list of skills I currently have: 
1. Constantly learning
2. Attention to detail
2. Memory
4. Research

And to kick things off lets explore constantly learning.

## The ever evolving profession
One of the first things most people are taught when getting in to programming is the importance of learning and constantly learning. This can easily be attributed to the fact that everything moves so fast in the tech world. We have access to new languages, updates to languages, new frameworks and libraries all the time, and depending on how many you decide to subscribe yourself too that's a lot to keep up with. Fortunately as you might have guessed by the title of this post, I have a solution to help out.

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/mwh9209k85dp0bxoqlkx.gif)

## Lets have some fun
Alright to just cut the cake right away, my point is to just learn a new game. Doing this will practice that whole constantly learning skill I talked about. In doing so you are taking in new information and the mechanics of the game in a similar way that you want to when learning new programming oriented skills. As the main advantage to this, you are practicing this skill while keeping the whole experienced focused on having fun. Doing this can help to avoid burnout when trying to learn a new tech specific skill on a time crunch. To draw the comparison even closer, when learning a new game you start out by just learning the rules and as you play more you start to learn the intricacies and strategies involved (unique to games with depth). This kind of thinking involves a lot of creativity which is just what you want as you get more adept with a new programming language or framework.

## Practice practice profit?
So now you've learned yourself a new game and you've played it a bit, what now? Well the next step is to practice. Play it more, this will cement the knowledge you've gained and maybe even practice some other skills to help with programming (_hint hint future topics to come_). Ultimately this is exactly what you want to do with the more programming specific skills that you tackle. Doing this practice step with those skills will make you a much more valuable piece on a team and individually. Practicing this step with a fun goal in mind can most definitely help to ease the process when you need to learn new programming tools and apply them with a short timeframe.

## End Note
As you might have noticed I have not covered nearly all the topics I mentioned in my preface. Well I intend to get to them and in great detail with some possible examples involving actual games and how they can help more specifically. Stay tuned for those upcoming posts and as I release them I will update each one with a link to the following one. Sneak peak - this was heavily inspired by my recent obsession with MTG and will feature examples from that and more!

![Alt Text](https://thepracticaldev.s3.amazonaws.com/i/9nv48e6lc4cczp2str2n.jpeg)